Hallo,
Voor jullie waarschijnlijk poepsimpel, maar ik zoek al paar dagen naar een oplossing en al van alles geprobeerd, en gegoogeld ... dus tijd voor een hulplijn !
Ik heb in bijlage een vereenvoudigde worksheet toegevoegd als voorbeeld.
Dit is mijn code (of probeersel), ik heb in de file in 2e tab gezet wat ik krijg, en wat ik wil krijgen, het lukt met maar niet om in de derde kolom de datum te krijgen, en dan moet per dag nog eens alles onder elkaar komen ook)
Hoe krijg ik in mijn datum in de derde kolom (is geen vaste waarde, dus zal altijd anders zijn), en hoe krijg ik alles netjes onder elkaar ?
eigenlijk wou ik liefst proberen met een loop, voor elke cel die groter dan 0 is moet die en die en die data naar daar ...., maar da ging al helemaal boven mijn petje
Alvast bedankt !
Voor jullie waarschijnlijk poepsimpel, maar ik zoek al paar dagen naar een oplossing en al van alles geprobeerd, en gegoogeld ... dus tijd voor een hulplijn !
Ik heb in bijlage een vereenvoudigde worksheet toegevoegd als voorbeeld.
Dit is mijn code (of probeersel), ik heb in de file in 2e tab gezet wat ik krijg, en wat ik wil krijgen, het lukt met maar niet om in de derde kolom de datum te krijgen, en dan moet per dag nog eens alles onder elkaar komen ook)
Code:
Sub EDIinvullen()
Application.ScreenUpdating = False
Worksheets("OmzettingEDI-1").Range("A1:F200").clear
'deel 1 - omzetting EDI-1
Dim lastrow As Integer
Dim wksSource As Worksheet, wksDest As Worksheet
Dim rngStart As Range, rngSourcedat1 As Range, rngDest1 As Range, rngSourcedat2 As Range, rgnDest2 As Range, rngDatum1 As Range
Set wksSource = ActiveWorkbook.Sheets("Bevestiging P&G")
Set wksDest1 = ActiveWorkbook.Sheets("OmzettingEDI-1")
'vind de laatste rij met inhoud
lastrow = wksSource.Range("A4").End(xlDown).Row
Set rngSourcedata = wksSource.Range("C4:G" & lastrow) 'gebruikt om alle lege velden met 0 in te vullen
Set rngSourcedat1 = wksSource.Range("A5:A" & lastrow & ",C5:C" & lastrow) 'referentie en aantal van datum 1
Set rngSourcedat2 = wksSource.Range("A5:A" & lastrow & ",D5:D" & lastrow) 'referentie en aantal van datum 2
Set rngDatum1 = wksSource.Range("C4") 'datum 1 - werkt niet
'nul invullen in lege cellen
On Error Resume Next
InputValue = 0
For Each cell In rngSourcedata
If IsEmpty(cell) Then
cell.Value = InputValue
End If
Next
'plak gegevens eerste datum - wel datum nog aanvullen in derde kolom
Set rngDest1 = wksDest1.Range("A1")
rngSourcedat1.Copy
rngDest1.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'datum invoegen in kolom C - werkt niet, cel A1 wordt gewist en datum in C1 van bevestiging ???
' rngDatum1 = wksDest1.Range("C1")
' rngDatum1.Copy
' rngDest1.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'
' plak gegevens tweede datum - wel datum nog aanvullen in derde kolom en moet onder eerste groep komen
Set rngDest2 = wksDest1.Range("D1")
rngSourcedat2.Copy
rngDest2.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Hoe krijg ik in mijn datum in de derde kolom (is geen vaste waarde, dus zal altijd anders zijn), en hoe krijg ik alles netjes onder elkaar ?
eigenlijk wou ik liefst proberen met een loop, voor elke cel die groter dan 0 is moet die en die en die data naar daar ...., maar da ging al helemaal boven mijn petje
Alvast bedankt !
Bijlagen
Laatst bewerkt: