
excelのVBAで、シートを作成、シート名を設定という動作をさせています。for nextで必要な数のシートを
作成して、
シートの新規作成×10枚
新規作成"sheet1"→"個人情報1"に名称変更
新規作成"sheet2"→"個人情報2"に名称変更
・・・・・・
新規作成"sheet10"→"個人情報10"に名称変更
という動作をさせた場合、あと5枚足りないという場合、
次に作成されるシートの名称は、"sheet11"からになりますよね?
この場合sheet1から名称変更する命令なので、一旦ファイルをとじて、もう一度開かなくてはなりません。
作業中に、新規作成するシート名をsheet1にリセット
する方法は、ないものでしょうか?
また、オートシェイブの"circle1"とかも
できないもんでしょうか?
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
こんなアプローチではどうでしょうか。
たぶんやろうとされていることは実現できると思うのですが。
1.現在あるシート/オートシェイプの数をカウント。
2.シート/オートシェイプを追加、同時に変数に代入。
3.先ほど追加したシート/オートシェイプの名前を[名前の固定値]+連番に変更(2で代入した変数を対象)。
コードにするとこんな感じで
Sub makeSht()
Dim ShtNum As Integer
Dim ShtName As String
Dim NewSht As Object
ShtNum = ActiveWorkbook.Sheets.Count
ShtName = "顧客情報" & ShtNum + 1
Set NewSht = Sheets.Add(after:=Worksheets(Worksheets.Count))
NewSht.Name = ShtName
End Sub
Sub AddAtShp()
Dim AtShpNum As Integer
Dim AtShpName As String
Dim NewAtShp As Object
With ActiveSheet
AtShpNum = .DrawingObjects.Count
AtShpName = "図形" & AtShpNum + 1
Set NewAtShp = .Shapes.AddShape(msoShapeDonut, 70 + AtShpNum * 10, 32.25, 39, 39)
NewAtShp.Name = AtShpName
End With
End Sub
(Excel97にて確認)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) Excel VBA シートを追加後に余分なシートを削除する、の意味 21 2022/05/19 22:46
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのシート連番の振り直し
Excel(エクセル)
-
EXCELのSheet番号って変更できる!?
Visual Basic(VBA)
-
EXCEL VBA オートシェイプナンバーのリセット
Visual Basic(VBA)
-
-
4
Excel VBA シート名変更時、重複していたら連番を付けたい
その他(Microsoft Office)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
VBAでEmpty値って何ですか?
Excel(エクセル)
-
8
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームに入力したデ...
-
XL:BeforeDoubleClickが動かない
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
実行時エラー'1004': WorkSheet...
-
特定の文字を含むシートだけマ...
-
VBA 存在しないシートを選...
-
Excel VBA で自然対数の関数Ln...
-
Access エクセルシート名変更
-
Excel チェックボックスにチェ...
-
VBAで指定シート以外の選択
-
【VBA】全ての複数シートから指...
-
VBA 検索して一致したセル...
-
エクセルVBA 別シートからのコ...
-
【エクセルVBA】「Protect User...
-
ブック名、シート名を他のモジ...
-
VBA ThisWorkbookはSheet*で記...
-
userFormに貼り付けたLabelを変...
-
マクロを使って、シート印刷完...
-
Excel VBA リンク先をシート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
エクセルのシート名変更で重複...
-
【ExcelVBA】全シートのセルの...
-
VBA 存在しないシートを選...
-
ブック名、シート名を他のモジ...
-
Excel チェックボックスにチェ...
-
VBA 検索して一致したセル...
-
エクセルで通し番号を入れてチ...
-
シートが保護されている状態で...
-
【VBA】特定の文字で改行(次の...
-
ExcelのVBAのマクロで他のシー...
-
Worksheet_Changeの内容を標準...
-
EXCELVBAを使ってシートを一定...
おすすめ情報