列を削除し、簡単な輸出をソートするためにしようと、私はエラーを取得しています:トラブル - 列の削除や並べ替え
Run-time error '9': Subscript out of range
私は2番目最近作成したブック上の基本的なマクロを実行するたびに。
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
オリジナルのワークブックは6列を持っていた、私はマクロを記録するためにやったすべては、(情報の各ビットは、視覚的にフィット怒鳴るように、ダブルクリック)自動各列に合わせ、余分な列の3を削除してみてくださいました最後の列でブックをソートします(最小から最大)。
新しいブックでマクロを実行すると、エラーメッセージが生成され、最後の列で並べ替えが実行されません。余分な列とスペースを削除することは完璧に機能しているようです。
新しいブックには、「QueueDetail_20160802_150124」というシートがありません – cyboashu
StackOverflowへようこそ、Aquilam。ここにあなたが始めるためのいくつかの指針があります:(1)[selectの使用を避けようとする](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba -macros)(2)[コードを完全に修飾する](http://stackoverflow.com/documentation/excel-vba/1576/common-mistakes/5110/qualifying-references#t=201608022225226090252)、 'ThisWorkbook.WorkSheets ( "A:A")EntireColumn.AutoFit'の代わりに、列( "A:A")、EntireColumn.AutoFit'の代わりに、 "QueueDetail_20160802_150124" (3)細胞が選択され、シートが活性化される(選択されない)。 – Ralph
cyboashu、現在開いているワークブックの中で実行するコードを変更するにはどうすればよいですか? – Aquilam