このサブルーチンでは、すべての行が最低値をチェックします。私はこの値がどの列にあるかを知りたい。どのように手続きしますか?ここ は、私がこれまでに得たものである:VBA:行の最小値を持つ列を特定する方法は?
Sub LowCol()
Dim iAnz As Long
Dim myrange As Range
Dim rCell As Range
Dim iLevel As Long
Dim i As Long
Dim j As Long
Dim iPos As Long
Dim dMin As Double
iAnz = Worksheets("v1").Cells(6, 3).Value 'amount of columns
iLevel = Worksheets("b1").Cells(2, 2).Value 'amount of rows
For i = 0 To iLevel
Set myrange = Worksheets("b1").Range(Cells(5 + i, 2 + iAnz + 1), Cells(5 + i, 2 + iAnz + iAnz + 1))
dMin = Application.WorksheetFunction.Min(myrange)
Set rCell = myrange.Find(What:=dMin, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
iPos = CLng(rCell.Column) 'this line is obviously not working. How to fix?
Worksheets("b1").Cells(5 + i, 2 + iAnz + iAnz + 1).Value = iPos
Next i
End Sub
'CLng'は、ある値を' Long'データ型に変換する関数です。私はあなたがしたいことではないと確信しています。だから、この 'iPos = CLng(rCell.Column)'行は何をすべきでしょうか?あるいは、「アイポス」はどんなものでしょうか?列番号?行番号? – Limak
列番号 - rCell.Columnがうまくいかない問題があります: -/ – Boernii
Min関数が空白を無視することを確認した後、私の答えを削除しました。完全な範囲のブランク値を持たずに同じエラーを再現することもできませんでした。 –