• ベストアンサー

シート追加時にシートに名前をつける方法

お世話になります。 エクセルのマクロでシート追加時に 追加したシートに名前をつけたいのですが。 Worksheets.Add after:=Worksheets("Sheet1") このあとに追加されたシートに 名前をつけたいのですが。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • korin_
  • ベストアンサー率69% (46/66)
回答No.1

こんにちは。 下記でどうでしょうか? ActiveSheet.Name = "変更後の名前"

noname#127172
質問者

お礼

でした。 早速の回答有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

Worksheets.Add after:=Worksheets("Sheet1") ActiveSheet.Name = "つけたい名前" 違うかな?

noname#127172
質問者

お礼

できました。 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAで新しいシートに任意の名前をつける方法

    Worksheets.Addでシートを追加しますが、 このシートの名前を任意につけることはできますか?

  • 同ブック内でシートを追加したときにシート名と連番が

    WindowsXP EXCELL2003 いつも御世話になります。 何とか自分で作りたく色々調べてトライしましたが分からなくなりご教授を願う事になりよろしく御願いします。 仰ぎたいのは 納品書と請求書が一緒になった ・シート名「納請書1」、 がA4で1枚になったシートがあります。 とりあえずこの納請書なるものは3シート用意しています。 受注が追加されるごとに「納請書3」のシートコピーをして「納請書4」その都度追加します。 これをマクロの実行とか何かの方法で追加することは可能でしょうか。 もし可能ならばいい方法をご指導いただけませんでしょうか。 取り合えず1例で下記のマクロを Sub シートの追加とプロパティ操作() Dim NewWS As Worksheet Set NewWS = Worksheets.Add(After:=Worksheets("納請書3")) With NewWS .Name = "納請書4" .Columns.ColumnWidth = 20 End With End Sub このやり方は私か調べた物でトンチンカンかも知りません。 「マクロの実行」 Sheet3シートの追加とプロパティ操作 で「実行」すると次のように出ます。 「インデックスが有効範囲にありません」

  • vba エクセルシートの追加、名前の変更について

    エクセルvbaについて教えてください 新しいシートを一番右に作成し、その新規作成したシートの名前を変えたいです Sub Sample() Worksheets.Add after:=Worksheets(Worksheets.Count) ActiveSheet.Name = "結果1" End Sub と作成しました マクロを実行したら、「結果1」という名のシートが一番右に作成されます その後、実行をしたら「結果2」、さらに実行したら「結果3」といった感じにどんどん「結果+数字」のシートを作成したのですが、今のままでは「結果1」というシートしか作成されません 「結果2」、「結果3」、・・・・エンドレスに作成するようにするにはどうしたらよいのでしょうか ―――――――――――――――――――――――――――――――――――― なぜこのようなことをしているかといいますと、AdvancedFilterでxlFilterCopyを利用し、抽出した結果を新しいシートに作成するようにするのが最終目標です それで、まずAdvancedFilterでデータを反映させる新しいシートを作成することに取り組んでいるところです もし分かる方がいましたら、AdvancedFilterでxlFilterCopyする際、上で説明しました新しいシートが作成できた場合、CopyToRangeをどのように記載すればいいのか分かればそれも教えていただけると助かります よろしくお願いします

  • VB6.0でEXCELにシートを追加したい

    初心者なので、説明がつたないところ、用語の使い方が間違っいるところがあるかと思いますが、今後のためにバシバシ指導お願いします。m(_ _)m VBにてEXCELシートを作成し、それを既存ファイルのシートに追加し、保存したいと考えています。 ・既存ファイルがなけれが新規作成 ・既存ファイルに同名のシートがあれば上書きするか、シ ート名を変更するか聞く 私が考えた流れは、 1.既存ファイルを開く 2.新しいシートを追加する 3.シートの名前をつける 4.既に同名シートがあれば上書きの有無を聞く 5.VBで作ったEXCELシートを既存ファイルのシートにコピー 6.既存ファイルを更新 7.EXCELを閉じる です。 まず、既存シートはコモンダイアログで探し、追加したい既存シートを開くところまではできました。 ただ、 シートを追加しようとすると文字が赤くなって怒られました。 いろいろ調べた結果の文章なので、どうしてここで赤くなるのかが解読できません。 Dim objBook2 As Excel.Workbook Dim objSheet2 As Excel.Worksheet Set objBook2 = objExcel.Workbooks.Open(CDl.FileName) objBook2 .Visible = True Set objSheet2 = objBook2.Worksheets(1) Sheets.Add(after:=Worksheets(Worksheets.Count)) ↑ここでだめでした。 一気にコピーしたほうがいいのかとも思い、下記を記入しましがだめでした。 objSheet.Copy After:=CDl.FileName.Sheets(CDl.FileName.Sheets.Count) 長々とかきましたが、どなたかEXCELシートを追加する記述方法を教えてください。 よろしくお願いします。

  • エクセルVBAでシート追加

    初めて質問します。 VBAで新しいシートを追加する時 同名のシート等があるとエラーになります。 追加するときシート名をチェックしたいのですが どの様にすれば良いでしょうか? また、シートは一番最後に追加したいです。 よろしくお願いします。 Sub Macro1() x = InputBox("シート名") Worksheets.Add.Name = x End Sub

  • エクセルでシートのコピー

    いつもお世話になっています、マクロ初心者です。 カレンダーの1月分をシートごと12月までコピーするのに、サンプル集をそのまま引用したのですが、シート名を指定する所でエラーになってしまいます。 $"月"の部分を削除すればうまくいきます。 エクセル2000パーソナルだからなのでしょうか? 'シートコピー Worksheets(1).Cells.Copy For i = 2 To 12 Worksheets.Add after:=Worksheets(ActiveSheet.Index) ActiveSheet.Name = CStr(i) & "月"(この行がエラーになります) ActiveSheet.Paste Range("A1").Select Next i エクセル2000パーソナルで処理する方法がありましたら教えてください。

  • マクロ ボタンと同じ名前のシートをアクティブにする

    ボタンが1シート目に28個並んでいます。 ボタンには、「あああ」「いいい」など、名前が表記されており、まだ「マクロの登録」を行っていません。 「ボタンをクリックすると、ボタンと同じ名前のシートをアクティブにする」 というマクロを、ボタンに登録したいです。 また、常に28個ボタンがあるというわけではありません。25個や、26個になる場合もあります。 ※1シート目にボタンを作り、そのボタンに名前を付ける作業は、   前回教えていただいた下記のマクロを行いました。 Sub ボタン設置() With Worksheets(1) For i = 1 To (Worksheets.Count - 1) nX = 145 * (1 + ((i - 1) Mod 8)) nY = 30 * (1 + Int(i / 8)) .Buttons.Add(nX, nY, 140, 20).Text = Worksheets(i + 1).Range("I2").Value Next i End With End Sub

  • VBA シート名重複した場合削除する

    教えてください。 VBAに関しての質問です。 全くの知識がないので教えていただきたいです。 エクセルワークシートに以下の機能を追加している状態です。 For Each ws In Worksheets If ws.Name = "データ" Then wsChkflg = True End If Next If wsChkflg = True Then ThisWorkbook.Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "データ" Else ThisWorkbook.Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "データ" End If Set wsNew = ThisWorkbook.Worksheets("データ") 「データ」というシートが作成、追加されるのですが、同じシート名で新規作成した時に エラーが出てしまいます。そのエラーを出さないようにすため、ダイアログ等も出さずに既存のシートを強制的に削除する機能を追加したいのです。 VBAの知識がなくて困っています。 何か良い方法がわかる方いらっしゃいましたらお力を貸してください。 よろしくお願いいたします。

  • エクセルマクロ シートの追加

    マクロでシートを追加し、シートの名前を変更したくて記録したところ、以下のコードになりました。 しかしながら、2度目に実行すると、sheet2が追加されsheet1が無いためエラーとなります。 2度目に実行してもsheet2のシート名を変更できるようにするには、どうすればよいですか? Sheets.Add Sheets("Sheet1").Select Sheets("Sheet1").Name = "処理結果"

  • マクロでエクセルシートのコピー

    マクロでシート1を最後尾に名前をつけてコピーしたいと思ってます。 つけたい名前は、シート2のあるセルにかいてあります。 私は下記のように書いたのですが、エラーになってしまいます。 Worksheets("Sheet2").Select newsheet = Cells(1, 1) Sheets("Sheet1").Select Sheets("Sheet1").Copy After:=Sheets(newsheet) どのようにすればシートをシート名をつけてコピーできますか? 教えてください。 エクセル97です。