0
私は、次のパブリック・サブを持っている:一致する文字列
の上部にヘッダー行の名前の文字列の配列を含む、headRowという名前のグローバル変数を使用していますPublic Sub HowToSort()
Dim i As Long, j As Long, h As Long, curCell As Range, cellBelow(1 To 10) As Variant
Dim sortOrder(1 To 10), colIsString(1 To 10) As Variant
For i = 1 To hdrCount
'Find location of a cell
Set curCell = Application.WorksheetFunction.Match(headRow(i), Range("a1:z1")) ' Eventually extend outwards?
cellBelow(i) = curCell.Offset(0, 1).Value
If IsNumeric(cellBelow(i)) = False Then
colIsString(i) = True
sortOrder(i) = Application.InputBox(prompt:="Alphabetical = 'True' or Reverse Alphabetical = 'False' sorting for " & headRow(i), Type:=4)
ElseIf IsNumeric(cellBelow(i)) = True Then
colIsString(i) = False
sortOrder(i) = Application.InputBox(prompt:="Ascending = True or Descending = False for " & headRow(i), Type:=4)
Else
MsgBox ("Program does not recognize value contained in column" & headRow(i))
End
End If
Next i
End Sub
ワークシート私は、ヘッダが配置されているセルのアドレスを見つけるために、match関数を使用しようとしています:
Set curCell = Application.WorksheetFunction.Match(headRow(i), Range("a1:z1"))
cellBelow(i) = curCell.Offset(0, 1).Value
私は、このアドレスを使用したい、入力されたデータの種類を見つけるために、下方向に一つのセルを、それをオフセット、このデータは配列colIsStringに入力されます。しかし、.Match関数は動作しておらず、「型の不一致」というエラーを挙げています。私はこれがどうなるか分からない?私の以前の研究から、.Matchコマンドは範囲を取り込み、その範囲を検索してセルの値と一致するように見えます。 .Matchコマンドのいくつかの実装を成功させて試しました。あなたの考え感謝...
H3lue
感謝をあなたはそれを助けた! – H3lue