Checkboxen

Status
Niet open voor verdere reacties.

tazman_1

Gebruiker
Lid geworden
18 feb 2006
Berichten
14
Misschien kan iemand mij een beetje verder helpen, ik probeer met checkboxen iets in te vullen op verschillende plaatsen in een worksheet. maar zoals ik bezig ben wordt de code wel heeeeeel erg lang. Is er een makkelijkere methode om dit te doen..?
zie hieronder waar ik mee bezig ben.



Code:
Private Sub CheckBox1_Click()
Range("G4").Select
    ActiveCell.FormulaR1C1 = "R"
    Range("K4").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A4").Select
    CheckBox1.Enabled = False
End Sub

Private Sub CheckBox2_Click()
Range("G5").Select
    ActiveCell.FormulaR1C1 = "R"
    Range("K5").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A5").Select
    CheckBox2.Enabled = False
End Sub

Private Sub CheckBox3_Click()
Range("G6").Select
    ActiveCell.FormulaR1C1 = "R"
    Range("K6").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A6").Select
    CheckBox3.Enabled = False
End Sub

Private Sub CheckBox4_Click()
Range("G7").Select
    ActiveCell.FormulaR1C1 = "R"
    Range("K7").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A7").Select
    CheckBox4.Enabled = False
End Sub

Private Sub CheckBox5_Click()
Range("G8").Select
    ActiveCell.FormulaR1C1 = "R"
    Range("K8").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A8").Select
    CheckBox5.Enabled = False
End Sub

En zo zouden er nog een paar honderd checkboxen moeten komen :o
 
tazman_1,

Doet dit wat je voor ogen heb?
Het is het eerste stukje code.
Code:
Private Sub CheckBox1_Click()
    [G4] = "R"
    [K4].Copy [A4]
    CheckBox1.Enabled = False
End Sub
 
Of dit misschien

Code:
Private Sub TextBox1_Click()
Range("a5").Value = TextBox1.Value
End Sub
 
tazman_1,

Doet dit wat je voor ogen heb?
Het is het eerste stukje code.
Code:
Private Sub CheckBox1_Click()
    [G4] = "R"
    [K4].Copy [A4]
    CheckBox1.Enabled = False
End Sub

Hoi Wim,
Dit lijkt erg in de richting te komen, :thumb: alleen is het mijn bedoeling om de formule die in de cel K4 staat om te zetten in een vaste waarde, dus copy K4 en dan in de zelfde cel paste Values.

En dan heb ik nog een vraag mbt het repeterende verhaal van al die checkboxen, is het niet mogelijk om in een stukje code te schrijven die uitzoekt welke cellen gevuld moeten worden als er een bepaalde checkbox is aangevinkt..?

m.v.g. Harry
 
tazman_1,

Als ik het goed begrijp word er in G4 een R geplaatst.
In K4 staat een formule en moet nu de uitkomst worden zonder formule.
A4 word dus alleen maar geselecteerd.

Ik ben maar een amateur en zoveel verstand van VBA heb ik niet, zit vaak in een boek er over te lezen.
Misschien dat een ander die er meer verstand van heeft je kan helpen.
Suc6
 
tazman_1,

Ik ben tot dit gekomen.
Code:
Private Sub CheckBox1_Click()
    [G4] = "R"
    [K4].Copy
    Range("K4").PasteSpecial Paste:=xlPasteValues
    Range("A4").Select
    CheckBox1.Enabled = False
End Sub
Is het niet mogelijk om in een stukje code te schrijven die uitzoekt welke cellen gevuld moeten worden als er een bepaalde checkbox is aangevinkt..?
Op deze vraag moet ik afhaken, zoals ik al vertelde (amateur), je heb hier een specialist voor nodig.
 
Vermijd in VBA Select en activate, want overbodig.

formules omzetten in waarden kan beter met .value =.value
hieronder een voorbeeld om code te beperken.

'nog een paar honderd checkboxen' betekent onvoldoende doordacht automatiseren.

Heb je al eens gekeken wat je met linkedcell kunt doen ?

Code:
Private Sub CheckBox1_Click()
  samen 4
End Sub

Private Sub CheckBox2_Click()
  samen 5
End Sub

Private Sub CheckBox1_Click()
  samen 6
End Sub

Private Sub samen(x)
  cells(x,7)="R"
  cells(x,11).value=cells(x,11).value
  cells(x,1).select
End Sub
 
snb,

Ik heb er wijnig verstand van en probeer vaak de code waar men mee bezig is te verbeteren door uit te proberen.
Select kun je zeker niet altijd achterwegen laten zo te zien, wanneer kan dat wel.
Vermijd in VBA Select en activate, want overbodig.

Code:
Private Sub samen(x)
  cells(x,7)="R"
  cells(x,11).value=cells(x,11).value
  cells(x,1).[COLOR="Red"]select[/COLOR]
End Sub
 
Vermijd in VBA Select en activate, want overbodig.

formules omzetten in waarden kan beter met .value =.value
hieronder een voorbeeld om code te beperken.

'nog een paar honderd checkboxen' betekent onvoldoende doordacht automatiseren.

Heb je al eens gekeken wat je met linkedcell kunt doen ?

Code:
Private Sub CheckBox1_Click()
  samen 4
End Sub

Private Sub CheckBox2_Click()
  samen 5
End Sub

Private Sub CheckBox1_Click()
  samen 6
End Sub

Private Sub samen(x)
  cells(x,7)="R"
  cells(x,11).value=cells(x,11).value
  cells(x,1).select
End Sub


Euhhmm Linkedcell wat bedoel je daar mee... voel me heel erg blond :o


DEZE VRAAG IS WAT MIJ BETREFT OPGELOST, MET DANK AAN EEN IEDER DIE MEEGEDACHT HEEFT..!!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan