次の関数は、一連の列ヘッダーをループし、選択したヘッダーの列番号を返すように設計されています。この関数は、検索名と、検索が実行されるシートを取得します。実行時エラー '1004'がワークシート名を受け取ります
Function getColumn(name As String, sheet As Worksheet) As Integer
Dim k As String, flag As Boolean, column As String
flag = False
k = 1
Do While flag <> True
column = sheet.Cells(1, k).Value
If column = name Then
flag = True
Else
flag = False
k = k + 1
End If
Loop
getColumn = k
End Function
これは前のシートで機能しましたが、この行はエラーの箇所として強調表示されています。
column = sheet.Cells(1, k).Value
複数の方法でシート名を渡してみました。 Sheet9として、引用符なし、シート(「債務」)など、など
私はまた、引数の型を変更しようとしたので、そのシートは文字列であり、これを持つ:
column = Sheets(sheet).Cells(1, k).Value
しかし、運!
PLZ HALP
kを文字列の代わりにLongに変更してみてください。 –
しかし、 'getColumn = Application.WorksheetFunction.Match(name、sheet.Range(" 1:1 ")、0)'を実行して、他のすべてをスキップすることができます。 –
これは、 'sheet.Range(" A "&k).Value'を使って遊んでいた時から残っていたものです。それは助けにもならなかったのですが。 – sethW