Kezdőlap › Fórumok › Excel programozás › [Resolved] Autómatikus makró indítása
Ennek a témakörnek tartalma 3 hozzászólás, 3 résztvevő. Utolsó frissítés: verax 2 hónapja, 1 hét telt el.
-
SzerzőBejegyzés
-
2020-12-16-14:16 #8048
Sziasztok!
Mi lehet az oka, hogy a “Module1” be probléma nélkül futó makró a ThisWorkbook-ba nem fut, hibaüzenetet ír ki.
Köszönöm2020-12-16-15:34 #8049Szia!
Talán tudunk segíteni, ha látjuk.
– A makrót
– Az üzenetetImre
2020-12-17-08:12 #8050Szia!
Természetesen, csak elsőre nem akartam …
Private Sub workbook_open()
‘
Windows(“CONT_HALE_kiadott_feladatok.xlsx”).Activate
Cells.Select
Selection.Copy
Windows(“penzum.xlsm”).Activate
Sheets(“Reggeli legyűjtés”).Select
Range(“A1”).Select
ActiveSheet.Paste
‘
Sheets(“Reggeli legyűjtés”).Select
Columns(“B:B”).Select
Selection.TextToColumns Destination:=Range(“B1”), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Columns(“J:J”).Select
Selection.TextToColumns Destination:=Range(“J1”), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=TrueCells.Select
ActiveWorkbook.Worksheets(“Reggeli legyűjtés”).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(“Reggeli legyűjtés”).Sort.SortFields.Add2 Key:=Range( _
“J2:J9999”), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets(“Reggeli legyűjtés”).Sort.SortFields.Add2 Key:=Range( _
“M2:M9999”), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets(“Reggeli legyűjtés”).Sort
.SetRange Range(“A1:N9999”)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range(“A1”).Select
Sheets(“Munka1”).SelectEnd Sub
A hibaüzenet pedig: Run-time error’9 Subscript out of range
Ja és kipróbáltam a windows/sheet helyett a workbooks / worksheets verziót is. Az se jó.
A feladat egy adatállomány másolása egyik munkafüzetből a másikba majd rendezése. Az elakadás minden esetben a munkafüzet / lap váltáskor van.Köszi
2020-12-17-13:47 #8051Szia Nagymedve!
A ThisWorkbook kódlapjáról csak a “this workbook’s sheets” (saját munkafüzet lapjai) érhetők el. Azért ír out of range üzenetet, mert túl akarod lépni a hatásköröd (saját munkafüzet lapja helyett idegen, külső munkafüzet munkalapjára hivatkozol).
Ez a korlátozás a modulokban elhelyezett kódokra nem vonatkozik, ezért lehetséges abban a környezetben a probléma mentes futás.
Azt a szándékot, hogy a penzum.xlsm megnyitásakor (Open eseményre) önműködően lefusson az adat importálás, úgy is megoldhatod, hogy a ThisWorkbook kódlapjára csak egy, másik makrót meghívó eljárást helyezel:Private sub Workbook_open
Call Aatgyujtes
End subés az adatimportot és rendszerezést végző makrót a Modullapon írod meg.
Sub Adatgyujtes()
…
End Sub
üdvözlettel
verax -
SzerzőBejegyzés
Be kell jelentkezni a hozzászóláshoz.