Johanjong1
Gebruiker
- Lid geworden
- 17 dec 2019
- Berichten
- 15
Ik heb een VBA script gemaakt voor CSV bestanden op te slaan met een ; scheiding teken.
Nu in het ene office wekt het juist en zie ik geen ; bij lege velden maar bij de ander wel.
zie bijlage voorbeeld op word bestand,en onderstaand het stuk VBA code.
Ik zie graag jullie reacties tegemoet
Werknummer = wsd.Range("B3").Value
Plaats = wsd.Range("B2").Value
IO = wsv.Range("E52").Value
Opmerking = wsv.Range("C56").Value
'Gegevens in regels zetten
x = ws.Range("diStartData2").Row
For i = y To wsd.Cells(Rows.Count, 2).End(xlUp).Row
Merk = wsd.Cells(i, 2).Value
aantal = wsd.Cells(i, 3).Value
hoog = wsd.Cells(i, wsd.Range("rcLengte").Column).Value
If wsd.Cells(i, wsd.Range("rcSoort").Column).Value <> "Type 1 (normaal)" Then
gekoppeld = "Gekoppeld met "
Else
gekoppeld = ""
End If
For j = 0 To UBound(Split(wst.Cells(i + 7, C).Value, ";"))
If UBound(Split(wst.Cells(i + 7, C).Value, ";")) > 1 Then
Select Case j
Case 0: merk1 = wsd.Cells(i, 2).Value & "_l"
Case 1: merk1 = wsd.Cells(i, 2).Value & "_m"
Case 2: merk1 = wsd.Cells(i, 2).Value & "_r"
End Select
ElseIf UBound(Split(wst.Cells(i + 7, C).Value, ";")) = 1 Then
Select Case j
Case 0: merk1 = wsd.Cells(i, 2).Value & "_l"
Case 1: merk1 = wsd.Cells(i, 2).Value & "_r"
End Select
Else
merk1 = wsd.Cells(i, 2).Value
End If
breed = Split(wst.Cells(i + 7, C).Value, ";")(j)
If wsd.Cells(i, wsd.Range("rTypedoek").Column).Value = "Satiné 5500" Then
ws.Range("A" & x).Value = Array(IO & "_" & Werknummer & "_" & merk1 & "_" & Plaats)
ws.Range("B" & x).Value = wsv.Range("F51").Value
ws.Range("D" & x & ":E" & x).Value = Array(breed, hoog)
ws.Range("C" & x).Value = Array(aantal)
ws.Range("G" & x).Value = wsv.Range("C52").Value
x = x + 1
ws.Cells(x - 1, 7).Value = wsd.Cells(i, wsd.Range("rTypedoek").Column).Value
ws.Cells(x - 1, 6).Value = wsd.Cells(i, wsd.Range("rKLnr").Column).Value
ws.Cells(x - 1, 11).Value = wsd.Cells(i, wsd.Range("Sunconfexoprolling").Column).Value
ws.Cells(x - 1, 8).Value = wsd.Cells(i, wsd.Range("rZichtzijdesun").Column).Value
ws.Cells(x - 1, 9).Value = wsd.Cells(i, wsd.Range("SunconfexBoven").Column).Value & "/" & wsd.Cells(i, wsd.Range("SunconfexOnder").Column).Value & "/" & wsd.Cells(i, wsd.Range("SunconfexZijKant").Column).Value
ws.Cells(x - 1, 17).Value = (Opmerking)
End If
If wsd.Cells(i, wsd.Range("rTypedoek").Column).Value = "Satiné 21154" Then
ws.Range("A" & x).Value = Array(IO & "_" & Werknummer & "_" & merk1 & "_" & Plaats)
ws.Range("B" & x).Value = wsv.Range("F51").Value
ws.Range("D" & x & ":E" & x).Value = Array(breed, hoog)
ws.Range("C" & x).Value = Array(aantal)
x = x + 1
ws.Cells(x - 1, 7).Value = wsd.Cells(i, wsd.Range("rTypedoek").Column).Value
ws.Cells(x - 1, 6).Value = wsd.Cells(i, wsd.Range("rKLnr").Column).Value
ws.Cells(x - 1, 11).Value = wsd.Cells(i, wsd.Range("Sunconfexoprolling").Column).Value
ws.Cells(x - 1, 8).Value = wsd.Cells(i, wsd.Range("rZichtzijdesun").Column).Value
ws.Cells(x - 1, 9).Value = wsd.Cells(i, wsd.Range("SunconfexBoven").Column).Value & "/" & wsd.Cells(i, wsd.Range("SunconfexOnder").Column).Value & "/" & wsd.Cells(i, wsd.Range("SunconfexZijKant").Column).Value
ws.Cells(x - 1, 17).Value = (Opmerking)
End If
Next j
If wsd.Cells(i, wsd.Range("rcMerk").Column).Value = "" Then
End
End If
Next i
Call BreakLinks(wb)
wb.saveas Replace(saveas, "/", "") & "_" & "Sunconfex" & "_" & ".CSV", FileFormat:=xlCSV, Local:=True
'FileFormat:=xlCSVMSDOS, CreateBackup:=False
wb.Close False
startstopevents (True)
Exit Sub
errhandler:
MsgBox Err.Description
startstopevents (True)
End Sub
Nu in het ene office wekt het juist en zie ik geen ; bij lege velden maar bij de ander wel.
zie bijlage voorbeeld op word bestand,en onderstaand het stuk VBA code.
Ik zie graag jullie reacties tegemoet
Werknummer = wsd.Range("B3").Value
Plaats = wsd.Range("B2").Value
IO = wsv.Range("E52").Value
Opmerking = wsv.Range("C56").Value
'Gegevens in regels zetten
x = ws.Range("diStartData2").Row
For i = y To wsd.Cells(Rows.Count, 2).End(xlUp).Row
Merk = wsd.Cells(i, 2).Value
aantal = wsd.Cells(i, 3).Value
hoog = wsd.Cells(i, wsd.Range("rcLengte").Column).Value
If wsd.Cells(i, wsd.Range("rcSoort").Column).Value <> "Type 1 (normaal)" Then
gekoppeld = "Gekoppeld met "
Else
gekoppeld = ""
End If
For j = 0 To UBound(Split(wst.Cells(i + 7, C).Value, ";"))
If UBound(Split(wst.Cells(i + 7, C).Value, ";")) > 1 Then
Select Case j
Case 0: merk1 = wsd.Cells(i, 2).Value & "_l"
Case 1: merk1 = wsd.Cells(i, 2).Value & "_m"
Case 2: merk1 = wsd.Cells(i, 2).Value & "_r"
End Select
ElseIf UBound(Split(wst.Cells(i + 7, C).Value, ";")) = 1 Then
Select Case j
Case 0: merk1 = wsd.Cells(i, 2).Value & "_l"
Case 1: merk1 = wsd.Cells(i, 2).Value & "_r"
End Select
Else
merk1 = wsd.Cells(i, 2).Value
End If
breed = Split(wst.Cells(i + 7, C).Value, ";")(j)
If wsd.Cells(i, wsd.Range("rTypedoek").Column).Value = "Satiné 5500" Then
ws.Range("A" & x).Value = Array(IO & "_" & Werknummer & "_" & merk1 & "_" & Plaats)
ws.Range("B" & x).Value = wsv.Range("F51").Value
ws.Range("D" & x & ":E" & x).Value = Array(breed, hoog)
ws.Range("C" & x).Value = Array(aantal)
ws.Range("G" & x).Value = wsv.Range("C52").Value
x = x + 1
ws.Cells(x - 1, 7).Value = wsd.Cells(i, wsd.Range("rTypedoek").Column).Value
ws.Cells(x - 1, 6).Value = wsd.Cells(i, wsd.Range("rKLnr").Column).Value
ws.Cells(x - 1, 11).Value = wsd.Cells(i, wsd.Range("Sunconfexoprolling").Column).Value
ws.Cells(x - 1, 8).Value = wsd.Cells(i, wsd.Range("rZichtzijdesun").Column).Value
ws.Cells(x - 1, 9).Value = wsd.Cells(i, wsd.Range("SunconfexBoven").Column).Value & "/" & wsd.Cells(i, wsd.Range("SunconfexOnder").Column).Value & "/" & wsd.Cells(i, wsd.Range("SunconfexZijKant").Column).Value
ws.Cells(x - 1, 17).Value = (Opmerking)
End If
If wsd.Cells(i, wsd.Range("rTypedoek").Column).Value = "Satiné 21154" Then
ws.Range("A" & x).Value = Array(IO & "_" & Werknummer & "_" & merk1 & "_" & Plaats)
ws.Range("B" & x).Value = wsv.Range("F51").Value
ws.Range("D" & x & ":E" & x).Value = Array(breed, hoog)
ws.Range("C" & x).Value = Array(aantal)
x = x + 1
ws.Cells(x - 1, 7).Value = wsd.Cells(i, wsd.Range("rTypedoek").Column).Value
ws.Cells(x - 1, 6).Value = wsd.Cells(i, wsd.Range("rKLnr").Column).Value
ws.Cells(x - 1, 11).Value = wsd.Cells(i, wsd.Range("Sunconfexoprolling").Column).Value
ws.Cells(x - 1, 8).Value = wsd.Cells(i, wsd.Range("rZichtzijdesun").Column).Value
ws.Cells(x - 1, 9).Value = wsd.Cells(i, wsd.Range("SunconfexBoven").Column).Value & "/" & wsd.Cells(i, wsd.Range("SunconfexOnder").Column).Value & "/" & wsd.Cells(i, wsd.Range("SunconfexZijKant").Column).Value
ws.Cells(x - 1, 17).Value = (Opmerking)
End If
Next j
If wsd.Cells(i, wsd.Range("rcMerk").Column).Value = "" Then
End
End If
Next i
Call BreakLinks(wb)
wb.saveas Replace(saveas, "/", "") & "_" & "Sunconfex" & "_" & ".CSV", FileFormat:=xlCSV, Local:=True
'FileFormat:=xlCSVMSDOS, CreateBackup:=False
wb.Close False
startstopevents (True)
Exit Sub
errhandler:
MsgBox Err.Description
startstopevents (True)
End Sub