• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Userform wegschrijven

Status
Niet open voor verdere reacties.

verluc

Gebruiker
Lid geworden
29 mei 2009
Berichten
535
Heb een userform gemaakt met 10 Textboxen
Deze gegevens worden na invulling weggeschreven naar blad1
Wat is het probleem : Op blad1 staan in kolomA ongeveer 500 artikelen
Nu moet bij het wegschrijven de lijn gezocht die voorkomt in de Textbox7 in kolom A
Is deze niet aanwezig dan wegschrijven op de laatste lijn.
Kan dit zonder gebruik van lijnnummers ?
Met dank.
 
Excel heeft rijen en kolommen, geen lijnen.
 
Akkoord SNB, maar met lijnnummers bedoelde ik de nummering die automatisch op een sheet staat, zonder zelf een rijnummer te creeren.
 
Een voorbeeldje zou al een stuk vereenvoudiging scheppen.
 
Ook daar hebben we het over rijnummers en niet over lijnnummers.
Het is handig in Excel dezelfde taal te spreken, vooral als je erover met anderen wil communiceren. Kijk eens in je Excel handboek of de hulpbestanden van Excel voor de juiste terminologie.
 
Met Application.Match kan je een RIJnummer opzoeken waarin de gegevens van Textbox7 staan.
Met IsError kan je dan op aanwezigheid controleren.
Met gebruik van Cells kan je dan de gegevens naar die RIJ wegschrijven.
 
Warme Bakkertje,

Met dank voor Uw uiteenzetting van de drie codes.
Vraag is waar moeten deze geplaatst worden in onderstaande macro, rekening houdend dat Textbox7 de te zoeken rij is in kolom A

Sub Definitief_click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Data")
iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
ws.Cells(iRow, 15).Value = Me.Nummer.Value
ws.Cells(iRow, 1).Value = Me.TextBox7.Value
ws.Cells(iRow, 4).Value = Me.Textbox0.Value
ws.Cells(iRow, 16).Value = Me.TextBox8.Value
ws.Cells(iRow, 2).Value = Me.ComboBox5.Value
ws.Cells(iRow, 17).Value = Me.TextBox9.Value
ws.Cells(iRow, 5).Value = Me.TextBox20.Value
ws.Cells(iRow, 18).Value = Me.TextBox10.Value
Range("A:Z").Columns.AutoFit
End Sub
 
Code:
Sub Definitief_click()
  sheets("Data").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(,18)=array(TextBox7,ComboBox5.Value,Textbox0,TextBox20,,,,,,,,,,Nummer.Value,TextBox8,TextBox9,TextBox10)
End Sub
 
SNB, geweldig zo een one-liner. Onbegrijpelijk hoe U dit voor mekaar krijgt.
Een enkele opmerking : deze code voegt altijd een nieuwe bij op de laatste rij, houd dus geen rekening of Textbox7 als bestaat dan niet.
 
Gewoon analyseren wat de code doet.

Die voorwaarde kun je nu zelf eenvoudig inbouwen.
 
Code:
Sub Definitief_click()
    With Sheets("Data")
        fRow = Application.Match(Textbox7.Text, .Columns(1), 0)
        If Not IsError(fRow) Then
            .Cells(fRow, 2).Resize(, 17) = Array(ComboBox5.Value, Textbox0, TextBox20, , , , , , , , , , Nummer.Value, TextBox8, TextBox9, TextBox10)
        Else
            .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(, 18) = Array(Textbox7, ComboBox5.Value, Textbox0, TextBox20, , , , , , , , , , Nummer.Value, TextBox8, TextBox9, TextBox10)
        End If
        .Range("A:Z").Columns.AutoFit
    End With
End Sub
 
Bedankt voor deze suggesties.Kan hierop inderdaad verder bouwen.
Nogmaals dank voor Uw tijd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan