VLookUp in Userform in textbox

Status
Niet open voor verdere reacties.

masala09

Gebruiker
Lid geworden
6 aug 2012
Berichten
886
Ik heb het geprobeerd. Ik wilde toch nog een userform inbrengen voordat ik het geheel zou gaan gebruiken. Ik kom alleen niet uit de VLookUp voor in het userform.

Op het werkblad werkt het allemaal wel, maar dit wil ik dus omzetten naar userform.


Opmerking:
Private Sub VLookUp() is geen combobox en ook geen object. Ik wilde deze sub gebruiken voor alle VLookUp.


Code:
Private Sub UserForm_Initialize()
    
    Tb_Datum = Date & " / " & Time
    Tb_Aantal_Rij.Value = Range("B21")
    Cmb_Zoekwaarde.RowSource = "Soort"
    
End Sub

Private Sub Cmb_Zoekwaarde_Change()

    Cmb_Merk.RowSource = Cmb_Zoekwaarde.Value

End Sub

Private Sub Cmb_Merk_Change()

    Cmb_Omschrijving.RowSource = Cmb_Merk.Value
    
End Sub

Private Sub Cb_Toevoegen_Click()
    
    With Sheets("Opmaak")
        Range("A12") = Cmb_Zoekwaarde
        Range("B12") = Cmb_Merk
        Range("C12") = Cmb_Omschrijving
        Range("D12") = Tb_Art_Lev
        Range("E12") = Tb_EAN
        Range("F12") = Tb_Art_TU
        Range("G12") = Tb_Prijs
        Range("H12") = Tb_Aantal
        Unload Me
        Call Module1.Artikel_Toevoegen
       
    End With
    
End Sub

Private Sub Cb_Reset_Click()
    
    Unload Me
    
End Sub

' Hieronder de VLookUp

' Alleen waar ik het moet neerzetten dat is mij onduidelijk.

'De onderstaande textboxen moeten gevuld worden zodra de waarden in de 3 Comboboxen (Cmb_Zoekwaarde, Cmb_Merk en Cmb_Omschrijving) zijn ingevoerd.

Private Sub VLookUp()
    
    With Application.WorksheetFunction
    
        Tb_Art_Lev.Value = .VLookup(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 3, False)
        Tb_EAN.Value = .VLookup(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 5, False)
        Tb_Art_TU.Value = .VLookup(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 6, False)
        Tb_Prijs.Value = .VLookup(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 7, False)
    
    End With

End Sub

Private Sub Tb_Art_Lev_Change()

End Sub

Private Sub Tb_Art_TU_Change()

End Sub

Private Sub Tb_EAN_Change()

End Sub

Private Sub Tb_Prijs_Change()

End Sub
 
Laatst bewerkt:
Mooiste is en blijft als je zelf de oplossing vind.

Ik heb de oplossing dan ook gevonden. Ik heb een private sub voor Cmb_Omschrijving aangemaakt en daarin de volgende code gezet.

Code:
Private Sub Cmb_Omschrijving_Change()

    Tb_Art_Lev.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 3, False)
    Tb_EAN.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 5, False)
    Tb_Art_TU.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 6, False)
    Tb_Prijs.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 7, False)

End Sub

Dit werkt perfect. Alleen moet ik nu nog de prijs aanpassen met een € teken ervoor en met een komma in plaats van een punt en dat ligt anders dan de format code die ik ken. Dus als iemand mij dan hier het antwoord op wilt geven dan graag.

De code voor wegschrijven is als volgt:

Code:
Private Sub Cb_Toevoegen_Click()
    
    With Sheets("Opmaak")
        Range("A12") = Cmb_Zoekwaarde
        Range("B12") = Cmb_Merk
        Range("C12") = Cmb_Omschrijving
        Range("D12") = Tb_Art_Lev
        Range("E12") = Tb_EAN
        Range("F12") = Tb_Art_TU
        Range("G12") = Tb_Prijs
        Range("H12") = Tb_Aantal
        Unload Me
        Call Module1.Artikel_Toevoegen
       
    End With
    
End Sub

De code voor wegschrijven naar het werkblad is als volgt.

Code:
With Sheets("Opmaak")
            .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 9) = Array(.Range("B21") + 1, _
            .Range("B12"), .Range("C12"), .Range("D12"), .Range("E12"), .Range("F12"), .Range("G12"), .Range("H12"), _
            .Range("I12"))
            
            Sheets("Opzet").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 9) = Array(.Range("B21"), _
            .Range("B12"), .Range("C12"), .Range("D12"), .Range("E12"), .Range("F12"), .Range("G12"), .Range("H12"), _
            .Range("I12"))
        End With
        
        With Sheets("Opmaak")
            .Range("A65000").End(xlUp).Offset(1).Resize(, 9).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        End With
        
        With Sheets("Opzet")
            .Range("A65000").End(xlUp).Offset(1).Resize(, 9).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        End With
 
Laatst bewerkt:
Of:
Code:
Range("A12").resize(,8) = array(Cmb_Zoekwaarde,Cmb_Merk,Cmb_Omschrijving,Tb_Art_Lev,Tb_EAN,Tb_Art_TU,Tb_Prijs,Tb_Aantal)
 
Voor de vermenigvuldiging.

Code:
Private Sub Tb_Aantal_AfterUpdate()

    Tb_Totaal = CDbl(Tb_Aantal.Text) * CDbl(Tb_Prijs.Text)

End Sub

voor het leegmaken.

Code:
Private Sub Cb_Reset_Click()

    For Each ctl In Me.Controls
        If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then ctl.Value = vbNullString
    Next
    Unload Me
    
End Sub
 
Sorry heb toch nog één en ander iets aangepast daar ik het niet eens was met een paar opstellingen.

Wat is gewijzigd.

Ik heb er nu voor gezorgd dat het totaal voor het gekozen artikel is verplaatst naar een andere textbox. Deze staat nu onderin (Totaal bedrag voor dit artikel). Deze dient direct getoond te worden zodra textbox Aantal is ingevoerd. Nu gebeurd het pas zodra ik via het toetsenbord (Knop TAB) naar de knop: Artikel toevoegen aan lijst, ga.

Bij het openen van het userform dient de label: Totaal bedrag offerte, te worden getoond. Dit gebeurd, maar staat nog steeds een regel te hoog en wordt ook niet afgerond op 2 cijfers achter de komma.

Daarnaast heb ik nog een labelbox: Totaal bedrag huidige invoer, toegevoegd. Deze dient er voor om het totaal te laten zien wat tijdens een invoersessie totaal wordt ingevoerd. Bij iedere toevoeging van een artikel dient deze te worden verhoogd. Naast deze dient ook direct de label rechts naast de label: Totaal bedrag van offerte, ook telkens te worden opgehoogd zodra er een artikel is toegevoegd.

Dit alles heb ik gedaan zodat ik nog meer overzicht heb met de totaalprijzen.

Ik hoop dat ik zo weer een beetje de verwarringen heb weggenomen. Ook heb ik meteen een nieuw bestand toegevoegd. Er staan nog wel een zootje aan testregels in.

Bekijk bijlage Materiaal TU macro.xlsm


De code achter het userform:

Code:
Private Sub UserForm_Initialize()

    Lb_Datum_Show = Date & " / " & Time
    Lb_Totaal1_Show = Cells(Rows.Count, 9).End(xlUp).Rows - 1
    Lb_Aantal_Rij_Show = ActiveSheet.Range("B21")
    Cmb_Zoekwaarde.RowSource = "Soort"
    
End Sub

Private Sub Cmb_Zoekwaarde_Change()

    Cmb_Merk.RowSource = Cmb_Zoekwaarde.Value
    Cmb_Merk.SetFocus

End Sub

Private Sub Cmb_Merk_Change()

    Cmb_Omschrijving.RowSource = Cmb_Merk.Value
    Cmb_Omschrijving.SetFocus
    
End Sub

Private Sub Cmb_Omschrijving_Change()
    
    On Error Resume Next
    
    Tb_Art_Lev.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 3, False)
    Tb_EAN.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 5, False)
    Tb_Art_TU.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 6, False)
    
    With Tb_Prijs
    .Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 7, False)
    '.Value = Format(Replace(.Value, ".", ","), "€ 0.00")
    End With
    
    Tb_Aantal.SetFocus
    
End Sub

Private Sub Tb_Aantal_AfterUpdate()
    
    On Error Resume Next
    Tb_Totaal_Artikel = CDbl(Tb_Aantal.Text) * CDbl(Tb_Prijs.Text)
    
End Sub

Private Sub Tb_Totaal_Artikel_Afterupdate()
    
    'Lb_Totaal2_Show =
    
End Sub

Private Sub Cb_Toevoegen_Click()

    Select Case Cmb_Zoekwaarde
        Case Is = vbNullString
        
            MsgBox ("U heeft geen gegevens ingevoerd." & vbNewLine & vbNewLine & "Klik OK om door te gaan."), vbExclamation, "Gegevens invoer"
            Exit Sub
        Case Else
            With Sheets("Opmaak")
        
                .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 9) = Array(.Range("B21") + 1, Cmb_Merk, Cmb_Omschrijving, Tb_Art_Lev, Tb_EAN, Tb_Art_TU, Tb_Prijs, Tb_Aantal, Tb_Prijs * Tb_Aantal)
            
                Sheets("Opzet").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 9) = Array(.Range("B21"), Cmb_Merk, Cmb_Omschrijving, Tb_Art_Lev, Tb_EAN, Tb_Art_TU, Tb_Prijs, Tb_Aantal, Tb_Prijs * Tb_Aantal)
            
            End With
        
            With Sheets("Opmaak")
                .Range("A9000").End(xlUp).Offset(1).Resize(, 9).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            End With
        
            With Sheets("Opzet")
                .Range("A9000").End(xlUp).Offset(1).Resize(, 9).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            End With

            Dim Verhogen As Long
                Verhogen = Lb_Aantal_Rij_Show
                Lb_Aantal_Rij_Show = Verhogen + 1
                
            
    
            Call Cb_Reset_Click
            
        End Select
        
End Sub

Private Sub Cb_Reset_Click()

    For Each ctl In Me.Controls
        If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then ctl.Value = vbNullString
    Next
        Cmb_Zoekwaarde.SetFocus
        
End Sub

Private Sub Cb_Afsluiten_Click()

    Unload Me
    
End Sub
 
Laatst bewerkt:
Snb... Moet ik eerlijk zijn... VBA gaat mij nog steeds met veel regels boven mijn pet. Ik probeer en probeer en hier en daar lukt het aardig. Ik merk zelf al dat ik toch dusdanig eigenwijs ben en allerlei manieren probeer om iets toch voor elkaar te krijgen. Soms lukt het en vaak nog niet. Toch blijf ik proberen en stoeien en pas ik ook codes aan soms van internet pluk. Daar ik soms de opzet niet direct kan verzinnen. Ook hier leer ik weer van.

Kijkende naar jouw en serieus gemeend, geniale manieren, verdwaal ik al helemaal. Die kennis is mij nog veel en veel te ver. Hiermee wil ik jou goede bedoeling beslist niet afwijzen, maar ik verdwaal dan enkel maar nog meer. Jij maakt, voor wat ik met regelmaat heb gezien, van hele lappen codes slechts een paar regels code. Ik, en ik vermoed zelfs meerdere, blijf mij daar serieus over verbazen en dan helemaal als diezelfde code van jou dan exact het zelfde doet.

Ik weet ondertussen dat ik het niet aan jullie kan overlaten om alles maar op te lossen en dat is ook sowieso niet mijn bedoeling. Daarom probeer ik het ook meer zelf te doen, maar toch heb ik daarnaast ook jullie hulp nodig. Ook al is de oplossing voor jullie dan zo simpel. Althans zo lijkt het mij. Als ik die hulp krijg, ben ik jullie zondermeer zeer dankbaar.

Wellicht dat het van mijn kant niet altijd zo overkomt, maar ik heb nogal moeite met mij te uiten en al helemaal via internet. Daarnaast leef ik over het algemeen in een hele andere wereld als menigeen. Dus als ik dan soms schriftelijk fel overkom.... Dan spijt het mij. Het is dan slechts een ondoordachte impulsieve reactie. Mijn enige nadeel hierin is dat ik er veelal niet altijd op terug kom en dat ik mij terugtrek om vervolgens later weer gewoon te verschijnen.

Misschien was deze lap tekst aan jou helemaal niet nodig, maar ik vond dat ik mij in zekere zin toch wel even moest verantwoorden. Dit naar jou en eventueel ook anderen.

Mvg. Maarten
 
Laatst bewerkt:
Wat is het verschil tussen:

Lb_Totaal1_Show = Cells(Rows.Count, 9).End(xlUp).Rows - 1

en:

Lb_Totaal1_Show = Cells.Range("I7000").Rows.End(xlUp).Offset(-1, 0)


De tweede werkt namelijk en heb ik eigenlijk door een beetje vogelen gevonden.

Daarbij werkt dus ook de volgende code:

Lb_Totaal1_Show = Cells.Range("I7000").End(xlUp).Offset(-1, 0)


Wat is het verschil?

De volgende stap voor deze is dat er nu nog een Euro teken voor moet en dat is volgens mij met .Value, maar hier doe ik wel iets telkens fout. Daarnaast dient deze ook telkens automatisch te worden ververst zodra er een wijziging heeft plaatsgevonden.
 
Laatst bewerkt:
Zet het om in een messagebox, en je weet het.
Code:
msgbox Cells(Rows.Count, 9).End(xlUp).offset(-1).address
 
Ik neem aan dat je .Value bedoelt ipv .Address.

Dus:

msgbox Cells(Rows.Count, 9).End(xlUp).offset(-1).value

Met .Address krijg je positie van de cel... Celrij en Kolom.

Of je moet het verkeerd begrepen hebben door wellicht een verkeerde stelling van vraag.

Maar goed. Als ik jou code gebruik en onder de knop Artikel invoegen plaats dan krijg ik een msgbox met daarin de waarde van de een na laatste cel in kolom I. Opzicht leuk, maar ik vind deze eigenlijk te omslachtig. Ik wil juist graag wel de waarde zien, maar dan in de label met het Euro teken ervoor en met 2 cijfers achter de komma. Value en Text werken niet met Label. Terwijl zij wel weer werken met een textbox. Echter hier heb ik dan weer het probleem dat deze ook gewist wordt zodra de textboxen op vbnullstring worden gezet na het toevoegen van het artikel. Ik heb al zitten vogelen naar het overslaan van een textbox, maar dit is mij nog niet gelukt.

Daarnaast moet de telling ook direct actueel worden in het Label of desnoods toch textbox.
 
Wellicht even een mooie aanvulling. Gewoon uit verveling.

MsgBox ("Uw totaal offertebedrag is nu:" & vbNewLine & vbNewLine & "€ " & Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value), vbInformation, "Huidig Offertebedrag"
 
Wat wel weer zo is, is dat ik hier wel weer een stap vooruit mee ben gekomen. Ik heb nu als code ingevoerd:

Code:
MsgBox ("Het huidige totaal offertebedrag is nu:" & vbNewLine & vbNewLine & "€ " & Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value), vbInformation, "Huidig Offertebedrag"
        Lb_Totaal1_Show = Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value

En als ik nu in feite de msgbox zou weghalen......... verandert de label. Dus ondanks jouw input en dat deze niet helemaal naar mijn vraagstelling was... ben ik wel een stapje vooruit. Ik zag het weer even. :thumb:

Echter toch een update.... nog steeds geen Euro teken......... hihi
 
Laatst bewerkt:
Nu wel... even een Euro teken ervoor zetten als tekst... haha.. Domdomdom
Code:
Lb_Totaal1_Show = "€ " & Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value

En ook opgelost alleen nog wel zonder € Teken ervoor..... Is de optelling van de invoersessie middels DIM.
Graag een controle hierop.

Code:
'Select Case Lb_Totaal2_Show
                Case Is = vbNullString
                    Lb_Totaal2_Show = Tb_Totaal_Artikel.Text
                Case Is > vbNullString
                    Dim Verhogen2 As Double
                    Verhogen2 = Lb_Totaal2_Show
                    Lb_Totaal2_Show = "€ " & Verhogen2 + Tb_Totaal_Artikel.Text
                End Select

Update:

Hmmmpfff zelfde manier dus.... gewoon een Euro teken voor de formule plaatsen en klaar.

Het leuke is voor nu enkel nog in de labels. Hier krijg ik de valuta niet goed erin... Dat wil zeggen.... € 23,40 wordt nu
weergegeven als € 23,4

Ik mis dus de juiste wijze van notatie.....

Een 2e code waar ik hetzelfde in heb is:

Code:
Lb_Totaal1_Show = "€ " & Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value
 
Laatst bewerkt:
Je wou het verschil zien, dus is het met 'address' beter op te sporen dan met waarden.
Stel dat je een aantal dezelfde waarden in een kolom hebt staan, zoek jij je rot.
Code:
= Format(Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value, "€ 0.00")
 
Laatst bewerkt:
Aha dus dat bedoelde VBA met verwacht expressie of zoiets. Ik zat erg in de buurt.

Code:
Lb_Totaal1_Show = format("€ " & Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value, "0.00")

Dus eigenlijk gewoon verkeerd geschreven.

Nu zit ik nog wel met een ander probleem, want ik denk dat deze anders is. Ik moet hier namelijk ook hetzelfde krijgen, maar ook hier lukte mij het niet. Ook niet met het spelen van jouw code. Wellicht dat het komt door het rekenen.

Code:
Lb_Totaal2_Show = "€ " & Tb_Totaal_Artikel.Text + Verhogen2

Als ik de volledige code plaats... Wil jij die dan nalopen op eventuele onregelmatigheden of zaken die beter kunnen?
 
probeer eens:
Code:
Lb_Totaal2_Show = format(cdec(Tb_Totaal_Artikel.Text + Verhogen2),"€ 0.00")
 
Het ziet er naar uit dat het werkt.

Code:
Private Sub UserForm_Initialize()

    Lb_Datum_Show = Date & " / " & Time
    Lb_Totaal1_Show = Format(Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value, "€ 0.00")
    Lb_Aantal_Rij_Show = ActiveSheet.Range("B21")
    Cmb_Zoekwaarde.RowSource = "Soort"

End Sub



Private Sub Cmb_Zoekwaarde_Change()

    Cmb_Merk.RowSource = Cmb_Zoekwaarde.Value
    Cmb_Merk.SetFocus

End Sub

Private Sub Cmb_Merk_Change()

    Cmb_Omschrijving.RowSource = Cmb_Merk.Value
    Cmb_Omschrijving.SetFocus
    
End Sub

Private Sub Cmb_Omschrijving_Change()
    
    On Error Resume Next
    
    Tb_Art_Lev.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 3, False)
    Tb_EAN.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 5, False)
    Tb_Art_TU.Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 6, False)
    
    With Tb_Prijs
    .Value = Application.WorksheetFunction.VLookUP(Cmb_Omschrijving.Value, Sheets("Materiaallijst").Range("A3:J370"), 7, False)
    .Value = Format(Replace(.Value, ".", ","), "€ 0.00")
    End With
    
    Tb_Aantal.SetFocus
    
End Sub

Private Sub Tb_Aantal_AfterUpdate()
    
    On Error Resume Next
    With Tb_Totaal_Artikel
        .Value = CDbl(Tb_Aantal.Text) * CDbl(Tb_Prijs.Text)
        .Value = Format(Replace(.Value, ".", ","), "€ 0.00")
    End With
    
End Sub

Private Sub Cb_Toevoegen_Click()

    Select Case Cmb_Zoekwaarde
        Case Is = vbNullString
            MsgBox ("U heeft geen gegevens ingevoerd." & vbNewLine & vbNewLine & "Klik OK om door te gaan."), vbExclamation, "Gegevens invoer"
            Exit Sub
        Case Else
            With Sheets("Opmaak")
                .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 10) = Array(.Range("B21") + 1, Cmb_Merk, Cmb_Omschrijving, Tb_Art_Lev, Tb_EAN, Tb_Art_TU, Tb_Prijs, Tb_Aantal, Tb_Prijs * Tb_Aantal, Lb_Datum_Show)
            
                Sheets("Opzet").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 9) = Array(.Range("B21"), Cmb_Merk, Cmb_Omschrijving, Tb_Art_Lev, Tb_EAN, Tb_Art_TU, Tb_Prijs, Tb_Aantal, Tb_Prijs * Tb_Aantal)
            End With
        
            With Sheets("Opmaak")
                .Range("A9000").End(xlUp).Offset(1).Resize(, 10).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            End With
        
            With Sheets("Opzet")
                .Range("A9000").End(xlUp).Offset(1).Resize(, 9).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            End With

            Dim Verhogen As Long
                Verhogen = Lb_Aantal_Rij_Show
                Lb_Aantal_Rij_Show = Verhogen + 1
            
            Lb_Totaal1_Show = Format(Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value, "€ 0.00")
            
            Select Case Lb_Totaal2_Show
                Case Is = vbNullString
                    Lb_Totaal2_Show = Tb_Totaal_Artikel.Text
                Case Is > vbNullString
                    Dim Verhogen2 As Double
                    Verhogen2 = Lb_Totaal2_Show
                    Lb_Totaal2_Show = Format(CDec(Tb_Totaal_Artikel.Text + Verhogen2), "€ 0.00")
            End Select
            
            Tb_Merk_Laatste = Cmb_Merk
            Tb_Omschrijving_Laatste = Cmb_Omschrijving
            Tb_EAN_Laatste = Tb_EAN
            Tb_Art_TU_Laatste = Tb_Art_TU
            Tb_Aantal_Laatste = Tb_Aantal
            
            'Call Cb_Reset_Click
            
        End Select
        
End Sub

Private Sub Cb_Reset_Click()

    For Each ctl In Me.Controls
        If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then ctl.Value = vbNullString
    Next
    Cmb_Zoekwaarde.SetFocus
        
End Sub

Private Sub Cb_LaatsteRijWissen_Click()

    Dim Lastrow As Integer
    Lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    
    If Lastrow > 26 Then
        Range("A" & Rows.Count).End(xlUp).EntireRow.Delete
        Application.ScreenUpdating = False
        Call Artikel_Lijst_Wissen
        Application.ScreenUpdating = True
        
        Dim Verlagen As Long
            Verlagen = Lb_Aantal_Rij_Show
            Lb_Aantal_Rij_Show = Verlagen - 1
            
        Lb_Totaal1_Show = Format(Cells(Rows.Count, 9).End(xlUp).Offset(-1).Value, "€ 0.00")
        
        Select Case Lb_Totaal2_Show
                Case Is = vbNullString
                    MsgBox ("U heeft voor deze invoersessie geen artikelrijen meer te wissen." & vbNewLine & vbNewLine & "Klik Ok om door te gaan.")
                    Exit Sub
                Case Is > vbNullString
                    Dim Verlagen2 As Double
                    Verlagen2 = Lb_Totaal2_Show
                    Lb_Totaal2_Show = Format(Verlagen2 - CDec(Cells(Rows.Count, 9).End(xlUp).Offset(-5).Value), "€ 0.00")
                End Select
                
    Else
        MsgBox ("Er zijn geen gegevens om te wissen." & vbNewLine & vbNewLine & "Klik OK om door te gaan."), vbExclamation, "Laatste artikel wissen"
        Exit Sub
    End If
        
End Sub

Private Sub Cb_NaarPrevieuw_Click()

    Unload Me
    Sheets("Opmaak").Select
    
End Sub

Private Sub Cb_Afsluiten_Click()

    Unload Me
    
End Sub

Bekijk bijlage Materiaal TU macro.xlsm
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan