24. november 2022 - 11:18
Der er
6 kommentarer
VBA til at lave CSV fil
Hejsa,
Jeg kæmper med at få denne kode til at makke rette.
Den kommer med nogle mærkelige linjer, den laver laver den første linje, så laver den den næste linje, men i forlængelse kommer der mere på samme linje.
Sådan fortsætter det ned af og med længere og længere linjer.
Den skal som sådan kun tage det fra der er i A2 til O13 området.
Det må være noget med de tællere og måske dette Print #fNum, Left(csvVal, Len(csvVal) - 2)
Hvad er det der går galt og er der en der kan hjælpe her?
Sub GemSomCSV()
Dim myCSVFileName As String
Dim myWB As Workbook
Dim rngToSave As Range
Dim fNum As Integer
Dim csvVal As String
Dim firma As String
firma = Range("R5").Value
Set myWB = ThisWorkbook
myCSVFileName = myWB.Path & "\" & firma & VBA.Format(VBA.Now, "yyyy-mm-dd hh-mm-ss ") & ".csv"
csvVal = ""
fNum = FreeFile
Set rngToSave = Range("A2:O13")
Open myCSVFileName For Output As #fNum
For i = 2 To rngToSave.Rows.Count
For j = 2 To rngToSave.Columns.Count
csvVal = csvVal & rngToSave(j, i).Value & ";"
Next
Print #fNum, Left(csvVal, Len(csvVal) - 2)
'csvVal = ""
Next
Close #fileNumber
End Sub
24. november 2022 - 11:52
#1
Er ikke helt sikker på hvad du ønsker, men jeg har vendt din matrix, så den afspejler dit regneark
Sub GemSomCSV()
Dim myCSVFileName As String
Dim myWB As Workbook
Dim rngToSave As Range
Dim fNum As Integer
Dim csvVal As String
Dim firma As String
Dim i As Long, j As Long
firma = Range("R5").Value
Set myWB = ThisWorkbook
myCSVFileName = myWB.Path & "\" & firma & VBA.Format(VBA.Now, "yyyy-mm-dd hh-mm-ss ") & ".csv"
csvVal = ""
fNum = FreeFile
Set rngToSave = Range("A2:O13")
Open myCSVFileName For Output As #fNum
For i = 1 To rngToSave.Rows.Count
For j = 1 To rngToSave.Columns.Count
csvVal = csvVal & rngToSave(i, j).Value & ";"
Next
Print #fNum, Left(csvVal, Len(csvVal) - 1)
csvVal = ""
Next
Close #fNum
End Sub
Synes godt om
1 synes godt om dette
24. november 2022 - 13:45
#3
Den skulle gerne komme med nedenstående resultat i en CSV fil, hvis jeg ikke har tastet noget ind i excel filen (den manglende data mellem ;;).
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
;;;stk;;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK;0,00;DKK
29. november 2022 - 13:41
#5
Mærkeligt at den bliver ved med at melde den fejl.
Hvis jeg starter helt forfra på et nyt regneark, så virker arket fint med forskellige tilfældige VBA koder.
Så snart jeg bruger den kode du har lavet, så melder den fejl.
Den kode jeg havde øverst, virker også fint.
Nogen der har en ide om hvad det kan være, der fremkalder denne fejl?