以前ネットで調べたり、質問を行い作成したマクロが下記にあります。 データを、B列の項目ごとシートを分割し、 B列の入力内容をシート名にするマクロとなります。
以前ネットで調べたり、質問を行い作成したマクロが下記にあります。 データを、B列の項目ごとシートを分割し、 B列の入力内容をシート名にするマクロとなります。 今回は、さらに、A列の入力内容とB列の入力内容をシート名にしたいのですが、修正方法がわかりません。 追加の質問をさせてください。 よろしくご教示いただけますようお願いいたします。 Sub シートに分割() Dim SH As Worksheet Dim i As Long With Worksheets("Sheet1") For i = 2 To .Range("A" .Rows.Count).End(xlUp).Row Set SH = Nothing On Error Resume Next Set SH = Worksheets(.Cells(i, "B").Value) On Error GoTo 0 If SH Is Nothing ThenWorksheets("Sheet1").Copyafter:=Worksheets(Worksheets.Count) Set SH = Worksheets(Worksheets.Count) SH.Name = .Cells(i, "B").Value SH.UsedRange.Offset(1).Clear End If .Range("A" & i & ":P" & i).Copy SH.Range("A"&.Rows.Count).End(xlUp).Offset(1) Next i End With End Sub
Visual Basic・91閲覧・500
ベストアンサー
文法エラーの部分など直してあります。 Sub test() Dim SH As Worksheet Dim i As Long With Worksheets("Sheet1") For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row Set SH = Nothing On Error Resume Next Set SH = Worksheets(.Cells(i, "A").Value & .Cells(i, "B").Value) If SH Is Nothing Then Worksheets("Sheet1").Copy after:=Worksheets(Worksheets.Count) Set SH = Worksheets(Worksheets.Count) SH.Name = .Cells(i, "A").Value & .Cells(i, "B").Value SH.UsedRange.Offset(1).Clear End If .Range("A" & i & ":P" & i).Copy SH.Range("A" & .Rows.Count).End(xlUp).Offset(1) Next i End With End Sub
すみませんが、参考にしたサイトを教えてくれませんか。 少し前にこれと酷似している質問を見て回答したような気がするので、ちょっと気になりました。
質問者からのお礼コメント
大変ありがとうございました。 思ったとおり実行できました。感謝いたします。 参考にしたサイトは、随分前のため忘れましたが、検索を行ったような気がします。申し訳ございません。
お礼日時:6/29 9:25