Du bist nicht eingeloggt.

Login

Pass

Registrieren

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 :-D
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

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -