0

互いに隣り合っておらず、可変数の行を持つさまざまな列のデータをコピーする必要があります (ただし、その変数は各列で同じ値になります)。

これまでの私のコードは次のとおりです。

 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    |
 _____________________________
4

1 に答える 1