[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『列を選択して別のワークシートに貼り付けたい。VBA』(ヤミー)
現状、下記のようなVBAを使用して
別のワークシートにデータを貼り付けているのですが、
今後は、メッセージボックスに列番号を1,2,4,5といったイメージで
入力して、任意の列を指定したワークシートに貼り付けたいと考えています。
また、1,2,10,3,6,5といったイメージで列番号も入力した順番で
出力出来ればと思っています。
(指定する列の数は状況によって変化します。)
現状のソースを下記に記載しますので、
変更案を教えて下さい。
よろしくお願いします。
Sub 列抽出()
'データの列を指定しての抽出と並び替え Dim データ範囲 As Range Dim 抽出列 As Variant Dim i As Long Sheets("A").Activate Set データ範囲 = ActiveSheet.Range("A1").CurrentRegion 抽出列 = Array(8, 11, 10, 12) Sheets.Add.Name = "B" For i = 0 To UBound(抽出列) データ範囲.Columns(抽出列(i)).Copy Sheets("B").Range("A1").Offset(0, i) Next i
End Sub
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Sub 列抽出() 'データの列を指定しての抽出と並び替え Dim データ範囲 As Range Dim 抽出列 As Variant Dim i As Long
Sheets("A").Activate Set データ範囲 = ActiveSheet.Range("A1").CurrentRegion 抽出列 = Split(InputBox("カンマ区切りで列番号を入力"), ",") Sheets.Add.Name = "B" For i = 0 To UBound(抽出列) データ範囲.Columns(Val(抽出列(i))).Copy Sheets("B").Range("A1").Offset(0, i) Next i End Sub
この方法だと、「抽出列」は文字列配列になるので、Columns指定の際にValで数値化しています。
(???) 2018/10/03(水) 17:24
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.