Excel VBA質問箱 IV

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

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


9634 / 13644 ツリー ←次へ | 前へ→

【26236】ワークシート名 まー 05/6/29(水) 11:26 質問[未読]
【26243】Re:ワークシート名 りん 05/6/29(水) 12:31 発言[未読]
【26273】Re:ワークシート名 まー 05/6/30(木) 11:18 お礼[未読]

【26236】ワークシート名
質問  まー  - 05/6/29(水) 11:26 -

引用なし
パスワード
   私は馬鹿なんでしょうか?ワークシート名が付けられません。
シートを追加してその名前を変更したいのですがエラーになってしまいます。
シートが既に3つあると仮定した場合、追加されるシートは普通"sheet4"ですが
今回は必ずしもそうではない状況にあるので

Worksheets("Sheet4").name = "名前"

ではだめなんです。で、

Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "名前"

にすると下の行が
「実行時エラー1004
 アプリケーション定義またはオブジェクト定義のエラーです。」
となります。なんででしょう?間違いないと思うのですが・・・
どなたこの愚問にお付き合いくださいm(__)m

【26243】Re:ワークシート名
発言  りん E-MAIL  - 05/6/29(水) 12:31 -

引用なし
パスワード
   まー さん、こんにちわ。

>Worksheets.Add after:=Worksheets(Worksheets.Count)
>ActiveSheet.Name = "名前"
>にすると下の行が
>「実行時エラー1004
> アプリケーション定義またはオブジェクト定義のエラーです。」
 非表示のシートに名前というのがありませんか?
 VBEのプロジェクトエクスプローラーなどで確認してみてください。

また、
Sub test()
  Dim ws As Worksheet
  With ActiveWorkbook
    Set ws = .Worksheets.Add(after:=.Worksheets(.Worksheets.Count))
  End With
  ws.Name = "名前"
  Set ws = Nothing
End Sub

また、Set 何とか= で明示してやるとエラーを誘発しにくくなります。 

【26273】Re:ワークシート名
お礼  まー  - 05/6/30(木) 11:18 -

引用なし
パスワード
   りんさんこんにちは。
バッチリ出来ました。ありがとうございます。
これでグッスリ寝られます。

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