[英]i = empty how can i solve this?
Dim a As Integer
a = 0
For i = 4 To i + 1
Set xRange = Sheets("sayfa4").Rows(i)
For j = 1 To 10
If Sheets("sayfa4").Cells(i, j) > 0 And Sheets("sayfa4").Cells(i, j) = Application.WorksheetFunction.Min(xRange) Then
a = a + 1
Sheets("sayfa4").Cells(i, j).ClearContents
Sheets("sayfa4").Cells(15 + a, 1) = i
Sheets("sayfa4").Cells(15 + a, 2) = j
i = j - 1
End If
Next j
Next i
我沒有收到任何錯誤或某些東西我只是無法執行它在 excel 表上什么也沒有發生你能幫我伙計們當我嘗試使用 F8 時出現什么問題它顯示“i = empty”我的主要問題是聲明下一個我實際上,當我選擇一個單元格(i,j)並打印它的值時,我的下一個 i 應該是 j 並且在我應該開始搜索 j 行的最小值之后,結果是下一個 i
我試圖理解你的邏輯並重寫了代碼:
Option Explicit
Sub test()
Dim a As Integer
Dim i As Long, j As Long
Dim xRange As Range
a = 0
i = 4
For i = 4 To i + 1
Set xRange = Sheets("sayfa4").Rows(i)
For j = 1 To 10
If Sheets("sayfa4").Cells(i, j) > 0 And Sheets("sayfa4").Cells(i, j) = Application.WorksheetFunction.Min(xRange) Then
a = a + 1
'Sheets("sayfa4").Cells(i, j).ClearContents
Sheets("sayfa4").Cells(15 + a, 1) = i
Sheets("sayfa4").Cells(15 + a, 2) = j
Exit For
'i = j - 1
End If
Next j
Next i
End Sub
如果您正在尋找選擇的最小值,此代碼應該可以解決您的問題
這種說法毫無意義
For i = 4 To i + 1
這是因為i
未初始化或為零,因此循環實際上是For i=4 to 1
將被忽略。
如果您不知道要迭代多少次,請改用Do Loop
。 僅將For
用於固定迭代,不要更改循環內的迭代變量。
如果要停止循環,請使用Exit For
或Exit Do
,如果要結束 function 或子程序處理,請使用Exit Function
或Exit Sub
。
要跳到 VBA 中的下一個迭代,您將使用If
結構,因為它不像其他語言那樣具有延續關鍵字。 (感謝@BigBen)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.