Ich habe folgende Daten in einem ArrayExcel VBA Nächster Wert in Array
Dim numbers()
numbers = Array(1, 2083, 3050, 4030, 6000)
Ich möchte den nächsten Wert von meinem Array erhalten, wenn ich in eine Reihe stellen Range("A1")
Ich habe folgende Daten in einem ArrayExcel VBA Nächster Wert in Array
Dim numbers()
numbers = Array(1, 2083, 3050, 4030, 6000)
Ich möchte den nächsten Wert von meinem Array erhalten, wenn ich in eine Reihe stellen Range("A1")
Versuchen Sie, diese
Sub Demo()
Dim numbers(), arrItem, maxItem, result, searchNum
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") 'change Sheet1 to your data sheet
searchNum = ws.Range("A1") 'search number
numbers = Array(1, 2083, 3050, 4030, 6000)
maxItem = Application.Max(numbers) 'get max of array item
For Each arrItem In numbers 'loop through each array item
If Abs(searchNum - arrItem) < maxItem Then
maxItem = Abs(searchNum - arrItem)
result = arrItem
End If
Next arrItem
MsgBox result 'display result
End Sub
Haben Sie dies von here.
funktionierte perfekt Sir vielen Dank – NewbieVB
Sie können diesen VBA-Code auch versuchen.
Sub closestnumb()
Dim numbers()
numbers = Array(1, 2083, 3050, 4030, 6000)
t = WorksheetFunction.Max(numbers)
For Each r In numbers
u = Abs(r - Range("a1").Value)
If u < t Then
t = u
a = r
End If
Next
MsgBox a
End Sub
Wie denken Sie, dass Sie das Problem angehen sollten? – serakfalcon
sir @serakfalcon das bin ich nicht sicher, Sir, darum bitte ich um Hilfe. verzeihen Sie mir – NewbieVB