Hi vba gurus,
I have an issue with the code below, I have added more than 35000 into "Update" sheet and suddenly code came up with the error saying Overflow, when I press debug it highlights a line which i made below yellow.
But when I hover over the red "vInfo" it says "Subscript out of range" it is very odd because when i had only 25000 records all worked fine.
Could somebody be so kind and fix the code below.
Private Sub TransferData()
Dim c As Integer
Dim i As Integer
Dim iNew As Long
Dim vInfo As Variant
Dim wksSource As Worksheet
Dim wksTarget As Worksheet
Set wksSource = Sheets("Update")
Set wksTarget = Sheets("Data Collection")
vInfo = wksSource.Range("A2:B" & wksSource.Range("A100000").End(xlUp).Row)
For i = LBound(vInfo, 1) To UBound(vInfo, 1)
If vInfo(i, 1) = sOrder Then
lstInfo.AddItem
c = lstInfo.ListCount - 1
lstInfo.List(c, 0) = vInfo(i, 1)
lstInfo.List(c, 1) = vInfo(i, 2)
End If
Next i
If lstInfo.ListCount > 0 Then
c = c + 1
TextBox1.Visible = True
iNew = wksTarget.Range("C100000").End(xlUp).Row + 1
wksTarget.Range("A" & iNew).Resize(c, 1) = CDate(Me.txtDate.Value)
wksTarget.Range("B" & iNew).Resize(c, 1) = txtWeek.Value
wksTarget.Range("C" & iNew).Resize(c, 1) = sOperator
wksTarget.Range("D" & iNew).Resize(c, 1) = sTime
wksTarget.Range("E" & iNew).Resize(c, 1) = txtCustom.Text
wksTarget.Range("F" & iNew).Resize(c, 1) = txtComments.Text
wksTarget.Range("G" & iNew).Resize(c, 1) = txtTimemin.Text
wksTarget.Range("H" & iNew).Resize(c, 2) = lstInfo.List
wksTarget.Range("I" & iNew).Resize(c, 4).Copy
wksTarget.Range("I" & iNew).Resize(c, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
ElseIf lstInfo.ListCount = 0 Then
c = c + 1
TextBox1.Visible = True
iNew = wksTarget.Range("C100000").End(xlUp).Row + 1
wksTarget.Range("A" & iNew).Resize(c, 1) = CDate(Me.txtDate.Value)
wksTarget.Range("B" & iNew).Resize(c, 1) = txtWeek.Value
wksTarget.Range("C" & iNew).Resize(c, 1) = sOperator
wksTarget.Range("D" & iNew).Resize(c, 1) = sTime
wksTarget.Range("E" & iNew).Resize(c, 1) = txtCustom.Text
wksTarget.Range("F" & iNew).Resize(c, 1) = txtComments.Text
wksTarget.Range("G" & iNew).Resize(c, 1) = txtTimemin.Text
wksTarget.Range("H" & iNew).Resize(c, 1) = Left(txtOrder, 6)
End If
End Sub
Bookmarks