• 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.

hoeveelste rij

Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
800
Hallo

ik ben opzoek naar een code die mij vertelt op de hoeveelste plaats (rij) een naam staat
heb in kolom A de namen staan
en gebruik ListBox1 om de namen (evt. te verwijderen)
ik verwijder dan de hele rij, echter het getal wat achter een verwijderde naam staat heb ik nog nodig.
Het is uiteindelijk de bedoeling dat ik het getal van kolom B (wat in de zelfde rij staat als de naam van kolom A staat er uit filter)
maar denk als ik het rij nummer heb, het met vlookup wel zal lukken

Don
 
Als de Listbox ontstaat uit de gegevens van hetzelfde werkblad, kun je volstaan met.
Listindex +1
 
Lukt me niet ( die listbox gegevens worden hier geladen)

Code:
Private Sub CommandButton1_Click()
Dim RowCount As Long
response = MsgBox("Wil je " & ListBox1 & " verwijderen ", vbCritical + vbQuestion + vbYesNo, "Wil je echt verwijderen")
If response = vbNo Then
Exit Sub
Else
RowCount = Worksheets("invoerchf").Range("o1").CurrentRegion.Rows.Count
With Worksheets("invoerchf").Range("o1")
.Offset(RowCount, 0) = ListBox1
End With
With Worksheets("invoerchf").Range("p1")
.Offset(RowCount, p) = ListBox1.ListIndex + 2
End With
Sheets("invoerchf").Rows(ListBox1.ListIndex + 2).Delete
     Unload Me

krijg keurig de naam van de te verwijderde chf in kolom o
maar in kolom P de positie waar de chf stond niet de waarde van kolom B


Don
 
Laatst bewerkt:
Don,

In
Code:
Worksheets("invoerchf").Range("p1").Offset(RowCount, p) = ListBox1.ListIndex + 2
staat in de offset een variabele p, deze wordt niet gedefinieerd en staat dus waarschijnlijk voor een 0
ik vraag me af of dit wel goed gaat.
Ik vind de vraag zo zonder voorbeeld moeilijk te beantwoorden ik stel voor dat je een voorbeeldje plaatst.

Veel Succes.
 
ben nu hier:
met pl haal ik het rijnummer weg

Code:
Private Sub CommandButton1_Click()
Dim RowCount As Long
response = MsgBox("Wil je " & ListBox1 & " verwijderen ", vbCritical + vbQuestion + vbYesNo, "Wil je echt verwijderen")
If response = vbNo Then
Exit Sub
Else
RowCount = Worksheets("invoerchf").Range("o1").CurrentRegion.Rows.Count
With Worksheets("invoerchf").Range("o1")
.Offset(RowCount, 0) = ListBox1
pl = ListBox1.ListIndex + 1
[COLOR="#FF0000"]Application.WorksheetFunction.VLookup([/COLOR]
End With
Sheets("invoerchf").Rows(ListBox1.ListIndex + 2).Delete
     Unload Me
 
Kan allemaal wel zijn, maar ik ben niet in het casino.
Zie #5 van @Elsendoorn.
 
Hoi ik begrijp het, ben er echt al de hele middag mee bezig om er iets van te maken
kan het bestandje niet verzenden is net te groot.

heb in rij a een aantal namen staan van a2 tot a 90
in kolom b heb ik achter elke naam een getal staan in geen enkele logica
nu heb ik een userform gemaakt met een listbox, ik vul die list via kolom A
selecteer een naam en verwijder dan de rij
dat lukt prima ook de verwiderde naam krijg ik mooi in kolom O te staan
na nog dat nummer van kolom B
met de hulp van HSV listBox + 1 krijg ik het regelnummer waar de te verwijdere naam staat
nu moet ik dus nog iets hebben met vlookup wat in kolom P de waarde zet uit tabel A:B
zonder vba zou ik het doen met =als(o2="";"';index(a2:b289;vergelijken(o2;a2:a289;0);2 (uit mijn hoofd even)
dat zou wel lukken maar nu in VBA

hoop dat het duidelijk is
mijn excusses voor de onduidelijk uitleg hierboven
 
En hoe wordt de Listbox gevuld?
 
HSV,
zoals jij me dat verteld hebt.

Code:
Private Sub Userform_initialize()
   ListBox1.list = Sheets("invoerchf").Range(Range("a2"), Range("a2").End(xlDown)).Value
End Sub
 
Maak het met twee kolommen, maar laat columncount gewoon op 1.
Je ziet het niet, maar het is wel aanwezig.

Code:
Private Sub UserForm_Initialize()
 ListBox1.List = Sheets("invoerchf").Range(Range("a2"), Range("a2").End(xlDown)).Resize(, 2).Value
End Sub

Nu je de eerste waarde hebt van de listbox, heb je automatisch de waarde van de tweede.
Listbox kolom begint op 0, dus tweede kolom in listbox is 1.

Code:
Sheets("invoerchf").Rows(ListBox1.List(ListBox1.ListIndex, [COLOR=#ff0000]1[/COLOR])).Delete
 
zie tussen de bomen het bos niet meer!
Ga er mee stoppen en morgen verder zie nu even niet wat je bedoeld
ben tot hier gekomen




Code:
Private Sub UserForm_Initialize()
 ListBox1.List = Sheets("invoerchf").Range(Range("a2"), Range("a2").End(xlDown)).Resize(, 2).Value
End Sub

Private Sub CommandButton1_Click()
Dim RowCount As Long
response = MsgBox("Wil je " & ListBox1 & " verwijderen ", vbCritical + vbQuestion + vbYesNo, "Wil je echt verwijderen")
If response = vbNo Then
Exit Sub
Else
RowCount = Worksheets("invoerchf").Range("o1").CurrentRegion.Rows.Count
With Worksheets("invoerchf").Range("o1")
.Offset(RowCount, 0) = ListBox1
End With
Sheets("invoerchf").Rows(ListBox1.ListIndex, 1).Delete
     Unload Me
Application.Goto Sheets("Chauffeurs ").Range("g1")
Sheets("Chauffeurs ").Range("a1").Select
Worksheets("invoerchf").Visible = False
     End If
   End Sub
 
In de code van jou is:
Code:
Sheets("invoerchf").Rows(ListBox1.ListIndex, 1).Delete
niet gelijk aan de code van mij.
Code:
Sheets("invoerchf").Rows(ListBox1.List(ListBox1.ListIndex, 1)).Delete
 
Dat klopt gelijk aangepast

Code:
RowCount = Worksheets("invoerchf").Range("o1").CurrentRegion.Rows.Count
With Worksheets("invoerchf").Range("o1")
.Offset(RowCount, 0) = ListBox1

deze code zet laat dus de waarde van de listbox in kolom O
en verwijderd daarna de hele rij
hoe pot ver. de waarde van kolom B in in kolom P

Code:
RowCount = Worksheets("invoerchf").Range("o1").CurrentRegion.Rows.Count
With Worksheets("invoerchf").Range("o1")
.Offset(RowCount, 0) = ListBox1
.[COLOR="#FF0000"]Offset(RowCount, P) = ListBox1[/COLOR]
ONZIN MAAR ZOIETS MOET HET WORDEN
 
Laatst bewerkt:
Maak even een klein voorbeeldje, ik kan je zo niet volgen.
Je hebt aan een userform met een listbox en een commandbutton genoeg.
 
Een .xlsx bestand kan geen code bevatten.
Het bestand bevat niet eens het gevraagde van mijn vorig schrijven.
 
HSV
sorry ik krijg het niet voor elkaar om een gedeelte van mijn werkje te versturen
bij deze
www.deooldies.nl/rooster5.xlsm

weet niet of je een werkje via deze manier wilt binnen halen maar ik lees het wel
de verwijderde chfrs zet ik in blad1 kolom O en P
 
Laatst bewerkt:
Code:
Private Sub Userform_initialize()
    sq = Sheets("invoerchf").Cells(1).CurrentRegion
    ListBox1.list = sq
End Sub

Private Sub CommandButton1_Click()
    If MsgBox("Wil je " & ListBox1 & " verwijderen ", vbCritical + vbQuestion + vbYesNo, "Wil je echt verwijderen") = vbNo Then
        Exit Sub
    Else
        With Sheets("invoerchf")
            Sheets("Blad1").Range("O" & Rows.Count).End(xlUp).Offset(1).Resize(, 2) = Array(ListBox1.list(ListBox1.ListIndex, 0), _
                ListBox1.list(ListBox1.ListIndex, 1))
            .Rows(ListBox1.ListIndex + 1).Delete
            .Visible = False
        End With
    End If
    Unload Me
    Application.Goto Sheets("Chauffeurs ").Range("a1")
End Sub
 
Laatst bewerkt:
Ik heb het geprobeerd, maar het bestand is langdurig aan het berekenen, en heb het maar weggeklikt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan