Live-Forum - Die aktuellen Beiträge
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
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


Hallo zusammen,
bei einer Exceltabelle, die aus ca. 40 freien Zeilen besteht, die sich über die Zeit füllen, soll in Zeile 41 immer die Zahl der letzten gefüllten Zeile angezeigt werden.
Ist das möglich?
Danke im voraus!
Hendrik
Anzeige

Hallo!
Habe eine Spalte in der Artikelname und Artikelmerkmale, durch drei Punkte getrennt "...", zusammen stehen. Beispiel: Lecker Whisky 21 Jahre ... Lieferung in hochwertiger Schatulle
Wie krieg ich nun den Text links der Punkte in eine extra Spalte und rechts der Punkte in eine extr...

Hallo.
Wie kann man in Excel auf die Eingabe in einer Zelle schon beim Tastendruck reagieren?
Beispiel: Schon während der Eingabe von Werten soll reagiert werden. Bspw. ist eine fünfstellige Bestelnummer einzutragen. Nachdem fünf Ziffern eingetragen sind soll automatisch in die nächste...
Anzeige

1. Ist es möglich, die markierten Zeilen von Screenshot 1 per Formel/Makro so zu übernehmen, das diese wie in Screenshot 2 übernommen werden? Solche Felder kommen aber öfters und auch mit einzelnen Zeilen dazwischen vor. Die Formatierung (bei Zahlen mit ,00 soll ein langer Strich stehen) sollte...

Hi
Wir brauchen etwas ähnliches wie in diesem Script von Daniel (der uns schon sehr weitergeholfen hat!):
https://www.herber.de/bbs/user/57225.xls
Zeilen sollen zusammengefasst werden, wenn die Bezeichnung in Spalte A und B gleich sind (siehe Screenshots).
https://www.herber.de...

Guten Morgen zusammen,
ich möchte in einer Zelle einen Wert "hochzählen" lassen. Also z.B. in Zelle A1 soll jeweils alles zusammen addiert werden was in Zelle B1 eingegeben wurde.
Ich hoffe das ist einigermaßen verständlich...
Vielen Dank im Voraus für Eure Tipps!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige