Wpis z mikrobloga

Majstry, mam makro do otwierania importowania danych z innego arkusza do aktualnie używanego. Da się dodać po wybraniu pliku okienko, w którym wskażemy nazwę arkusza z którego dane mają zostać zaimportowane? Na ten moment w makro "na sztywno" podaję nazwę arkusza
Sub makro()
Application.ScreenUpdating = False
Dim myFileName As Variant
my
FileName = Application.GetOpenFilename(FileFilter:="Excel Files,*.xl*;*.xm*")
If myFileName <> False Then

Workbooks.Open Filename:=my
FileName

Set Owb = ThisWorkbook
Set Nwb = Workbooks.Open(Filename:=myFileName)

End If
Zeszyt = ActiveWorkbook.Name
Sheets("Arkusz1").Activate
Cells(2, 1).Select
Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(50000, 33)).Copy
ThisWorkbook.Activate
Sheets("Makro").Activate
Cells(2, 1).Select

Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks

:=False, Transpose:=False

Application.CutCopyMode = False

Nwb.Close False
Owb.Activate

Application.ScreenUpdating = True

Sheets("TEST").Activate
MsgBox "ZAIMPORTOWANO POZDRO"

End Sub
#excel
  • 2
  • Odpowiedz
@amn1337: Albo inny sposób, spróbuj dodać jakiś prosty UserForm i dodać do niego ListBoxa, który będzie zapełniany nazwami arkuszy za pomocą tego kodu:
Private Sub UserFormInitialize()
Dim N As Long
For N = 1 To ActiveWorkbook.Sheets.Count
ListBox1.AddItem ActiveWorkbook.Sheets(N).Name
Next N
End Sub

Następnie po wybraniu interesującego Arkusza jakiś przycisk, który będzie sczytywał zmienną za pomocą kodu:
Private Sub CommandButton1
Click()
Dim ShName As Variant
ShName = ListBox1.Text
Sheets(ShName).Activate
End Sub
  • Odpowiedz