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

Celwaarde zoeken en kopieren

Status
Niet open voor verdere reacties.

angelokonijn

Gebruiker
Lid geworden
14 mrt 2011
Berichten
18
Ik heb een vraagje over een code in VBA voor Excel;

Ik ben bezig met een opmerkingenscherm voor een bepaald bestand. De bedoeling is dat nieuwe opmerkingen in blad 1 in het opmerkingenscherm van het volgende blad worden gekopieerd. (zie bestand)

Probleem is hierbij dat het opmerkingenscherm van blad2 naar boven of naar beneden geplaatst kan worden. Daarom zou ik een code willen hebben waarin er gezocht wordt naar de cel met de tekst "Opmerkingen:" en vervolgens de cel hieronder wordt geselecteerd zodat hierin gekopieerd kan worden.

Ook kan het aantal regels aan opmerkingen varieren dus hij moet alleen de gevulde regels kopieeren.

kan iemand mij hierbij helpen?Bekijk bijlage Probleem opmerkingen.xls
 
Code:
Sub tst()
    cl = Sheets("Blad2").Cells.Find("Opmerkingen:", , xlValues, xlWhole) _
                .Offset(1).Address
    MsgBox cl
End Sub
 
Nu krijg ik een messagebox welke cel het is dus hij heeft de goede cel wel gezocht. maar nu wil ik geen messagebox maar dat deze cel wordt geactiveerd zodat ik gegevens kan invoegen in deze cel.
 
De msgbox was dan ook maar als indicatie bedoelt (die mag je dus verwijderen). Gebruik nu cl als uitgangspunt om je opmerkingen te kopieëren
 
Oké dankje! het eerste deel van mijn vraag is gelukt, nu moet hij alleen nog de lege cellen uit A5 t/m A16 herkennen en niet meekopieren
 
Code:
Sub tst()
With Blad1.Range("A5:A16")
    .AutoFilter 1, "<>"
    .SpecialCells(xlCellTypeVisible).Copy Sheets("Blad2").Cells.Find("Opmerkingen:", , xlValues, xlWhole).Offset(1, 0)
    .AutoFilter
End With
End Sub

Met vriendelijke groet,


Roncancio
 
Bijna goed! alleen nog ipv plakken, de cellen invoegen dus met: Selection.Insert Shift:=xlDown of zoiets maar ik kan uit de formulie niet ontdekken wanneer de de gekopieerde cellen plakt onder opmerkingen
 
Dat plakken gebeurd achter de copy op dezelfde regel.
Code:
Sub tst()
With Blad1.Range("A5:A16")
    .AutoFilter 1, "<>"
    .SpecialCells(xlCellTypeVisible).Copy Blad2.Cells.Find("Opmerkingen:", , xlValues, xlWhole).Offset(1, 0)
    .ClearContents
    .AutoFilter
End With
End Sub

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Nu verwijderd de formule automatisch de inhoud in blad1, dit hoeft in principe niet, het enige waar ik nog niet uitkom is dat de formule de gekopieerde cellen nu over de cellen in blad2 heen plakt, ik zou graag willen dat ze worden ingevoegd zodat oude opmerkingen in blad 2 gewoon blijven bestaan, enig idee?
 
Er wordt gezocht naar Opmerkingen en onder de laatste opmerking worden de nieuwe opmerkingen geplaatst.

Code:
Sub tst()
With Blad1.Range("A5:A16")
    .AutoFilter 1, "<>"
    .SpecialCells(xlCellTypeVisible).Copy Blad2.Cells.Find("Opmerkingen:", , xlValues, xlWhole).End(xlDown).Offset(1, 0)
    .AutoFilter
End With
End Sub

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan