|
Community
Szene & News
Locations
Impressum
|
Forum / Bits und Bytes
mehrere Zeilen mit CommandButton einfärben

bumble_beee - 37
Profi
(offline)
Dabei seit 12.2004
972
Beiträge
|
|
Geschrieben am: 31.03.2009 um 10:58 Uhr
|
|
Hey,
ich hab ein Problem, bin noch anfänger in VBA und möchte mir das Leben etwas einfacher machen.
Ich habe eine Tabelle
Senkrecht stehen die Mitarbeiternamen
Waagrecht die Events für das laufende Jahr
Wir haben einen Stammtisch, zu dem nur bestimmte Mitarbeiter eingeladen werden.
Wenn ich jetzt den Commandbutton klicke möchte ich, das die Felder farbig werden, von den Mitarbeitern die eingeladen sind (z.B Zellen B3, B7, B22)
und wenn ich nochmal draufklicke soll das Feld wieder leer/weiß sein.
Ist das denn möglich?
Ich hoffe ihr könnt mir helfen
Vielen Dank
Faulheit-ist die Angewohnheit sich auszuruhen, bevor man müde ist
|
|
KnC - 40
Halbprofi
(offline)
Dabei seit 12.2004
155
Beiträge
|
Geschrieben am: 31.03.2009 um 11:58 Uhr
Zuletzt editiert am: 31.03.2009 um 12:04 Uhr
|
|
Zitat von KnC: Wäre noch eine Spalte Einladung ( Ja/Nein ) nicht verkehrt? Wie soll Excel erkennen welche Eingeladen sind?
Sehe gerade, dass nur bestimmte ( gehe davon aus festgelegte und nicht ändernde Teilnehmer ) eingeladen werden. 
sollte funktionieren. Nur kenn ich mich mit Excel-VBA ned so aus. Access ist mir da lieber 
Dim i As Integer
With Worksheets("Tabelle")
i = 0
If .Cells(Mitarbeitereinladung.i) = True
.Cells(1Row.i).Interior.Color = RGB(200,160,35)
Else
i = i +1
End If
Sollte irgendwie so funktionieren, bin mir aber absolut nicht sicher
|
|
bumble_beee - 37
Profi
(offline)
Dabei seit 12.2004
972
Beiträge
|
|
Geschrieben am: 31.03.2009 um 12:28 Uhr
|
|
Hey,
funktioniert leider nicht
ich bin aber schon soweit:
Private Sub CommandButton1_Click()
Range("D8,D10,D13,D16,D18,D19,D20,D22:D23,D24:D25,D23,D28").Select
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
End Sub
Brauch jetzt nur noch, das wenn ich nochmal draufklick das feld wieder leer wird.
Faulheit-ist die Angewohnheit sich auszuruhen, bevor man müde ist
|
|
DjKoma - 40
Experte
(offline)
Dabei seit 01.2006
1906
Beiträge
|
|
Geschrieben am: 31.03.2009 um 12:53 Uhr
|
|
Zitat von bumble_beee: Hey,
funktioniert leider nicht
ich bin aber schon soweit:
Private Sub CommandButton1_Click()
Range("D8,D10,D13,D16,D18,D19,D20,D22:D23,D24:D25,D23,D28").Select
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
End Sub
Brauch jetzt nur noch, das wenn ich nochmal draufklick das feld wieder leer wird.
Sorry, aber das mit Range Select stammt wohl direkt aus der Makro-Aufzeichnung?
Das würde ich mit Sicherheit nicht machen. Am besten lädst du dir die "eingealdenen Mitarbeiter" aus einer externen Datei, damit bleibt das ganze schön flexibel.
Why is 6 afraid of 7? Because 7 8 9!
|
|
bumble_beee - 37
Profi
(offline)
Dabei seit 12.2004
972
Beiträge
|
Geschrieben am: 31.03.2009 um 14:22 Uhr
Zuletzt editiert am: 31.03.2009 um 14:23 Uhr
|
|
wieso denn?
das funktioniert super mit Range.
So markiert es mir alle Zeilen und die Mitarbeiter in der Spalte ändern sich eh nicht!
Ach ja, das ist keine Makro-Aufzeichnung
vollständige Lösung:
Private Sub Mitarbeiter_Click()
Range("J13,J53,J62,J27,J54,J37,J19,J24,J17,J39,J20,J8,J21,J22,J6,J55,J52").Select
If Selection.Interior.ColorIndex = 45 Then
With Selection.Interior
.ColorIndex = xlNone
.Pattern = xlSolid
End With
Else
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
End If
End Sub
Falls es noch jemand braucht oder interessiert :)
Trotzdem vielen lieben Dank für eure Hilfe!
Faulheit-ist die Angewohnheit sich auszuruhen, bevor man müde ist
|
|
Forum / Bits und Bytes
|