tijmen_4real
Gebruiker
- Lid geworden
- 20 apr 2005
- Berichten
- 338
Hoi,
Ik heb een Excel met hierin een knop die aan een actie gekoppeld is:
De VBA werkt voor een testregel (6) prima, maar nu wil ik graag dat hij deze loopt en de printLabels uitvoert voor iedere regel in kolom H die een waarde heeft die groter is dan 0. Hoe werkt zoiets? Moet ik dan eerst het einde van de kolom bepalen, de loop inzetten en dan een if-else toevoegen?
Ik heb een Excel met hierin een knop die aan een actie gekoppeld is:
Code:
Private Sub CommandButton1_Click() 'sub voor actie bij bevestiging
Dim actueleRegel As String
actueleRegel = 6
If Sheets("XO").Range("C3").Value = "" Then
MsgBox ("Kies de kleur van het materiaal om verder te gaan")
End If
If Sheets("XO").Range("F6").Value = "" Then
MsgBox ("Kies de type materiaal om verder te gaan")
End If
If Sheets("XO").Range("E6").Value = "" Then
MsgBox ("Kies de fillerkleur om verder te gaan")
End If
If Sheets("XO").Range("C2").Value = "" Then
MsgBox ("Vul het VO-nummer in om verder te gaan")
Else
'Variabele onderdelen op label
Sheets("Label").Range("C1").Value = "Type: " & Sheets(2).Range("F" & actueleRegel).Value 'Type materiaal
Sheets("Label").Range("C3").Value = "Filler: " & Sheets(2).Range("E" & actueleRegel).Value 'Fillerkleur
Sheets("Label").Range("A4").Value = "XO - " & Sheets(2).Range("A" & actueleRegel).Value 'Naam klant + type boot
Sheets("Label").Range("A5").Value = Sheets(2).Range("B" & actueleRegel).Value 'Omschrijving onderdeel
Sheets("Label").Range("A6").Value = "Parts no.: " & Sheets(2).Range("C" & actueleRegel).Value 'Nummer onderdeel
'Vaste onderdelen op label
Sheets("Label").Range("C2").Value = "Kleur: " & Sheets(2).Range("C3").Value 'Kleur materiaal ** VAST **
Sheets("Label").Range("A7").Value = "VO-nummer: " & Sheets(2).Range("C2").Value 'VO-nummer ** VAST **
Call printLabels
End If
End Sub
Sub printLabels()
Dim actueleRegel As String
actueleRegel = 6
Dim aantalLabels As String
aantalLabels = Sheets(2).Range("H" & actueleRegel).Value 'Aantal te printen etiketten definiëren
Sheets(4).Range("A1:C9").PrintOut Copies:=aantalLabels, Collate:=True
Call emptyLabel 'Label legen voor volgende
'regel herhalen tot laatste regel met waarde in kolom H (-1)
End Sub
De VBA werkt voor een testregel (6) prima, maar nu wil ik graag dat hij deze loopt en de printLabels uitvoert voor iedere regel in kolom H die een waarde heeft die groter is dan 0. Hoe werkt zoiets? Moet ik dan eerst het einde van de kolom bepalen, de loop inzetten en dan een if-else toevoegen?