0

こんにちは、次のコードを実行して、シートに表示される回数を数えようとしています。

Sub test()
  ' passes in what sheet (Sheet1) to search and which row (5) to write the results
  dummy = CountExample("Sheet1", 5)
End Sub

Function CountExample(Sheet As String, RowPopulate As Integer)
  Sheets(Sheet).Select ' Selects the appropriate sheet to search through
  Dim tmp As Integer

  ' Search for find1
  tmp = Application.WorksheetFunction.CountIf(Cells, "find1")
  Sheets("Recording Sheet").Select
  Range("C" & RowPopulate).Value = tmp ' Update and write the value in C5
  tmp = 0  'this does not seem to do anything


  ' something wrong with this one find2 should have 39 matches not 15
  ' Search for find2
  tmp = Application.WorksheetFunction.CountIf(Cells, "find2")
  Sheets("Recording Sheet").Select
  Range("E" & RowPopulate).Value = tmp ' Update and write the value in E5


End Function

find2 を検索するコードを実行すると (find1 を検索するコードを削除した後)、正しい 39 件の一致が得られますが、上記のようにコードを実行すると、find2 に 15 件の一致が得られます。

なぜこれが起こっているのか理解できないようです。

ありがとう

4

3 に答える 3