あるシート (この場合は「テスト シート」) の列 G のセルの値を別のシート (この場合は「テスト シート」) の列 B のセルの値と一致させる必要があるコード プロジェクトに取り組んでいます。情報')。「情報」シートでこの一致する行を見つけたら、その一致する行の列 C から整数値を取得する必要があります。
プログラムの別の部分から呼び出すことができる関数にこのコードを実装しようとしています。さまざまな方法で変数のサイズを指定しようとしましたが、メイン サブから関数を呼び出すときに発生する型の不一致に悩まされています。私はとても迷ってイライラしています。私が間違っていることを知っている人はいますか?
メインのサブコール:
Sub AutoSend()
Dim Temp As Integer
Dim rng As Range
Dim r As Range
Set rng = Range("A2:I6")
For Each r in rng.Rows 'EDIT to more accurately reflect my code
Temp = FindHigh(Cells(r,7).Value) 'THROWS ERROR HERE
Next r
End Sub
呼び出される関数 FindHigh:
Function FindHigh(Key As String) As Integer
Dim Target
Dim Success As Integer
Success = 0
Sheets("Information").Select
Set Target = Columns(2).Find(Key, LookIn:=xlValues)
If Not Target Is Nothing Then
Sheets("Information").Cells(Target.row, 3).Select
Success = Rows(Target.RowIndex).Cells(Target.RowIndex, 3).Value
End If
Sheets("Test Sheet").Select
FindHigh = Success
End Function