Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
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
VBA Zeile farblich markieren
04.05.2019 11:24:41
Michael
Hallo zusammen,
in folgenden Code würde ich gerne, wenn Checkbox1 aktiviert ist, das die Zeile von A bis M gelb markiert wird.
Könnte mir da jemand helfen?
Viele Grüße
Michael
Private Sub Eingabe_Click()
Dim intErsteLeereZeile As Long
If Trim(CStr(Datum.Value)) = "" Then
'Wenn Datum fehlt, Meldung ausgeben
MsgBox "Bitte g?ltiges Einzahldatum angeben!", vbCritical + _
vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
End If
If Trim(CStr(Abteilung.Value)) = "" Then
'Fehleremeldung wenn Angabe Abteilung fehlt, Meldung ausgeben
MsgBox "Bitte g?ltige Abteilung eingeben!", vbCritical + _
vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
End If
If Trim(CStr(Vereinsbereich.Value)) = "" Then
'Fehleremeldung wenn Angabe Vereinsbereich fehlt
MsgBox "Bitte g?ltigen Vereinsbereich eingeben!", vbCritical + _
vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
End If
If Trim(CStr(Einzahler.Value)) = "" Then
'Fehleremeldung wenn Angabe Einzahler fehlt
MsgBox "Bitte g?ltigen Einzahler eingeben!", vbCritical + _
vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
End If
If Trim(CStr(Verwendungszweck.Value)) = "" Then
'Fehleremeldung wenn Angabe Verwendungszweck
MsgBox "Bitte g?ltigen Verwendungszweck eingeben!", vbCritical + _
vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
End If
If Trim(CStr(Kostenartentxt.Value)) = "" Then
'Fehleremeldung wenn Angabe Kostenarten fehlt
MsgBox "Bitte g?ltige Kostenart eingeben!", vbCritical + _
vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
End If
If Trim(CStr(GiroEin.Value)) = "" Then
'Wenn Textbox GiroEin leer dann 0 in Zelle GiroEin schreiben
Me.GiroEin.Value = 0
End If
If Trim(CStr(GiroAus.Value)) = "" Then
'Wenn Textbox GiroAus leer dann 0 in Zelle GiroAus schreiben
Me.GiroAus.Value = 0
End If
If Trim(CStr(Rechnung19Ein.Value)) = "" Then
'Wenn Textbox Rechnung19Ein leer dann 0 in Zelle Rechnung19Ein schreiben
Me.Rechnung19Ein.Value = 0
'Abbrechen der Speicherroutine
End If
If Trim(CStr(Rechnung19Aus.Value)) = "" Then
'Wenn Textbox Rechnung19Aus leer dann 0 in Zelle Rechnung19Aus schreiben
Me.Rechnung19Aus.Value = 0
End If
If Trim(CStr(Rechnung7Ein.Value)) = "" Then
'Wenn Textbox Rechnung7Ein leer dann 0 in Zelle Rechnung7Ein schreiben
Me.Rechnung7Ein.Value = 0
End If
If Trim(CStr(Rechnung7Aus.Value)) = "" Then
'Wenn Textbox Rechnung7Aus leer dann 0 in Zelle Rechnung7Aus schreiben
Me.Rechnung7Aus.Value = 0
End If
'Fragt ab ob Daten wirklich hinzugef?gt  werden sollen
If MsgBox("Daten wirklich hinzuf?gen?", vbYesNo) = vbNo Then
'Wenn Abbrechen, dann schlie?t die Eingabemaske
Unload Me
Else
'Sucht in aktiver Tabelle, Spalte 3, die erste freie Spalte
'Passwortschutz des aktiven Arbeitsblattes aufheben
ActiveSheet.Unprotect Password:="Test"
'Sucht in aktiver Tabelle, Spalte 3, die erste freie Spalte
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row + 1
'und F?gt die eingetragenen Daten aus den Textboxen in die Tabelle ein
ActiveSheet.Cells(intErsteLeereZeile, 4).Value = CDate(Datum)
ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.AbteilungTextbox.Text
ActiveSheet.Cells(intErsteLeereZeile, 7).Value = Me.bereichtxt.Text
ActiveSheet.Cells(intErsteLeereZeile, 8).Value = Me.Einzahler.Text
ActiveSheet.Cells(intErsteLeereZeile, 9).Value = Me.Verwendungszweck.Text
ActiveSheet.Cells(intErsteLeereZeile, 11).Value = Me.UmlageJatxt.Text
ActiveSheet.Cells(intErsteLeereZeile, 10).Value = Me.Kostenartentxt.Text
ActiveSheet.Cells(intErsteLeereZeile, 21).Value = Me.GiroEin.Value * 1
ActiveSheet.Cells(intErsteLeereZeile, 22).Value = Me.GiroAus.Value * 1
ActiveSheet.Cells(intErsteLeereZeile, 13).Value = Me.Rechnung19Ein.Value * 1
ActiveSheet.Cells(intErsteLeereZeile, 15).Value = Me.Rechnung19Aus.Value * 1
ActiveSheet.Cells(intErsteLeereZeile, 17).Value = Me.Rechnung7Ein.Value * 1
ActiveSheet.Cells(intErsteLeereZeile, 19).Value = Me.Rechnung7Aus.Value * 1
End If
'Passwortschutz des aktiven Arbeitsblattes setzen
ActiveSheet.Protect Password:="Test"
'Schlie?t die Eingabemaske
Unload Me
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zeile farblich markieren
04.05.2019 12:31:29
Werner
Hallo Michael,
so:
ActiveSheet.Cells(intErsteLeereZeile, 17).Value = Me.Rechnung7Ein.Value * 1
ActiveSheet.Cells(intErsteLeereZeile, 19).Value = Me.Rechnung7Aus.Value * 1
If Me.checkbox1 Then
Range(Cells(intErsteLeereZeile, 1), Cells(intErsteLeereZeile, 13)) _
.Interior.Color = vbYellow
End If
End If
'Passwortschutz des aktiven Arbeitsblattes setzen
ActiveSheet.Protect Password:="Test"
'Schließt die Eingabemaske
Unload Me
End Sub
Gruß Werner
AW: VBA Zeile farblich markieren
04.05.2019 12:46:48
Michael
Hallo Werner,
funktioniert!
Vielen Dank und schönes Wochenende
AW: VBA Zeile farblich markieren
04.05.2019 19:12:59
Michael
Hallo zusammen, ich würde gerne noch ein Makro haben das alle Zeilen mit der gelben Formatierung in das Autoformat zurück ändert.
Viele Grüße
Michael
Anzeige
AW: VBA Zeile farblich markieren
05.05.2019 00:32:10
Piet
Hallo
ich denke die Antwort liegt bereits im Code von Werner, den ich hiemit herzlich grüsse.
 Range(Cells(intErsteLeereZeile, 1), Cells(intErsteLeereZeile, 13)) _
.Interior.Color = xlNone

Der Original Code laesst sich verkürzen, hier mal ein Vorschlag dazu:
Private Sub Eingabe_Click()
Dim intErsteLeereZeile As Long
Dim msg As String
'Wenn Datum fehlt, Meldung ausgeben
If Trim(CStr(Datum.Value)) = "" Then _
msg = "Bitte gültiges Einzahldatum angeben!"
'Fehleremeldung wenn Angabe Abteilung fehlt, Meldung ausgeben
If Trim(CStr(Abteilung.Value)) = "" Then _
msg = "Bitte gültige Abteilung eingeben!"
'Fehleremeldung wenn Angabe Vereinsbereich fehlt
If Trim(CStr(Vereinsbereich.Value)) = "" Then _
msg = "Bitte gültigen Vereinsbereich eingeben!"
'Fehleremeldung wenn Angabe Einzahler fehlt
If Trim(CStr(Einzahler.Value)) = "" Then _
msg = "Bitte gültigen Einzahler eingeben!"
'Fehleremeldung wenn Angabe Verwendungszweck
If Trim(CStr(Verwendungszweck.Value)) = "" Then _
msg = "Bitte gültigen Verwendungszweck eingeben!"
'Fehleremeldung wenn Angabe Kostenarten fehlt
If Trim(CStr(Kostenartentxt.Value)) = "" Then _
msg = "Bitte gültige Kostenart eingeben!"
'msg Text Auswertung, ggf. Abbruch
If msg  "" Then
MsgBox msg, vbCritical + vbOKOnly, "FEHLER!"
Exit Sub
End If
If Trim(CStr(GiroEin.Value)) = "" Then Me.GiroEin.Value = 0
'Wenn Textbox GiroEin leer dann 0 in Zelle GiroEin schreiben
If Trim(CStr(GiroAus.Value)) = "" Then Me.GiroAus.Value = 0
'Wenn Textbox GiroAus leer dann 0 in Zelle GiroAus schreiben
If Trim(CStr(Rechnung19Ein.Value)) = "" Then Me.Rechnung19Ein.Value = 0
'Wenn Textbox Rechnung19Ein leer dann 0 in Zelle Rechnung19Ein schreiben
If Trim(CStr(Rechnung19Aus.Value)) = "" Then Me.Rechnung19Aus.Value = 0
'Wenn Textbox Rechnung19Aus leer dann 0 in Zelle Rechnung19Aus schreiben
If Trim(CStr(Rechnung7Ein.Value)) = "" Then Me.Rechnung7Ein.Value = 0
'Wenn Textbox Rechnung7Ein leer dann 0 in Zelle Rechnung7Ein schreiben
If Trim(CStr(Rechnung7Aus.Value)) = "" Then Me.Rechnung7Aus.Value = 0
'Wenn Textbox Rechnung7Aus leer dann 0 in Zelle Rechnung7Aus schreiben
'Fragt ab ob Daten wirklich hinzugefügt  werden sollen
If MsgBox("Daten wirklich hinzufügen?", vbYesNo) = vbNo Then
'Wenn Abbrechen, dann schlie?t die Eingabemaske
Unload Me
Else
mfg Piet
Anzeige
AW: VBA Zeile farblich markieren
05.05.2019 07:18:38
Werner
@Piet:
Grüße zurück.
Ich denke, dass dein Code nicht das ist, was Michael will.
das alle Zeilen mit der gelben Formatierung
Gruß Werner
@Michael,
vermutlich willst du so was:
Option Explicit
Public Sub Gelb_raus()
Dim loLetzte As Long, raBereich As Range, raZelle As Range
Application.ScreenUpdating = False
'Blattname anpassen
With Worksheets("Tabelle1")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Set raBereich = .Range(.Cells(1, 1), .Cells(loLetzte, 1))
For Each raZelle In raBereich
If raZelle.Interior.Color = vbYellow Then
raZelle.Resize(, 13).Interior.Color = xlNone
End If
Next raZelle
End With
Set raBereich = Nothing
End Sub
Gruß Werner
Anzeige
AW: VBA Zeile farblich markieren
05.05.2019 08:46:43
Michael
Hallo Piet,
erstmal danke für deine Antwort.
Was ich aber eigentlich wollte, ist ein Makro was prüft, welche Zellen in der Tabelle die Formatierung Markierung aufweisen und dort dann die ursprüngliche Tabellen Formatierung wiederherstellen.
Viele Grüße
Michael
und mein Beitrag dazu....
05.05.2019 09:00:10
Werner
Hallo Michael,
...interessiert dich nicht?
Gruß Werner
AW: und mein Beitrag dazu....
05.05.2019 12:27:13
Michael
Hallo Werner,
hat was länger gedauert. Ich möchte euch ja nicht zu sehr belästigen.
Nachdem ich hier 1 Stunde probiert habe, klappt es jetzt mit deinem Code.
Ich hatte das Problem einen Blattschutz aktiviert zu haben...
So funktioniert natürlich kein Befehl, wenn ich ihn nicht vorher deaktiviere.
Mann was bin ich blöde..
Vielen dank Werner
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
05.05.2019 21:08:02
Werner

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige