tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 最後にエクセルシート追加は可能でしょうか
投稿日: 2016/01/07(Thu) 15:06
投稿者Hongliang
まず、Excelでマクロを記録させながらやりたいことを手動でやってみて、そのマクロを参考にすると良いです。
実際にシート一覧右端の追加ボタンを押す操作をマクロで記録してみると、以下のVBAが出力されるようです。
Sheets.Add After:=Sheets(Sheets.Count)

> xlSheet2 = DirectCast(xlSheets.Add, Excel.Worksheet)

ですので、
・Sheets(SHEETCOUNT)でまず末尾のWorksheetを取得する
・Addメソッドの呼び出しで、After引数にそれを渡す
ということをすればいいでしょう。

> '追加したシートの名前を取得()
> Dim xlSheet1 As Excel.Worksheet
> xlSheet1 = DirectCast(xlSheets.Item(SHEETCOUNT), Excel.Worksheet)
> MessageBox.Show(Me, "追加したシート名 = " & xlSheet1.Name & " です。")
> ' 追加したシートの名前を変更()
> xlSheet1.Name = "Test1"
> '変更したシート名を取得(確認)
> MessageBox.Show(Me, "シート名を " & xlSheet1.Name & " に変更しました。")

そもそも、追加したWorksheetはAddメソッドの返値として手に入っていますよね?
わざわざxlSheetsから改めて取ってくる必要はないと思います。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。