プロが教えるわが家の防犯対策術!

VBA初心者です、勉強中ですが、わからずで困っています、
ご教授ください。
VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください。

エクセルのブックがあります。シート1の一列目に名前(1Q000など順に)が入っています。
またそれぞれ100行ほどのデータがあります。
列ごとに入っているデータ2行目から104行目までを
名前と同じシート名のシートのD7より貼り付けしたいのです。

どうぞよろしくお願いします。

「VBA セルの値と同じ名前のシートにデー」の質問画像

A 回答 (2件)

こんにちは



・元のデータがあるシート名は「Sheet1」と仮定しました。
・コピーする対象はB~Dで良いものと仮定しました。
 (列数が異なる場合は、ループ数を修正してください)

Sub Q12952539()
Dim rng As Range, col As Long

With Worksheets("Sheet1")
On Error Resume Next
For col = 2 To 4
 Set rng = Worksheets(.Cells(1, col).Text).Range("D7")
 If Err.Number = 0 Then
  rng.Resize(103).Value = .Cells(2, col).Resize(103).Value
 End If
Next col
On Error GoTo 0
End With
End Sub
    • good
    • 1
この回答へのお礼

つたない説明にもかかわらず早速の回答まことにありがとうございました。

お礼日時:2022/05/17 17:53

こんにちは


>VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください。
には、条件が足りませんが、
シート名が書いてあるセルを選択して
その下の1行から№104行のデータを選択したシート名のD7より出力する
コードです。
シート名などが無ければエラーが返りますのでエラールーチンを加える必要があります

Sub test()
Dim acvCell As Range
Set acvCell = Selection
Worksheets(acvCell.Text).Range("D7:D109").Value = acvCell.Offset(1).Resize(103).Value
acvCell.Select
End Sub
    • good
    • 1
この回答へのお礼

つたない説明にもかかわらず早速の回答まことにありがとうございました。

お礼日時:2022/05/17 17:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています