互いに隣り合っておらず、可変数の行を持つさまざまな列のデータをコピーする必要があります (ただし、その変数は各列で同じ値になります)。
これまでの私のコードは次のとおりです。
Set MyXL = CreateObject("Excel.Application")
MyXL.Workbooks.Add
MyXL.Worksheets(1).Name = SheetName
Set shtData = Worksheets("Data")
rngDataRowCount = shtData.Range("A1048576").End(xlUp).Row
Set rngData = shtData.Range("A1:I" & rngDataRowCount)
rngData.Copy
MyXL.Worksheets(SheetName).Activate
MyXL.Worksheets(SheetName).Paste
Range("A1").Select
列が隣り合っている限り問題なく動作しますが、他の列を追加することはできません。
私は次のようなことができることを望んでいました:
Set rngData = shtData.Range("A1:I, N1:N, P1:R" & rngDataRowCount)
しかし、このステートメントは失敗します。または、複数の範囲を設定してからクリップボードに追加する方法はありますか? もちろん、どんな助けでも大歓迎です。
編集:私が達成しようとしていることを明確にするために、次の表があるとしましょう:
_________________________________________________________
| col1 | col2 | col3 | col4 | col5 | col6 | col7 | col8 |
_________________________________________________________
| q | w | e | r | t | y | u | i |
_________________________________________________________
| q | w | e | r | t | y | u | i |
_________________________________________________________
col1、col2、col5、col8 などの範囲を選択できるようにして、それらの列のすべての塗りつぶされたセルを一度にコピーして、貼り付けで次のようにします。
_____________________________
| col1 | col2 | col5 | col8 |
_____________________________
| q | w | t | i |
_____________________________
| q | w | t | i |
_____________________________