VBAで別シートの関数を呼び出す方法
前提
下記構成のエクセルファイルがある
シート
- Sheets1
- シート名: "シート1"
VBAの構成
- Sheets1(シート1)のマクロ
Public Function SheetOneFunc() MsgBox "This is SheetOneFunc." End Function
このとき標準モジュールから、SheetOneFunc()を呼び出したい
標準モジュールの関数の書き方
Sub Func() Application.Run ThisWorkbook.Worksheets("シート1").CodeName & ".SheetOneFunc" End Sub
このコードでは、ThisWorkbook.Worksheets("シート1") を使って "シート1" シートにアクセスし、その後に CodeName と .CParamMakeXML を連結して、Application.Run を使って SheetOneFunc
関数を直接呼び出している。