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

Waarde in kolom zoeken + rest van regel invullen (m.b.v. VBA)

  • Onderwerp starter Onderwerp starter Rnie
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Rnie

Gebruiker
Lid geworden
19 jun 2009
Berichten
63
Hoi,

Op Blad1 heb ik een aantal waardes in kolommen gezet. Als ik de waarde in kolom A van Blad1 naar kolom A van Blad2 zet moeten de andere kolommen (B, C en D) automatisch worden ingevuld.

Ik wil graag door dubbel te klikken op een cel in kolom A van Blad1 dat deze automatisch geplaatst wordt in de eerstvolgende lege regel van kolom A in Blad2 m.b.v. VBA.

Ik heb in de kolommen B, C en D van Blad2 een (niet helemaal goeie) formule staan. Is het met VBA ook mogelijk om deze automatisch te zoeken en in te vullen?

Een voorbeeld zegt meer dan 1000 woorden.:)

Groet,
Rnie
 

Bijlagen

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
    Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 4) = Target.Resize(, 4).Value
End If
End Sub
 
:) Bedankt. Ga ik code nu in mijn werkelijk bestand invoegen en kijken of het daar ook allemaal wil lukken.:thumb:
 
Laatst bewerkt:
Beste Warme bakkertje ;)

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
    Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset([COLOR="red"][B]0[/B][/COLOR]).Resize(, [COLOR="Red"][B]1[/B][/COLOR]) = Target.Resize(, 4).Value
End If
End Sub

Offset(0) omdat hij op cel A1 gaat beginnen.
Resize(, 1) omdat hij dan de formules behoud in de volgende kolommen.

Groetjes Danny. :thumb:
 
Beste Warme bakkertje ;)

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
    Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset([COLOR="red"][B]0[/B][/COLOR]).Resize(, [COLOR="Red"][B]1[/B][/COLOR]) = Target.Resize(, 4).Value
End If
End Sub

Offset(0) omdat hij op cel A1 gaat beginnen.
Resize(, 1) omdat hij dan de formules behoud in de volgende kolommen.

Groetjes Danny. :thumb:

In dit voorbeeldje wou ik bij A1 beginnen maar in mijn werkelijk bestand hoef ik pas ergens op regel 17 te beginnen. Dat van die formules is wel fijn.:thumb:

Groet,
Rnie
 
@ Danny
offset(,0) kan niet want dan blijf je telkens in A1 invullen. De enige oplossing is kolomkoppen invoegen.Resize (,1) heeft geen enkele zin. Wat ik begrijp uit de vraag van Rnie is dat hij v/formules afwil. Wat is het nut ervan als je de waarden ook ineens kan meenemen naar blad2? Als je dan toch de formules wil
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
    Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1) = Target.Value
End If
End Sub
 
Laatst bewerkt:
@ Danny
offset(,0) kan niet want dan blijf je telkens in A1 invullen. De enige oplossing is kolomkoppen invoegen.Resize (,1) heeft geen enkele zin. Wat ik begrijp uit de vraag van Rnie is dat hij v/formules afwil. Wat is het nut ervan als je de waarden ook ineens kan meenemen naar blad2? Als je dan toch de formules wil
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
    Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1) = Target.Value
End If
End Sub

Met de formules was ik misschien wat onduidelijk. In mijn voorbeeldje kunnen de waarden van de kolommen B, C en D achter cel A3 ook anders zijn. Het is dus niet altijd dat cel B3 = C, cel C3 = M en cel D3 = W is.

Edit: Ik gooi de vraag nog ff open. Ik heb het geprobeerd maar ik moet nu de formules laten staan in Blad2, anders werkt het niet. Mijn bedoeling was eigenlijk dat er geen formules in kolom B, C en D van Blad2 staan. Is er niet een VBA code die mijn formules in BLad2 kunnen vervangen?

Groet,
Rnie
 
Laatst bewerkt:
Ik snap 'm totaal niet (maar wie ben ik) maar kijk eens of je hiermee verder komt
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
    Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1) = Target.Value
With Sheets("Blad1").Columns(1)
    .Find(Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Value, , xlValues, xlWhole).Offset(, 1) _
            .Resize(, 3).Copy Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(, 1)
End With
End If
End Sub
 
Ik snap 'm totaal niet (maar wie ben ik) maar kijk eens of je hiermee verder komt
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
    Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1) = Target.Value
With Sheets("Blad1").Columns(1)
    .Find(Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Value, , xlValues, xlWhole).Offset(, 1) _
            .Resize(, 3).Copy Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(, 1)
End With
End If
End Sub
Volgens mij snap je het wel want dit is volgens mij wat ik zoek. :thumb: Wil namelijk geen formules zichtbaar hebben in de kolommen B, C en D. Nu ben ik aan het proberen om code een beetje te verbouwen want in mijn eigen bestand heb ik nog een aantal lege kolommen staan. Ik wil dus dat in Blad2 alleen de ingevulde kolommen meegenomen worden en niet de lege.

Edit: Nou, dat van die kolommen is me gelukt. Maar hoe kan ik er nou voor zorgen dat ik begin op (bv) regel 17 in Blad2? Ik heb namelijk bovenaan een vaste stuk tekst staan. Ik zit een beetje te tobben met "Range" maar dat is volgens mij niet helemaal goed.:confused:

Groeten,
Rnie
 
Laatst bewerkt:
De simpelste oplossing. Als A16 leeg is zet er bv een sterretje in en geef dit als kleur wit(wordt dus onzichtbaar). Nu kan je de macro blijven gebruiken zoals hij is.
 
De simpelste oplossing. Als A16 leeg is zet er bv een sterretje in en geef dit als kleur wit(wordt dus onzichtbaar). Nu kan je de macro blijven gebruiken zoals hij is.

Dan hou ik het voorlopig daar op. Ik zet de vraag voor nu op opgelost. Bedankt tot zover :).

Groet,
Rnie
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan