29. marts 2006 - 17:18Der er
3 kommentarer og 1 løsning
Data ind i array
Hej Jeg har følgende stump kode
Dim ProductNumber(), AntalEns As Integer AntalEnsSkabe = 0 If Worksheets("Hoved ark").Range("L" & i & "") = BrandName And Worksheets("Hoved ark").Range("C" & i & "").Value = "S " & Model & "" Then AntalEns = AntalEns + 1 Modelname = Worksheets("Hoved ark").Range("B" & i & "").Value ProductNumber(i) = Worksheets("Hoved ark").Range("D" & i & "").Value End If Next i
det kniber, for den melder fejl i linjen, hvor jeg trode den smed værdien af celle D"i" ind. Men der er "mismatch". Der smides tekst ind i array. Kigger ikke igen før i morgen.
Nu ved jeg ikke hvor du får I fra, eller om du kender størrelsen på I fra starten. Hvis du kender størrelsen fra starten, hvad i tæller op til, skal du dimme den
Dim linien skal være uden for løkken, normalt sættes den øverst i koden. Dim ProductNumber(200)as variant, AntalEns As Integer
Hvis du ikke kender i fra starten, skal du redimme ProductNumber
Dim ProductNumber() As Variant, AntalEns As Integer
for I = 1 to osv
AntalEnsSkabe = 0 If Worksheets("Hoved ark").Range("L" & i & "") = BrandName And Worksheets("Hoved ark").Range("C" & i & "").Value = "S " & Model & "" Then AntalEns = AntalEns + 1 Modelname = Worksheets("Hoved ark").Range("B" & i & "").Value ReDim Preserve ProductNumber(i) ProductNumber(i) = Worksheets("Hoved ark").Range("D" & i & "").Value End If Next i
Men giver det ikke en array med f.eks. 1200 værdier, selv om jeg, idet jeg har IF-sætningen, egentlig kun skulle have haft en værdi lig AntalEns. Men hvis jeg prøver at sætte AntalEns ind får jeg "Subscript out of range".
Og ja jeg har flyttet AntalEns uden for loopet: Dim ProductNumber() As Variant, AntalEns As Integer, i As Integer AntalEns = 0 For i = 4 To 1200 If Worksheets("Hoved ark").Range("L" & i & "") = Brandname And Worksheets("Hoved ark").Range("C" & i & "").Value = "S " & Model & "" Then AntalEns = AntalEns + 1 Modelname = Worksheets("Hoved ark").Range("B" & i & "").Value ReDim Preserve ProductNumber(AntalEns) ProductNumber(i) = Worksheets("Hoved ark").Range("D" & i & "").Value End If Next i Besked1 = MsgBox("antal beskeder = " & AntalEns & "", vbOKOnly)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.