Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
612to616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
612to616
612to616
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro verbinden

Makro verbinden
16.05.2005 18:08:21
Sunny
Ich habe folgendes Problem: Ich möchte Zellen mittels Makro Formatieren und Färben. Zum Formatieren habe ich im Forum folgendes Makro gefunden:

Private Sub Worksheet_Change(ByVal Target As Range)
'   erster Buchstabe in Zelle Groß rest Klein
Dim RaBereich As Range, RaZelle As Range
Application.EnableEvents = False
'   Bereich der Wirksamkeit
Set RaBereich = Range("K6:Q66")
'    ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If RaZelle <> "" Then
RaZelle.Value = UCase(Mid(RaZelle.Value, 1, 1)) _
& LCase(Mid(RaZelle.Value, 2, Len(RaZelle.Value) - 1))
End If
End If
Next RaZelle
Application.EnableEvents = True
'    ActiveSheet.protect
Set RaBereich = Nothing
End Sub

Zum Einfärben funktioniert dieses Makro:

Private Sub Worksheet_Change(ByVal Target As Range)
'   HINTERGRUND
'   für Schrift RaZelle.Font.ColorIndex
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20, D1:D7")
'   noch mehr Bereiche
'    Set RaBereich = Union(Range("C7:I26"), Range("L7:R26"), Range("U7:AA26"), Range("AD7:AJ26"))
'   ab Vesion XP braucht der Schutz nicht aufgehoben werden
'   Formatierung bei Schutz kann über Dialog Schutz eingestellt werden
'    ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
Select Case UCase(.Value) ' UMWANDLUNG DER Eingabe in Großbuchstaben
Case "1"
.Interior.ColorIndex = 1
' schwarz
.Font.ColorIndex = 2
' Schriftfarbe weiß
'.NumberFormat = "General"
' Zellenformat Standard
Case "2"
.Interior.ColorIndex = 6
' weiß
.Font.ColorIndex = 0
' Schriftfarbe automatisch
'.NumberFormat = "General"
' Zellenformat Standard
Case "3"
.Interior.ColorIndex = 3
' rot
.Font.ColorIndex = 2
' Schriftfarbe Weiß
'.NumberFormat = ";;;"
' nicht sichtbar
Case "4"
.Interior.ColorIndex = 4
' grün
.Font.ColorIndex = 0
' Schriftfarbe automatisch
'.NumberFormat = "General"
' Zellenformat Standard
Case "KLAUS"
.Interior.ColorIndex = 5
' blau
.Font.ColorIndex = 0
' Schriftfarbe automatisch
'.NumberFormat = "General"
' Zellenformat Standard
Case Else
.Interior.ColorIndex = xlNone
' Keine
.Font.ColorIndex = 0
' Schriftfarbe automatisch
'.NumberFormat = "General"
' Zellenformat Standard
End Select
End With
End If
Next RaZelle
'    ActiveSheet.protect ("Passwort")
Set RaBereich = Nothing
End Sub

Frage:
Wie kann ich die beiden Makros auf ein Worksheet kombiniert anwenden?
Danke für Eure Hilfe!
Sunny

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro verbinden
16.05.2005 18:38:00
Hajo_Zi
Hallo Sunny,
eins verstehe ich immer nicht, warum muß der Urspurungshinweis als erstes entfernt werden.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
daß Du eine Antwort weißt...
16.05.2005 18:49:44
Karlchen
Haben wir mit dir ...
16.05.2005 19:13:44
Kurt
...einen neuen Troll gefunden ?
oder was soll die ständige Anmache (konsequenterweise immer mit anderem Nick) von Hajo ?
...und Tschüss Kurt
AW: Makro verbinden
16.05.2005 22:46:40
Sunny
Schön, dass ich so schnell Antwort gekriegt habe - allerdings konnte ich dadurch mein Problem leider noch nicht lösen... Hoffe noch auf Hilfe von "Profis". Gruss, Sunny.
AW: Makro verbinden
17.05.2005 09:28:29
MichaV
Hi,
bin zwar kein Profi, aber die anderen Kinder schlafen noch.
Ich denke, Hajo hat sich geärget, daß Du irgendeinen Copyright- Hinweis oder einen Verweis auf seine Homepage oder ähnliches beim rumfummeln an seinen Makros gelöscht hast, war sicher nur aus Versehen ;o). Wenn Du Dich entschuldigts, kriegst Du bestimmt eine ordentliche Antwort von ihm.
Schreib im zweiten Makro unter End Select:

If .Value <> "" Then .Value = UCase(Mid(.Value, 1, 1)) & LCase(Mid(.Value, 2, Len(.Value) - 1))

Dann sollte nach Änderung der Hintergrund- Farbe der Text in Groß- und Kleinbuchstaben umgewandelt werden.
Aus KLAUS (Zelle wird gefärbt) wird dann aber Klaus.
Gruß- Micha

Anzeige
AW: Makro verbinden
17.05.2005 13:16:16
Sunny
Hallo Micha
Vielen Dank für Deine Antwort. Werde deine Lösung gleich heute Abend ausprobieren.
Hajo: Es ist tatsächlich so, dass ich den Text nur zur bessern Übersicht verändert habe. Selbstverständlich war es nicht meine Absicht dadurch jemanden zu verägern. Ich habe etwas dazu gelernt und werde mich in Zukunft daran halten.
Lieber Gruss
Sunny

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige