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

Pittige Macro (cellen naar andere sheet)

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

bgoo

Gebruiker
Lid geworden
9 mrt 2011
Berichten
61
Hey mensen,

Ik ben op zoek naar een macro, hieronder zal ik even kort uitleggen hoe het moet werken.

Ik heb kassabonnen (blad), die een checkbox hebben. Als die checkbox aangevinkt is moet er wat data (cellen) uit die kassabon naar verschillende kolommen in de kasstaat worden gekopieerd. (dus bijvoorbeeld totaal bij kolom F, datum bij kolom G etc..)

Dus: checkbox aangevinkt?, dan data uit bepaalde cellen naar bepaalde kolommen in excel. De data moet zo hoog mogelijk in een bepaalde kolom komen te staan, maar de actie moet natuurlijk niet worden uitgevoerd als er al data in die kolom staat.
Zo kan er dus gewerkt worden met meerdere kassabonnen, waar van je de betaling willekeurig kan aanvinken.

Als de checkbox niet is aangevinkt, word de data naar andere kolommen verplaatst (zelfde code dus).

Ik kan zelf onderhand aardig wat met macro's, dus ik heb denk ik maar een paar regels code nodig :).

Bij voorbaat dank!
 
Laatst bewerkt:
Kun je met deze code verderwerken?

Code:
If checkBox1 = True Then
    With Sheets("ZZZ KASSTAAT")
        ActiveSheet.Range("E28").Copy
        .Range("F" & .Range("F44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
    End With
End If
 
Eigenlijk niet helemaal, zou je hem voor 1 data kunnen schrijven (dan ook als checkbox niet aangevinkt is)?

Bedankt
 
Ik kan zelf onderhand aardig wat met macro's, dus ik heb denk ik maar een paar regels code nodig.

Deze code doet perfect wat je vroeg, wat je wil zeggen met '1 data' weet ik niet.
Met een niet aangevinkte checkbox is de werking van de code precies hetzelfde maar met andere verwijzingen zeker.
 
Ik heb nu deze macro toegekend aan mijn checkbox, alleen er gebeurt niks als ik hem aanvink.

Code:
Sub Test()

If CheckBox = True Then
    With Sheets("ZZZ KASSTAAT")
        ActiveSheet.Range("E28").Copy
        .Range("F" & .Range("F44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
    End With
    
End If

If CheckBox = False Then
    With Sheets("ZZZ KASSTAAT")
    ActiveSheet.Range("E28").Copy
    .Range("G" & .Range("G44").Enx(xlUp).Row + 1).PasteSpecial Paste:=xlValues
    End With
    
End If

End Sub
 
Ik denk dat het zo ook moet werken.
Code:
Sub Test()

If CheckBox1 = True Then

  With Sheets("ZZZ KASSTAAT")
    ActiveSheet.Range("E28").Copy
    .Range("F" & .Range("F44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
  End With
    
ElseIf CheckBox1 = False Then

  With Sheets("ZZZ KASSTAAT")
    ActiveSheet.Range("E28").Copy
    .Range("G" & .Range("G44").Enx(xlUp).Row + 1).PasteSpecial Paste:=xlValues
  End With
    
End If

End Sub
 
Laatst bewerkt:
Er gebeurt nogsteeds niks :(.
Wat doe ik fout?
 
Laatst bewerkt:
Bij mij werkt dit wel, er zat nog een schrijffout in de code enx ipv end.
Code:
Sub Test()

If Blad1.CheckBox1 = True Then

  With Sheets("ZZZ KASSTAAT")
    .Range("E28").Copy
    .Range("F" & .Range("F44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
  End With
    
ElseIf Blad1.CheckBox1 = False Then

  With Sheets("ZZZ KASSTAAT")
    .Range("E28").Copy
    .Range("G" & .Range("G44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
  End With
    
End If

End Sub
Blad1 is de orginele naam van het blad
 

Bijlagen

Dat komt omdat je allereerst een bestand stuurt met een beveiligde struktuur.
Je moet de checkboxen koppelen aan een cel(bv F29) en dan kun je de waarde van deze cel (WAAR of ONWAAR) gebruiken in je code.
Dus ipv If Checkbox1 gebruik je IF F29=WAAR (of ONWAAR).
 
We zijn al een stuk verder.
Ik heb nu dit:

Code:
Sub Test()

If CheckBox1 = True Then
  With Sheets("ZZZ KASSTAAT")
    ActiveSheet.Range("E28").Copy
    .Range("F" & .Range("F44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
  End With

ElseIf CheckBox1 = False Then

  With Sheets("ZZZ KASSTAAT")
    ActiveSheet.Range("E28").Copy
    .Range("G" & .Range("G44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
  End With

End If

End Sub

Als ik mn checkbox aanvink of uitvink, kopieert hij het getal naar kolom G. Maar ik heb in de code staan dat hij hem naar F moet kopieren als ik hem aanvink en naar G als hij uitgevinkt staat?

Verder wil ik dat hij toggled, dus als ik hem aanvink gaat het getal in kolom F zijn positie vinden en als ik hem uitvink moet hij weg uit F en in kolom G zn positie zoeken.

Mvg
 
Jij heb andere CheckBoxen gebruikt dan ik.
Ik heb de CheckBox uit ActiveX-Besturingselementen gebruikt en daar het zo'n Box "CheeckBox1".
Uit Formulierbesturingselement het het "Selectievakje1" en die kun je alleen met een cel verbinden.
Ik hoop dat ik het bij het rechte eind heb.

Heb je mijn file al gebruikt?
Daar werkt het, en heet hij CheckBox1.
 
Laatst bewerkt:
O, okeej nu snap ik het beter.
Mijn checkbox is nu een formulieringsbestand, maar ik zit nu wel met het bovenbeschreven probleem..
Jou bestand doet het niet bij mij (zie mijn voorbeeldje even bovenin)

Mvg
 
Laatst bewerkt:
Koppel het selectievakje op Blad "Persoon1 met F29, zet de tekstkleur op wit.
Gebruik de onderstaande code:
Code:
Sub Test()

If Blad3.Range("F29") = WAAR Then

  With Sheets("ZZZ KASSTAAT")
    .Range("E28").Copy
    .Range("F" & .Range("F44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
  End With
    
ElseIf Blad3.Range("F29") = ONWAAR Then

  With Sheets("ZZZ KASSTAAT")
    .Range("E28").Copy
    .Range("G" & .Range("G44").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues
  End With
    
End If
End Sub
Nu moet het voor dat blad werken.
Zie file
 

Bijlagen

Laatst bewerkt:
Ik heb de file aangepast, als je nu een vinkje zet of weg haalt treed de macro inwerking.
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan