[英]Excel VBA: Overflow error
剛開始用 VBA 編程,我有一個問題,我不知道如何解決這個問題。 我認為一切都很好。 當我想運行這個宏時,會顯示運行時錯誤“6”溢出。
Sub Działaj()
Dim Tablica(1 To 5000) As String
Dim Dni()
Dim kolumna As Integer
Dim wiersz As Integer
Dim licznik As Integer
Dim PF As Boolean
Dim tmp As Integer
Dim i As Integer
Dim tmp2 As String
licznik = 2
tmp = 0
PF = False
kolumna = 22
wiersz = 2
Do
If Worksheets("Początkowe").Cells(wiersz, kolumna).Value <> vbNullString Then
For i = 1 To licznik
If Worksheets("Początkowe").Cells(wiersz, kolumna).Value = Tablica(i) Then 'debugger shows problem here i guess
PF = True
tmp = i
End If
Next i
End If
If Worksheets("Początkowe").Cells(wiersz, kolumna).Value = "koniec" Then
Exit Do
End If
wiersz = wiersz + 1
Loop
End Sub
誰能告訴我我哪里出錯了? 我將不勝感激。
如果你沒有找到值koniec
32767行之前,你的變量wiersz
會最大程度的發揮。 如果您想繼續過去,您應該將其重新定義為 Long。
您還應該為循環提供一個出口,例如存在於最后使用的行中。 而不是do ... loop
,我通常使用以下代碼:
Dim lLastRow As Long, lWiersz As Long
lLastRow = Cells(Rows.Count, kolumna).End(xlUp).Row
For lWiersz= 1 To lLastRow
Next lWiersz
您需要將Dim 對象整數替換為 long
像這樣
Dim wiersz As Integer -->>> Dim wiersz As long
Dim licznik As Integer -->>> Dim licznik As long
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.