method range of object blobal
Hej!Jeg forsøger at hente data fra et excel ark til et andet. data består af en masse rows/coloums med et ID i første kolonne. Figurerer ID'et i den endelige fil skal programmet overskrive samme række med den nye info fra "output". Eksisterer ID'et ikke skal den lave en ny række.
Nedenstående kode har virket før, men af en eller anden grund virker det ikke mere og giver fejlen Method range of global failed, hvad kan jeg gøre?
Jeg har forsøgt at teste lidt på det og det lader til den kører programmet igennem flere gange? + at indlæser jeg kun omkring 8000 linjer går den ikke i fejl? Jeg prøvede så at ændre integer > long på de variables der var integer, men det hjalp heller ikke.
Sub updateShipmentsNEW()
Dim WB1 As Excel.Workbook
Dim rowList, a As Integer
Dim newShipment, updatedShipment, oldShipment, wrongShipment As Integer
Dim shipment As String
Dim data, found As Variant
Dim rng As Range
Dim rowOutput, row As Integer
Application.ScreenUpdating = False
If Not IsFileOpen(Range("CONFIG!L6").Value) Then
Set WB1 = Workbooks.Open(Range("CONFIG!L6").Value)
End If
rowOutput = Workbooks("Output.xls").Sheets("Shipment Profile").Range("c65536").End(xlUp).row - 11
rowList = Workbooks("STATISTIC.xlsm").Sheets("ROOTDATA").Range("A65536").End(xlUp).row - 2
Set rng = Workbooks("STATISTIC.xlsm").Sheets("CONFIG").Range("O6:O60")
For a = 1 To rowOutput
found = Application.Match(Workbooks("Output.xls").Sheets("Shipment Profile").Range("C11").Offset(a, 24), rng, 0)
If IsError(found) Then
wrongShipment = wrongShipment + 1
Else
shipment = Workbooks("Output.xls").Sheets("Shipment Profile").Range("C11").Offset(a, 0)
Index = Application.Match(shipment, Workbooks("STATISTIC.xlsm").Sheets("ROOTDATA").Range("A2:A" & rowList), 0)
If IsError(Index) Then
newShipment = newShipment + 1
data = Workbooks("Output.xls").Sheets("Shipment Profile").Range("C" & a + 11 & ":BE" & a + 11)
row = Workbooks("STATISTIC.xlsm").Sheets("ROOTDATA").Range("a65536").End(xlUp).row + 1
Workbooks("STATISTIC.xlsm").Sheets("ROOTDATA").Range("A" & row & ":BC" & row) = data
Else
updatedShipment = updatedShipment + 1
data = Workbooks("Output.xls").Sheets("Shipment Profile").Range("C" & a + 11 & ":BE" & a + 11)
Workbooks("STATISTIC.xlsm").Sheets("ROOTDATA").Range("A" & Index + 1 & ":BE" & Index + 1) = data
End If
Next a
end sub