Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1736 / 13645 ツリー ←次へ | 前へ→

【72270】マクロで新シートの追加方法 中山家 12/7/6(金) 11:27 質問[未読]
【72271】Re:マクロで新シートの追加方法 UO3 12/7/6(金) 13:00 発言[未読]
【72272】Re:マクロで新シートの追加方法 中山家 12/7/7(土) 5:43 お礼[未読]

【72270】マクロで新シートの追加方法
質問  中山家  - 12/7/6(金) 11:27 -

引用なし
パスワード
   Sheet1にこれから追加するシート名のリストが列記してあります

aaa
bbb
ccc
ddd
eee
fff

マクロで追加するシート名をaaa,bbb,ccc,dddと順次付けたいのですが
よい方法があればご教授をお願いいたします

シート名が300まで列記してある場合、200までで止める方法も教えてください

【72271】Re:マクロで新シートの追加方法
発言  UO3  - 12/7/6(金) 13:00 -

引用なし
パスワード
   ▼中山家 さん:

こんにちは
リストがA列に1行目から下に記載されているとします。
記載されている名前のシートは実行時点では存在しないことを想定しています。
存在すれば、そのシートに関しては名前の変更をスキップしています。

Sub Sample()
  Dim x As Long
  Dim c As Range
  Dim r As Range
  
  x = Worksheets.Count
  With Worksheets("Sheet1")
    Set r = .Range("A1", .Range("A" & .Rows.Count).End(xlUp))
  End With
  If r.Rows.Count > 200 Then Set r = r.Resize(200)
  Worksheets.Add After:=Worksheets(x), Count:=r.Rows.Count
  For Each c In r
    x = x + 1
    On Error Resume Next
    Worksheets(x).Name = c.Value
    On Error GoTo 0
  Next
  
End Sub

【72272】Re:マクロで新シートの追加方法
お礼  中山家  - 12/7/7(土) 5:43 -

引用なし
パスワード
   UO3さま

お礼が遅くなり申し訳ありません。
早速の回答をいただき、ありがとうございました。

1736 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free