シート1の3行目にある文字列と同じシート名に、シート1の4行目~42行目までをE10行目~E48行目までに代入したいんですが、どんなコードになりますか?

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

ベストアンサー

0

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

思い通りにできました。 ありがとうございました。

お礼日時:6/30 10:01

その他の回答(1件)

0

A3 B3 C3…にシート名があるのですね。 Option Explicit ' Sub Macro1()     Dim I As Worksheet     Dim Colu As Integer     Dim SheetName As String '     Set I = Sheets("Sheet1")     Application.ScreenUpdating = False '     For Colu = 1 To I.Cells(3, Columns.Count).End(xlToLeft).Column         SheetName = I.Cells(3, Colu)         On Error GoTo 100         Sheets(SheetName).Select         On Error GoTo 0         [E10:E48] = I.[A4:A42].Offset(, Colu - 1).Value     Next Colu     End 100 '     Sheets.Add After:=Sheets(Sheets.Count)     ActiveSheet.Name = SheetName     [A1:P1] = I.[A1:P1].Value     Resume Next End Sub

ご回答ありがとうございます。 ActiveSheet.Name = SheetName の所が”実行時エラー1004”になってしまい、シートが一つ増えてしまうのですが、何が悪いのでしょうか?