※ ChatGPTを利用し、要約された質問です(原文:Excel VBAでの関数入力)
Excel VBAでの関数入力
このQ&Aのポイント
Excel VBAを使用してCSVファイルを開き、COUNTIF関数を入力する方法について教えてください。
VBA上でCOUNTIF関数を入力する際に、ファイル名が正しく表示されず機能しない問題が発生しています。
FileNameという変数で定義したファイル名をVBAの関数内で正しく使用する方法を教えてください。
お世話になっております。
ExcelのVBAに関する質問です。
やりたいこととしては
(1) CSVファイルを開き、そのファイル名を取得後
(2)「カウントマクロ.xlms」、「件数表」シートのB2から最終行まで、(1)のCSV(Sheet1)を参照先とするCOUNTIF関数を入力する。というものです。
Dim OpenFileName As String
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.csv?")
Workbooks.Open OpenFileName
Filename = Dir(OpenFileName)
Workbooks("カウントマクロ.xlsm").Activate
Worksheets("件数表").Activate
LASTROW = Cells(Rows.Count, "A").End(xlUp).Row
Range("B2").Select
ActiveCell.FormulaR1C1 = _
"=COUNTIF(Filename.Sheet1!R2C10:R10C10,""*"" & RC[-1] & ""*"")"
Range("B2").Select
Selection.AutoFill Destination:=Range(Cells(2, "B"), Cells(LASTROW, "B"))
End Sub
上記のように記述してみたのですが、
"=COUNTIF(Filename.Sheet1!R2C10:R10C10,""*"" & RC[-1] & ""*"")"
の部分Filenameが件数表シートの関数にそのまま表示されており、うまく機能しませんでした。
このようにVBA上で関数を入力する場合、FileNameのように定義したファイル名はどのように記述すればよいのでしょうか。
どなたかご教示いただけましたら幸いです。
お礼
ありがとうございました、うまくいきました。 とても助かりました。