Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1104to1108
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
Inhaltsverzeichnis

Zelle einfärben

Zelle einfärben
H.Schult
Hallo Exelfreaks
Ich habe in meiner Exeltabell-Blatt1- folgenden VBA-Code stehen:
' Zeilen überprüfen und kopieren

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngBer As Range
Dim rngObj As Range
Dim Sh As Worksheet
On Error GoTo Err_Handler
' zu prüfende Zellen als Gesamtbereich festlegen
With Me
Set rngBer = Union(.Range("F8:F50"), .Range("G8:G50"), .Range("I8:I50"), _
.Range("J8:J50"))
End With
' gucken ob change im Zielbereich liegt
If Not Intersect(Target, rngBer) Is Nothing Then
With Target
' wenn ja, Abfrage ob alle Zellen gefüllt sind, wenn eine leer dann raus aus sub
For Each rngObj In rngBer
' nur wenn Zeile stimmt Inhalt prüfen
If rngObj.Row = .Row Then
' wenn Zeile stimmt, aber einer der 4 Checkbereiche leer, dann exit
If rngObj.Value = "" Then
GoTo Exit_This
End If
End If
Next rngObj
' sheetauswahl nach Angabe im Tabellenblatt, Spalte l
' nicht existent wird im err_handler abgearbeitet
Set Sh = Sheets(Right(Cells(.Row, 12), 4))
Application.EnableEvents = False
Application.ScreenUpdating = False
Sh.Unprotect
Me.Unprotect
' Zeile kopieren ins neue Sheet
Rows(.Row).Copy Destination:=Sh.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
' Zeile im Ursprungssheet löschen
Rows(.Row).Delete
Me.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
End If
Exit_This:
Application.EnableEvents = True
Application.ScreenUpdating = True
Set rngBer = Nothing
Set rngObj = Nothing
Set Sh = Nothing
Exit Sub
' Fehlerprüfroutine
Err_Handler:
Select Case Err.Number
Case 9
MsgBox "Das angegebene Tabellenblatt existiert nicht!"
Case Else
MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
End Select
Resume Exit_This
End Sub
' Aufruf eines Kalenders
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim RaBereich As Range
If Target.Count > 1 Then Exit Sub
' Bereich der Wirksamkeit
Set RaBereich = Range("A8:A50, J8:J50, M8:M50")
If Not Intersect(Target, RaBereich) Is Nothing Then
Kalender.Show
ElseIf Target.Row >= 4 And Target.Row 
Ich möchte jetzt die zur Bearbeitung anstehende Zelle farblich hervorhaben. Hierzu habe ich in einem anderen Forum folgenden Code gefunden:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
ActiveCell.Interior.ColorIndex = 6
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
ActiveCell.Interior.ColorIndex = 6
End Sub
Wenn ich diesen Code in mein Tabellenblatt einfüge, erhalte ich eine Fehlermeldung. Frage, wie wird dieser Code richtig eingefügt, damit kein Fehler entsteht.
Bin auf dem Gebiet VBA blutiger Anfänjger.
Für die Hilfe Dank im Voraus.
Gruß Horst

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

Betreff
Benutzer
Anzeige
Es kann nur einen geben
07.10.2009 13:54:44
Rudi
Hallo,
du kannst immer nur eine Event-Prozedur haben. Baue die Codezeilen in deine bestehenden ein.
Hinter If Not Intersect ...
Gruß
Rudi
AW: Es kann nur einen geben
07.10.2009 14:34:51
H.Schult
Hallo Rudi
Der von Dir genannte Eintrag existiert zweimal. Welchen meinst Du und muß der Code vollständig eingefügt werden
Gruß Horst
AW: Es kann nur einen geben
07.10.2009 21:13:00
Rudi
Hallo,
der existiert je Prozedur nur 1x
natürlich nur
  Cells.Interior.ColorIndex = xlNone
ActiveCell.Interior.ColorIndex = 6

Gruß
Rudi
AW: Es kann nur einen geben
08.10.2009 12:34:44
H.Schult
Hallo Rudi
Sei doch bitte so nett und erkläre mir doch einmal in verständlicher Form, wie das Einfügen vonstatten gehen soll. Wie ich geschrieben hatte, bin ich blutiger Anfänger in VBA Programmierung. Wenn es möglich ist, kannst Du ja mal meinen Code entsprechend ändern.
Vielen Dank im Voraus
Horst
Anzeige
Das stimmt zwar so nicht,...
08.10.2009 01:52:01
Luc:-?
...Rudi,
es gibt standardmäßig 2 und insgesamt sogar 3, aber es ist sicher besser, das erst mal so zu versuchen...
Gruß Luc :-?
AW: Zelle einfärben
08.10.2009 12:39:20
H.Schult
Hallo Rudi
Erkläre mir doch einmal in verständlciher Form (wie beschrieben, bin ich blutiger Anfänger in VBA) wie das Einfügen in den bestehenden Code vonstatten gehen soll. Noch besser, wenn Du meinen Code entsprechend ändern würdest.
M.f.G.
Horst Schult

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige