
Variant型配列で
Dim myZaiko
Worksheet("bbb").Activate
myZaiko=worksheet("bbb").range("A1:E100")
とした時に
別のWorksheet("aaa")にA列とC~E列をそれぞれmyZaikoから取り出して貼り付けるということは可能なのでしょうか?
ニュアンスとしては下のような感じなのですが指定の仕方がわかりません。
Worksheet("aaa").Activate
Worksheet("aaa").range("A1:A100").value=myZaiko(A列だけ)
Worksheet("aaa").range("C1:E100").value=myZaiko(C~E列)
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
1個ずつ取り出すような気がします。
Dim myZaiko
Dim i As Long
Dim j As Long
myZaiko = Worksheets("bbb").Range("A1:E100").Value
For i = 1 To 5
For j = 1 To 10
MsgBox myZaiko(j, i)
Next j
Next i
一例ですが、
Dim myZaiko
を
Dim myZaiko As Range
myZaiko=worksheet("bbb").range("A1:E100")
を
Set myZaiko=worksheets("bbb").range("A1:E100")
として
Worksheet("aaa").range("A1:A100").Value=myZaiko
を
Worksheets("aaa").range("A1:A100").Value=myZaiko.Columns(1).Value
と、いうようなやり方はだめでしょうか。
後半部、これもNo.3の方と同じような感じですよね。
こっちの方が考えていたのにあってましたね。
お二方、感謝します。
動的配列の取りだし方、という点でこちらの方が優れてましたね。
ありがとうございました。
No.3
- 回答日時:
A1:E100の範囲のデータを
I列にA列・K~M列にC~E列のデータを入れるとするなら
Sub try()
Dim r As Range
Set r = Range("A1:E100")
Range("I1:I100").Value = Intersect(r, Range("A:A")).Value
Range("k1:M100").Value = Intersect(r, Range("C:E")).Value
End Sub
では意味無し?
ありがとうございます。
たぶんこれがもっとも簡単なのでしょうね。
Intersectを初めて見ました。
まだ知識が足りてないと実感しました。
さらに精進します。
No.2
- 回答日時:
Sub test()
Dim myZaiko1, col1, myZaiko2, col2
Set myZaiko1 = Worksheets("bbb").Range("A1:F100")
Set myZaiko2 = Worksheets("aaa").Range("A1:F100")
'myZaiko2.Value = myZaiko1.Value そのままコピーするのならこれだけで済むが、列ごとにしたいというのであれば、以下。
Set col1 = myZaiko1.Columns
Set col2 = myZaiko2.Columns
For i = 1 To 6
col2(i).Value = col1(i).Value
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) Sheet1をフィルターで「りんご」を抽出し、Sheet2へ地域を貼り付ける下記マクロを変更して S 2 2022/12/11 03:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
VBA 指定した列にある日時デー...
-
列方向、行方向の定義
-
CSVファイルの「0落ち」にVBA
-
EXCEL VBA 非表示にする列を変...
-
エクセル マクロ 範囲の値を上...
-
エクセルのソートで、数字より...
-
LEFT関数とIF関数の組み合わせ...
-
EXCELVBAでリストボックス複数...
-
マクロを使って複数ある同じ数...
-
ご覧いただきありがとうござい...
-
Excel2002のVBAでFor Nextのネ...
-
Excelの行数、列数を増やしたい...
-
vba 編集⇒Enter 繰り返しマクロ
-
csvデータの列の入れ替えができ...
-
ExcelVBAで動的配列の部分取り出し
-
EXCELで分かれたシート間...
-
エクセル マクロ 定型ごと抜...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
LEFT関数とIF関数の組み合わせ...
-
VLOOKUPの列番号の最大は?
-
VBA 指定した列にある日時デー...
-
Excelの行数、列数を増やしたい...
-
エクセルのソートで、数字より...
-
列方向、行方向の定義
-
VBAで別ブックの列を検索し、該...
-
エクセル マクロ 範囲指定で...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロPrivate Subを複...
-
エクセルで最初の行や列を開け...
-
最近急にVBAの処理速度が遅くな...
-
VBA
-
Excel文字列一括変換
-
エクセルで複数列の検索をマク...
-
エクセル マクロ 範囲の値を上...
-
横軸を日付・時間とするグラフ化
-
Alt+Shift+↑を一括で行うには、...
おすすめ情報