Des Versuch, Spalten zu entfernen und einen einfachen Export sortieren und ich erhalte eine Fehlermeldung:Ärger mit grundlegenden Makro - Entfernen und Sortieren von Spalten
Run-time error '9': Subscript out of range
jedesmal, wenn ich die grundlegende Makro ausführen auf einem zweiten kürzlich erstellte Arbeitsmappe.
Sub ONCE()
'
' ONCE Macro
' export and prep an ONC list
'
' Keyboard Shortcut: Ctrl+e
'
Range("A:A,B:B,F:F").Select
Range("F1").Activate
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").ColumnWidth = 8.29
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Columns("C:C").Select
ActiveWorkbook.Worksheets("QueueDetail_20160802_150124").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("QueueDetail_20160802_150124").Sort.SortFields.Add _
Key:=Range("C1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("QueueDetail_20160802_150124").Sort
.SetRange Range("A2:C35")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("D4").Select
End Sub
Die ursprüngliche Arbeitsmappe 6 Spalten hatte, alles, was ich die Makro aufzeichnen tat, war 3 der zusätzlichen Spalten entfernen, Auto jede Spalte (Doppelklick, so dass jedes Bit an Information visuell paßt unten) passen, und dann versuchen, Sortieren der Arbeitsmappe nach der letzten Spalte (vom kleinsten zum größten)
Beim Ausführen des Makros auf einer neuen Arbeitsmappe wird eine Fehlermeldung generiert, und die Sortierung wird nicht in der letzten Spalte ausgeführt. Das Entfernen der zusätzlichen Spalten und Abstände scheint jedoch einwandfrei zu funktionieren.
weil Sie in Ihrer neuen Arbeitsmappe kein Blatt namens 'QueueDetail_20160802_150124' haben – cyboashu
Willkommen bei StackOverflow, Aquilam. Hier sind ein paar Hinweise, die Ihnen den Einstieg erleichtern: (1) [Versuchen Sie, die Verwendung von select zu vermeiden] (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba -macros) (2) [qualifiziere deinen Code vollständig] (http://stackoverflow.com/documentation/excel-vba/1576/common-mistakes/5110/qualifying-references#t=201608022225226090252) und schreibe 'ThisWorkbook.WorkSheets ("QueueDetail_20160802_150124"). Spalten ("A: A"). EntireColumn.AutoFit' anstatt nur 'Spalten (" A: A "). EntireColumn.AutoFit'. (3) Zellen werden ausgewählt und Blätter werden aktiviert (nicht ausgewählt). – Ralph
Cyboashu, wie kann ich den Code ändern, um in der geöffneten Arbeitsmappe ausgeführt zu werden, in der ich mich gerade befinde? – Aquilam