Goedemorgen allemaal,
Ik zit met een kleine uitdaging.
Deze vba code zoekt in een kolom naar een Partij ID ( 6 cijfers )
Als in de kolom meerdere zelfde Partij ID zitten zal alleen de eerste
verwerkt worden.
Hoe krijg ik het voor elkaar dat na de eerste Partij ID gevonden is
en verwerkt dat vba verder kijkt naar nog meer Partij ID met de zelfde
nummer en die ook verwerken.
Het kan namelijk zijn dat de Partij ID allemaal het zelfde is met andere
Informatie denk aan prijzen of omschrijving enz
Ik hoop dat iemand mij kan helpen
Alvast bedankt
Ik zit met een kleine uitdaging.
Deze vba code zoekt in een kolom naar een Partij ID ( 6 cijfers )
Als in de kolom meerdere zelfde Partij ID zitten zal alleen de eerste
verwerkt worden.
Hoe krijg ik het voor elkaar dat na de eerste Partij ID gevonden is
en verwerkt dat vba verder kijkt naar nog meer Partij ID met de zelfde
nummer en die ook verwerken.
Het kan namelijk zijn dat de Partij ID allemaal het zelfde is met andere
Informatie denk aan prijzen of omschrijving enz
Ik hoop dat iemand mij kan helpen
Alvast bedankt
Code:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ean2 = TextBox1.Value * 1
ean1 = Mid(ean2, 8, 6) * 1
'box als geen barcode is ingevuld
If ean1 = "" Then
geenscanning = InputBox(Prompt:="scanning is niet gebeurd?", Title:="actie wordt gestopt", Default:="tis gedaan")
TextBox1.SetFocus
Exit Sub
End If
'commander file openen
'hier pad aanpassen
Dim wbcom As Workbook
Set wbcom = ActiveWorkbook
Workbooks.Open Filename:= _
"C:\Users\Rene_O\Desktop\Stickeren\Sticker informatie Nederland.xlsm"
Set wbcom = ActiveWorkbook
'ean zoeken in kolom Q
'kolom Q mag geen blanco tussenlijnen bevatten vanaf rij 5
i = 5
hit1 = 0
Do While Range("AO" & i).Value <> "" And hit1 = 0
If Range("AO" & i).Value = ean1 Then
'AN1 = Range("AI" & i).Value & ";" & Range("AC" & i).Value & ";" & Range("AM" & i).Value & ";" & Range("AA" & i).Value & ";" & Range("AB" & i).Value
AI1 = "T" & Range("AI" & i).Value
AC1 = Range("AC" & i).Value
L1 = Range("L" & i).Value
AM1 = Range("AM" & i).Value
Z1 = Range("Z" & i).Value
AA1 = Range("AA" & i).Value
AQ1 = Range("AQ" & i).Value
AF1 = Range("AF" & i).Value
AG1 = Range("AG" & i).Value
Q1 = Range("Q" & i).Value
I1 = Range("I" & i).Value
FF1 = Range("AN" & i).Value
hit1 = 1
End If
i = i + 1
Loop
If hit1 = 0 Then
geenmatch = InputBox(Prompt:="geen match gevonden?", Title:="actie wordt gestopt", Default:="tis gedaan")
Else
'bestand opslaan als TXT
Set fs = CreateObject("Scripting.FileSystemObject")
Dim bestand As String
bestand = "C:\Users\Rene_O\Desktop\Stickeren\Commander\Txt bestanden\" & FF1 & ".txt"
If fs.FileExists(bestand) Then
fs.DeleteFile (bestand)
End If
'ergens een lege xlsx opslaan met de naam rene
Workbooks.Open Filename:= _
"C:\Users\Rene_O\Desktop\Stickeren\rene.xlsx"
Range("F1").Value = AI1
Range("G1").Value = AC1
Range("H1").Value = AM1
Range("I1").Value = AA1
Range("J1").Value = AQ1
Range("K1").Value = L1
Range("L1").Value = Z1
Range("M1").Value = AF1
Range("N1").Value = AG1
Range("O1").Value = Q1
Range("p1").Value = I1
Columns("A:E").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:=bestand, FileFormat:= _
xlText, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=False
wbcom.Save
wbcom.Close
End If
TextBox1.SetFocus
TextBox1.Value = ""
End Sub