私は何千もの列を持つExcelシートを持っていますが、そのうちのいくつかを選択したいのですが、それぞれに列番号があります。特定の条件を満たす列を選択する方法はありますか?例えば、数字が50,70,120,154,200の列。2000列のExcelファイルからそれらを選択する方法は?そこにはマクロがありますか? ありがとう列番号に基づいてExcelシートから特定の列を選択できる方法はありますか?
答えて
union
を使用して複数の列を選択できます。私はちょうどそれがどのように動作するかをあなたに知らせるために短いマクロを作成しました。
Sub select_columns()
Dim myColumns, myColumn(1 To 5) As Range
Set myColumn(1) = Columns(1).EntireColumn
Set myColumn(2) = Columns(3).EntireColumn
Set myColumn(3) = Columns(5).EntireColumn
Set myColumn(4) = Columns(7).EntireColumn
Set myColumn(5) = Columns(9).EntireColumn
Set myColumns = Union(myColumn(1), myColumn(2), myColumn(3), myColumn(4), myColumn(5))
myColumns.Select
End Sub
@Wujaszkunに感謝します。少数の列を選択したいのであればこれはかなり良いですが、let's 50 columnsを選択したい場合、コードはかなり長くなります。 –
@Data Miner - これは単なるサンプルコードでしたが、最終版では、CLRが答えてくれたように、より柔軟にし、何らかのループを使って 'Union'に列を追加したいと思うでしょう。 – Wujaszkun
- あなたはあなただけの1行の列番号を指定して、繰り返しのコーディングの必要性を取り除くためにできるようになる次のことを行うことができます:
Sub select_columns()
Dim myColumns As Range
myColumnNumbers = Array(1, 5, 9, 13, 17) '.. and on and on..
ReDim myColumn(UBound(myColumnNumbers)) As Range
For Each c In myColumnNumbers
If myColumns Is Nothing Then
Set myColumns = Columns(c).EntireColumn
Else
Set myColumns = Union(myColumns, Columns(c).EntireColumn)
End If
Next
myColumns.Select
Set myColumns = Nothing
End Sub
ワンわずかな警告で、列番号(または最初の列番号)を繰り返さないでください。これは、連合がリセットされるためです。
EDIT - 最初の列番号が繰り返されている場合は、コードを改善して(少なくとも問題を引き起こさないように)修正しました。
ありがとう@CLR。すごく良かった。 –
- 1. 選択値に基づいて配列から選択オプションを設定する方法はありますか?
- 2. MATLABの行番号に基づいて行列から項目を選択
- 3. 特定のID番号に特定の列数を選択する方法は?
- 4. 共通の識別子に基づいてExcelスプレッドシートから特定の列をプログラムで選択します。
- 5. データベースから電話番号に基づいて選択
- 6. あるシートから別のシートにデータをコピーするときに、特定の列のみを選択する方法はありますか?
- 7. 特定のユーザー選択ディメンション番号に基づくサブアレイ
- 8. 列と行の選択に基づいてExcelテーブルから特定の値を選択する方法を教えてください。
- 9. 列基準に基づいてVBAコードを使用してExcel上で特定の範囲のデータを選択する可能性はありますか?
- 10. Excelシートから特定の行と列を取り出す方法は?
- 11. 行の値に基づいて列を選択する方法
- 12. 特定の列にヌル値があることに基づいてDataFrameから行を選択
- 13. Mysql列に基づいてSUMを選択する方法
- 14. データグリッドからテキストファイルに特定の列を選択する方法
- 15. 行の値に基づいて行番号を割り当てる方法 - Excel
- 16. 現在の値に基づいてデータフレームから列を選択
- 17. Node.js(csvtojson)excelから特定の列を選択して
- 18. 番号に基づいて複数の配列に書き込む方法は?
- 19. 特定のセルから列全体を選択するExcel VBA
- 20. 別の列で実行される制限に基づいてある列から特定の値を抽出する方法はありますか?
- 21. Excel VBA - 特定のシートで列を選択するにはどうすればいいですか?
- 22. 別の列からの選択に基づいて、ある列のドロップダウンリストから項目を入力する
- 23. チェックボックスリストに基づいて特定の列を選択する必要があります
- 24. Laravel Excelで列番号をExcel列に変換する方法がありますか
- 25. カスタム列に基づいて選択する方法
- 26. パンダ:特定の列の値のカウントに基づいて行を選択する
- 27. 優先度に基づいて2つの列から選択
- 28. SQL:別のテーブルから列の値に基づいて選択する列
- 29. RoR:列の値に基づいて特定の投稿を選択する
- 30. ドロップダウンメニューの選択に基づいて番号を表示
質問を明確にすることができます。 50番、70番、120番などの列が必要なのですか?または50,70,120などを含む列?また、それらを選択するか、それらで何かをしたいですか?これまでに試みたVBAはありますか? – CLR
@ CLRに感謝します。はい、私は50番、70番、120番を意味します。私はそれらを選択するだけでいいです。このマクロSub Macro() 範囲( "a1、b1、d1、e1、g1、h1")EntireColumn.Select End Subただし、これは列のヘッダーが文字の場合のみ有効です。 –