タイトル : 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から改めて取ってくる必要はないと思います。 |