ご閲覧ありがとうございます。VBAコードでヒントをくださると助かりますm(_ _)m ある特定の文字。例えばSheet1のB1セルに「2」と入っている状態があるとします。

Visual Basic | Excel71閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

1

1人がナイス!しています

ThanksImg質問者からのお礼コメント

お忙しいところ、ご教示くださりありがとうございました! 皆様からの頂けましたコードをご参考にしたところ、sen様のコードが一番求めている動作となりましたm(_ _)m 私には到底考えが及ばなかったので、大変助かりました。皆様からのご案内があり、大変勉強になりました!! お忙しい中、ご教示くださりありがとうございました!!

お礼日時:7/29 23:07

その他の回答(2件)

1

> 6枚目のD列、12枚目のH列にB5~B7のセルにも同様に H列にコピーなのかB5:B7にコピーなのかよくわからないのですが ヒットした12枚目のH5:H7にB5:B7の値を入れる(6枚目ならD5:D7)としたら以下でいかがですか。 Dim FRng As Range Dim ワークシート As Worksheet With Sheets("Sheet1") For Each ワークシート In Worksheets If ワークシート.Name <> .Name Then Set FRng = ワークシート.Rows(1).Find(What:=.Range("B1").Value, LookIn:=xlValues, LookAt:=xlWhole) If Not FRng Is Nothing Then FRng.Offset(3, 0).Resize(3, 1).Value = .Range("B5:B7").Value End If End If Next

1人がナイス!しています

1

指定文字(2)を調べるのは、各シートとも1行目だけです。 指定文字のあった列の何行目にコピーするのかの指示が無かったので、指定文字のあった列の5~7行にコピーします。 Dim WS As Worksheet, WS1 As Worksheet Dim Temp, LastC, C Set WS1 = Worksheets("Sheet1") Temp = WS1.Range("B1") For Each WS In Worksheets     If WS.Name <> "Sheet1" Then         LastC = WS.Cells(1, Columns.Count).End(xlToLeft).Column         For C = 1 To LastC             If WS.Cells(1, C) = Temp Then                 WS1.Range("B5:B7").Copy WS.Cells(5, C)             End If         Next C     End If Next WS

1人がナイス!しています