Excell VBeditor - Loop - find en fejl
Hejsa,Jeg kan simpelthen ikke gennemskue hvor fejlen gemmer sig. Ideen bag hele scriptet er: læs et nr i test filen, bruge det nr til en sql forespørgelse og returnere nogle data, gemme excel arket og navngive det ud fra de data, sætte et par celler i status.xls = med nogle celler i arket der lige er gemt og genere en slags overvågning af de specifikke celler på hvert ark der bliver gemt i løkken.
Problemet: befinder sig i nederste del af scriptet, som laver status.xls. hvis man f.eks. er igang med navn23 er alle celler i status arket lig med navn23 data istedet for de forgangne ark's data.
Koden::=>
Range("A5").Select
Y = Selection.Value
Workbooks.Open Filename:= _
"T:\STATUS.xls"
Workbooks.Open Filename:= _
"T:\test.xls"
Windows("test.xls").Activate
Antal = Application.WorksheetFunction.CountA(Columns(1)) ' tæl antal celler med indhold i række 1
Debug.Print Antal
Range("A1").Select
X = Selection.Value
Debug.Print X
Windows("skabelon1.dqy.xls").Activate
statuscellenr = 3
kolonne = "A"
i = 0
Do While i < Antal ' kør løkke så længe i er under antallet i kolonne A i filen test.xls
i = i + 1
(SQL Query)
Dim Nr As Variant
sti = ThisWorkbook.Path & "\" ' definer sti hvor skabelon skal gemmes som anden fil
Navn = Range("A1").Value ' sæt variablen NAVN lig værdien i cellen A1
Nr = Empty
Navn = Replace(Navn, "/", "_") 'Erstatter slash med underscore
Navn = Replace(Navn, ".", "") 'Erstatter punktum med underscore
Navn = Replace(Navn, ",", "") 'Erstatter komma med underscore
Navn = Replace(Navn, Chr(34), " ") 'Erstatter gåseøjne med mellemrum
Do Until EksistererFil(sti & Navn & Nr) = False
Nr = Nr + 1
Loop
'gem fil ved hjælp af variabler.
ActiveWorkbook.SaveAs Filename:= _
sti & Navn & Nr, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Status1 = kolonne & statuscellenr
status2 = kolonne & statuscellenr + 1
status3 = kolonne & statuscellenr + 2
t = statuscellenr + 3
status4 = kolonne & t
Debug.Print status4
fil1 = "='[" & Navn & ".xls]skabelon'!R1C1"
fil2 = "='[" & Navn & ".xls]skabelon'!R6C2"
fil3 = "='[" & Navn & ".xls]skabelon'!R9C10"
fil4 = Navn & Nr & ".xls"
Debug.Print Navn
Debug.Print fil1
Debug.Print "fil4 = " & fil4
Windows("STATUS.xls").Activate
Range(Status1).Select
ActiveCell.FormulaR1C1 = fil1
Range(status2).Select
ActiveCell.FormulaR1C1 = fil2
Range(status3).Select
ActiveCell.FormulaR1C1 = fil3
Range(status4).Select
'ActiveWorkbook.Save
statuscellenr = t + 3
Debug.Print "statusceller ved slut af løkken = " & statuscellenr
Windows("test.xls").Activate
ActiveCell.Offset(1, 0).Select
X = Selection.Value
Windows(fil4).Activate
Loop
End Sub
