エクセルVBAで、シートをコピーした際、コピーされた新しいシートのほうを指定する言葉を知りたい。
コマンドボタンにて、(1)内訳用シートをコピーで増やす。(2)新しいシートの番号を連番になるよう1増やす。(3)新しいシートのほうは入力しやすいよう、入力欄を消去する。シート名も1.2.3...とふえていくようにしたい。
新しくコピーされたほうのシートを指定したい場合はどのようなVBA用語になりますか?
いまは、元のシート指定方法しかわからないため、元シートの前にコピー作成し、元シートのNoを1増やし、データ消去で対応していますが、これだと、シート名に表示される内訳(1)(2)・・という番号になるので、できれば、コピーしたほうのシートを指定して、Noを1増やし、データ消去できれば解決するとおもうので。。いま、使ってるVBAはこんな式です。
ちなみにK6はシートNo、("B10:H30")("J10:K30")は入力欄です。
Private Sub CommandButton1_Click()
ActiveSheet.Copy Before:=ActiveSheet
Range("K6").Value = Range("K6").Value + 1
Range("B10:H30").ClearContents
Range("J10:K30").ClearContents
ActiveSheet.Select
ActiveSheet.Name = Range("K6").Value
End Sub
No.3ベストアンサー
- 回答日時:
一番最後尾にデータの入っていないシートを
連番とダブらないような名前で作っておいて
Private Sub CommandButton1_Click()
Sheets(Sheets.Count).Copy Before:=Sheets(Sheets.Count)
NEWWS = Sheets.Count - 1
Sheets(Sheets.Count - 1).Name = NEWWS
End Sub
というのはどうでしょうか。
質問内容文がわかりにくかったのに、意図をくみとってくださりありがとうございます。
いままでのVBAだとシート名の番号が実際と逆転するのがネックだったのですが・・・。
最終シートはシート名も「内訳最終」と言う感じにして、
ActiveSheet.Name = "内訳" & "【" & (Range("K6").Value - 1) & "】"
Sheets("内訳最終").Select
とすることでうまくいきました。ありがとうございました。
No.2
- 回答日時:
誤)Sheets(cnt).Range("a1")>Value = 1
正)Sheets(cnt).Range("a1").Value = 1
No.1
- 回答日時:
新しいシートは右か左のはじっこになるので(After、Beforによる)
Dim cnt As Integer
cnt = Worksheets.Count
Sheets(cnt).Range("a1")>Value = 1
または
Sheets(1).Range("a1").Value=1
みたいな感じで指定すればどうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで金銭出納帳。繰越残高を...
-
前の(左隣の)シートを連続参...
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
エクセルでファイルを開いたと...
-
特定のシートの削除を禁止した...
-
エクセルで前シートを参照して...
-
エクセルVBAでパスの¥マークに...
-
複数のピボットを同じフィルタ...
-
excelでシート毎の最終更新日を...
-
EXCELで1ヶ月分の連続した日付...
-
Excelのシートを、まとめて表示...
-
存在しないシートの参照について
-
エクセルの再計算の順番について
-
テキストボックス内の文字の一...
-
エクセルでファイル保存時に複...
-
エクセルで毎回1枚目のシートを...
-
エクセル計算式解説
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
複数シートの特定の位置に連番...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
EXCELで同一フォーマットのシー...
-
特定のシートの削除を禁止した...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
おすすめ情報