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

VBA kopieren meerdere cellen, acties 1 voor 1 uitvoeren.

Status
Niet open voor verdere reacties.

alegandro

Gebruiker
Lid geworden
29 feb 2008
Berichten
32
ik heb een heel mooi werkend excel met vba om labels af te drukken.

ik heb een invoer tabblad, hier voert men gegevens in.
daarnaast een print tabblad, waarop het ontwerp van de stickers staat.

nu selecteert men in het invoerblad de cel van de regel die afgedrukt moet worden
vervolgens op de macro knop drukken.
de macro kopieert de waarde uit de actieve cel naar het sticker tabblad.
vervolgens wordt de sticker afgedrukt.

werkt allemaal uit de kunst, maarrr.
nu moeten we soms voor 20 regels stickers afdrukken, waardoor we 20x deze handeling uitvoeren.

nu heb ik een heel tijdje zitten knoeien, maar loop daarin een beetje vast.

dus concreet de vraag:
ik wil meerdere cellen selecteren en dan daarvan de waarde 1 voor 1 kopiëren naar het tabblad om de stickers te kunnen afdrukken.
ik heb ook voor de volledigheid mijn test excel bijgevoegd waarin het bestand te vinden is, dat maakt het waarschijnlijk duidelijker wat ik bedoel.

ik hoop dat iemand mij hier beetje mee verder kan helpen
 

Bijlagen

  • Kopie van test bon printen.xlsm
    25 KB · Weergaven: 16
Dan zet je er toch een lusje omheen

Code:
Sub VenA()
  For Each cl In Selection
    If cl.Row > 3 And Cells(cl.Row, 1) <> "" Then
      Cells(cl.Row, 10) = Date
      With Sheets("Printen")
        .Cells(1, 2) = Cells(cl.Row, 1).Value
        .Range("A1:D11").PrintPreview 'printout
      End With
    End If
  Next cl
End Sub
 
VenA

top! Bedankt! dat is exact wat ik zocht. ben er mee aan de gang gegaan en nog wat bij gezet, maar werkt perfect.
de code .Cells(1, 2) = Cells(cl.Row, 1).Value
wat doet het tweede deel dus cl.row,1 ?

als ik bezig met met printmacro, zet ik de printer altijd op pdfprinten, dan hoef ik daarna alleen printer maar aan te passen.

vwb dit soort codes, ik rommel altijd zelf en doe veel met macro opnemen en dan aanpassen, maar dan krijg je nooit dit soort codes. en dit is dus veel compacter, sneller, handiger.
waar heb jij dit geleerd, ik wil graag wat handiger worden in vba.
heb jij een handig boek waar je mee ben begonnen oid?
 
Is allemaal te vinden op het www maar goed.

Elke cel heeft een rij- en kolomnummer.
Zo is range("A1") gelijk aan cells(1,1) wat in dit geval ook geschreven mag worden als Cells(1)
Voor range("A2") = Cells(2,1) 2e rij 1e kolom
Range("Y26") = Cells(26,25) 26e rij en 25e kolom.

Met een macro-opname krijg je iedere handeling te zien die je doet. Dit is een handig middel als je niet weet hoe iets in elkaar steekt maar geeft wel heel veel ruis en vertragende code. Select en activate zijn nagenoeg nooit nodig omdat je de meest objecten direct kan aanspreken.
Code:
Range("j" & (ActiveCell.Row)).Select
Selection.Value = Date

Kan ook zo
Code:
Range("j" & (ActiveCell.Row)).Value = Date

of zo
Code:
Cells(ActiveCell.Row,10).value = date

Welk boek het beste bij jou past weet ik niet.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan