いつもお世話になります。
OSはwin11、エクセルはoffice365です。
アクティブシートより複数のシートのコピー & シート名をつけたい。
条件
1 アクティブシート(シート名は、1)は左端に限らない
左端 左から2番目 4番目と変わる
2 アクティブシートを基準に12シート(1~12シート)
11シートのコピー&シート名を
ご指導お願いします。
下記は各シート毎に手動によるコードです
Sub セルをシート名にする()
Dim sheetobj As Worksheet
For Each sheetobj In Worksheets
sheetobj.Name = sheetobj.Range("A1").Value
Next
End Sub
No.6ベストアンサー
- 回答日時:
アクティブシートは"1DB"です。
(シート:1DBがないとエラーになります)(シート名は半角です)シートの終端へ1~12のシートを作成します。
(既にシート1~12の何れかが存在するとエラーになります)
以下のマクロを標準モジュールに登録してください。
Option Explicit
Sub シートコピー()
Dim ws As Worksheet
Dim i As Long
Dim istr As String
Set ws = Worksheets("1DB")
For i = 1 To 12
istr = CStr(i)
ws.Copy After:=Worksheets(Worksheets.count)
Worksheets(Worksheets.count).Name = istr
Next
MsgBox ("完了")
End Sub
No.5
- 回答日時:
すみません。
アクティブシートとは、「マクロが実行された時に、今まさに、画面上に表示されているシート(アクティブになっているシート)」と理解していますが、この理解はあってますか。以下、その前提で、
No4の回答の補足では、
条件1では、アクティブシートはシート名:1ですが、
条件2では、アクティブシート(1DB)となっています。(シート名:1DB)
どちらが正しいのでしょうか?
それとも、条件2のアクティブシート(1DB)は、アクティブシート(1)の誤りでしょうか。
誤りだとすると、
マクロ実行前のシート状態は、
シート名:1DB
シート名:2売上
シート名:1
となっていて、
実行後、
シート名:1DB
シート名:2売上
シート名:1
シート名:2
・・省略・・
シート名:12
となるということでしょうか。
そうであれば、シート1のA1の値をマクロは使用しないということでしょうか。
又、
シート名:1DB
シート名:1
シート名:2売上
のように、シート:1の右側にシートがあるケースは考慮しないで良いのでしょうか。
No.4
- 回答日時:
すみません。
No3の補足を見たのですが、最初の提示された内容と話が違ってきて、よくわからなくなってきました。1.存在するシートは、左から順にSheet1,Sheet2,Sheet3,Sheet4,Sheet5,Sheet6とする。(Sheet2~Sheet6は存在しない場合もある)
上記以外のシートが存在することは、考えなくて良い。
2.シート名を以下のように変更する。
Sheet1は、当該シートA1の値をシート名にする。(A1="1DB")
Sheet2は、当該シートA1の値をシート名にする。(A1="2売上")
・・・
Sheet6は、当該シートA1の値をシート名にする。(A1="6○○")
3.シート:1DBをコピーして、シート:1~シート:12を作成する。
(コピー元は全てシート:1DB)
上記の処理であってますか?
No.3
- 回答日時:
>A xyd 1 2 3・・・11 12
>となるよう希望します。
xydはxyzの誤りと解釈します。
1.シート:B、シート:Cは削除するということでしょうか?
もし、そうであれば、残すシートと削除するシートの規則を提示していただけませんでしょうか。
2.まず、シート1:の名前をXYZに変えて、
そのあとで、シート:XYZの右側にシート:1~シート:12を作ればよいですか。(シート:1~シート:12は、シート:XYZをコピーして作る)
No.2
- 回答日時:
補足要求です。
1.コピー元のシートは、"1"ですか。
2.シートが左から以下のように並んでいた時、
シート名:A
シート名:1 ・・・左から2番目
シート名:B
シート名:C
マクロを実行した結果は、どのようなシートができれば良いのでしょうか。
シート名:1のA1セルの内容は、"XYZ"とします。
No.1
- 回答日時:
For ~ Next で繰り返し処理を行ってみましょう。
Dim i As Integer
For i = 1 To 12
【処理したいコマンド】
Next
こんなんでOK。
上の例なら12回繰り返します。
そして、変数の i を使ってシート名に関する情報を指定してやればいい。
難しくはないだろ。
もうちょっといろいろ試行錯誤してみよう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) vbaで列幅について 1 2022/11/15 08:31
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- Excel(エクセル) vba シートの並び替え 1 2023/04/19 13:44
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 別のシートの最終行の値を参照するには 5 2022/12/15 13:18
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Accessのスプレッドシートエク...
-
Excelのシートを、まとめて表示...
-
エクセルで前シートを参照して...
-
エクセルのシート名をリスト化...
-
エクセル計算式解説
-
シートの保護のあとセルの列、...
-
EXCEL:同じセルへどんどん足し...
-
エクセルVBAでパスの¥マークに...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルでファイルを開いたと...
-
エクセル 計算式も入っていない...
-
Accessのマクロを使用してExcel...
-
特定のシートの削除を禁止した...
-
エクセルで「ウィンドウを元の...
-
シート番号からシート名を取得する
-
複数シートの色付きセルがある...
-
【Excel マクロ】 同一book内で...
-
EXCELで同一フォーマットのシー...
-
エクセルの=IF(INDEX式の列方向...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
Excelのシートを、まとめて表示...
-
エクセルVBAでパスの¥マークに...
-
エクセルでファイルを開いたと...
-
excelでシート毎の最終更新日を...
-
別シート参照のセルをシート毎...
-
EXCEL:同じセルへどんどん足し...
-
前の(左隣の)シートを連続参...
-
エクセルで前シートを参照して...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
特定のシートの削除を禁止した...
-
エクセルのシート名をリスト化...
-
VBAでシートコピー後、シート名...
-
EXCELで同一フォーマットのシー...
-
複数シートの特定の位置に連番...
-
エクセルで複数設定したハイパーリンク先...
-
エクセルで前のシートを連続参...
-
シートを追加・名前を次月に変...
おすすめ情報
ご指導をありがとうございます。
恐れ入りますが具体的にご教授頂けないでしょうか。
小生の未熟をご勘弁ください。
1 シートのコピー
それに伴い
2 A1セルの値をシート名
ありがとう
シートの順番は左端から、
A xyd 1 2 3・・・11 12
となるよう希望します。
お手数ですがよろしくお願いいたします。
1.コピー元のシートは、"1"ですか。
2.シートが左から以下のように並んでいた時、
シート名:A
シート名:1 ・・・左から2番目
シート名:B
シート名:C
と示していただいていますが
私の希望は
マクロの新しいプックを考えていました。
シートは下記のように一つしかありません。
Sheet1
例えば左端から
※Sheet1 を名前変更後 1DB
※Sheet2 追加し名前を 2売上
マクロ実行後に
1DB 2売上 1 2 3・・・10 11 12
と考えています。
但し上の※印の数は 2シートですが
1~6位のシート数の範囲で数は変動します。
それ故シート名の前にNoを付けています。
ご苦労かけますがよろしくお願いいたします。
条件
1 アクティブシート(シート名は、1)は左端に限らない
左端 左から2番目 4番目と変わる
例えば左端から
※Sheet1 を名前変更後 1DB
※Sheet2 追加し名前を 2売上
このシートは手動でコピー 名前は行います。
2 アクティブシート(1DB)を
基準(この場合は左端から3番目から)
に、12シート(1~12シート)
12シート のコピー & シート名を
マクロ実行後に
1DB 2売上 1 2 3・・・10 11 12
条件 1 2と それぞれの内容は変えていませんが
マクロ実行前のシート状態は、
シート名:1DB すでに手動で作成
私が言うアクティブシートです
シート名:1DB すでに手動で作成
シート名:2売上 すでに手動で作成
※このシートがあるケースは考慮しないで良いです。
シート名:1 このシートはマクロ実行後に作成
※この場合は2つのシートですが変動します
なっていて、
実行後、
シート名:1DB 実行でない(手動作成)
シート名:2売上 実行でない(手動作成
シート名:1 実行後作成
シート名:2 実行後作成
・・省略・・
シート名:12 実行後作成
マクロによる作成は
シート名:1 ~ シート名:12 で
シートのコピーとシート名です