Excelスプレッドシートでマクロを実行すると、実行時エラーが発生します。
1004指定された範囲を使用してコマンドを完了できませんでした。
選択したデバッグと強調表示されたコードは次のとおりです。
Selection.Subtotal GroupBy:=5, Function:=xlSum, TotalList:=Array(6, 7, 8, 9, _
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23), Replace:=True, _
PageBreaks:= False, SummaryBelowData:=True
他の場所を見ると、これは通常、選択されたセルがないときにソートが試行されたことを意味します。
ただし、強調表示されたコードの直前の行は次のとおりです。
SubRange.Select
そして、これら2つの直後の2行は基本的に同一であり、シートの異なるセクションを並べ替えるだけです。
SortRange.Select
Selection.Sort Key1:=Range("E4"), Order1:=xlAscending, Key2:=Range("A4") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
違いはSortRange.SelectとSubRange.Selectで結びついていますか?
テストでは、数値を含む特定の列がテキストとしてインポートされた場合と一般としてインポートされた場合にエラーが発生することがわかりました。列データは数値ですが、先行ゼロがあり、数学的に操作することはできません。したがって、Excelの適切な方法では、テキストとして扱う必要があります。
これを診断するために私がすべきことはありますか?
Subrange.Selectの後に次を追加するだけです。
Selection.NumberFormat = "@"
サブレンジをテキスト形式に設定します。