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

Problem mit bed. Format. über ein Makro!

Problem mit bed. Format. über ein Makro!
31.07.2016 07:40:35
Kasimir
Hallo an alle Helfer!
Ich grüble nun schon eine ganze Weile an einem Problem und finde keine Lösung. Ich habe eine Übersicht, in der Mitarbeiter und Lehrgänge aufgeführt werden. Hier werden in 6 Spalten Daten (ich bezeichne das mal als Block) für einen Lehrgang eingetragen. 3 Spalten davon werden über die Gliederungsfunktion ausgeblendet. In der 4. Spalte des Blocks wird unter anderem für den Mitarbeiter das Datum des letzten Lehrgangsbesuch eingetragen. In der nächsten Spalte wird dann das Datum über die Formel
=WENN(UND(E4>0;B$2>0);DATUM(JAHR(E4)+B$2;MONAT(E4);TAG(E4));"")“ /i>
(hier für Zeile 4) ausgerechnet, bis wann der Mitarbeiter diesen Lehrgang wiederholt haben muss. Nun möchte ich über ein VBA-Code in der Zeile, in der das Datum eingetragen wird, für den gesamten Block eine bedingte Formatierung eintragen lassen. Ich habe das über „Worksheet_Change- Ereignis“ realisiert. Nachfolgend ein Bild über den Aufbau der Tabelle und der VBA-Code:
Userbild
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intColumn       As Integer
Dim intRowFormat    As Integer
Dim strColumnEnde   As String
On Error GoTo ERRORHANDLER
If Target.Row $" & strColumnEnde & "$" & _
intRowFormat & ""
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 8420607
.TintAndShade = 0
End With
End With
.Protect
End With
Exit Sub
ERRORHANDLER:
MsgBox "Fehler"
End Sub
Wenn ich nun in der Datumsspalte ein Datum eintrage und danach das Worksheet_Change- Ereignis ausgelöst wird, erhalte ich den „Laufzeitfehler 5, Ungültiger Prozeduraufruf oder ungültiges Argument“ und mir wird die Zeile
.FormatConditions.Add Type:=xlExpression, Formula1:="=HEUTE()>$" & strColumnEnde & "$" & intRowFormat & ""
Gelb markiert. Es würde schon die Zeile für das Löschen der bedingten Formatierung angemeckert, wenn ich dies nicht mit „On Error Resume Next“ ausgemerzt hätte.
Meine Frage nun, kann sich jemand erklären, warum der VBA-Code an der Stelle abbricht?
Jetzt wird sich der ein oder andere fragen, warum ich nicht die bedingte Formatierung händisch für alle Blöcke vorher eingebe. Der Grund liegt darin, dass diese Tabelle ständig weiterwächst. Es wird über versch. Makros Mitarbeiter oder Lehrgänge hinzugefügt. Daher kann ich das nicht vorher vorbereiten.
Ich hoffe, jemand hat eine Lösung für mich.
Für die Hilfe möchte ich schon mal vorab meinen Dank aussprechen.
Gruß,
Kasimir

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

Betreff
Datum
Anwender
Anzeige
AW: Problem mit bed. Format. über ein Makro!
31.07.2016 09:13:30
Hajo_Zi
Hallo Kasimir,
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann. Eine hochgeladene Arbeitsmappe erhöht die Wahrscheinlichkeit, dass Du eine Lösung für Dein Problem erhältst.
Erstelle folglich bitte eine Demomappe, aus der deine Aufgabenstellung klar erkennbar ist und lade diese Mappe mit einem aussagekräftigen Dateinamen hoch.
Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Test, Mappe, Beispiel usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, solltest du diese Daten anonymisieren bzw. pseudonymisieren.
Falls Du den Download des Forums nicht benutzen möchtest beachte bitte: von unsicheren Servern file-upload lade ich keine Datei herunter (lt. Einschätzung meines Virenprogramms)

Anzeige
AW: Problem mit bed. Format. über ein Makro!
31.07.2016 09:22:29
Kasimir
Hallo!
Sorry, aber kannst Du mal aufhören die Leute hier immer belehren zu wollen. Wenn Du nicht helfen möchtest, weil Dir an der Fragestellung irgend etwas nicht passt, dann antworte doch bitte erst gar nicht auf diese Beiträge. Aber lass diese Beiträge, die keinem etwas nützen, außer, dass ich diese Frage nun erneut als offen kennzeichnen muss.
Gruß,
Kasimir
AW: Problem mit bed. Format. über ein Makro!
31.07.2016 09:33:26
Hajo_Zi
Hallo Kasimir,
ich wollte helfen siehe mein ersten Beitrag.
Gruß Hajo
Frage noch offen!
31.07.2016 09:23:30
Kasimir
.
Zeilen-/SpaltenIndizes deklariert man 'As Long', …
31.07.2016 13:02:11
Luc:-?
…Kasimir,
um Überlauf zu vermeiden. Integer sollte ohnehin nur in Ausnahmefällen angewendet wdn.
Das muss aber nicht unbedingt zu einem Fehler führen. Überprüfe mal den Wert von strColumnEnde! Möglicherweise liegt das aber auch am fehlenden Geltungsbereich oder anderem Fehlenden, was nicht automatisch gesetzt wird. Beachte, dass sich die BedingtFormatierung mit Xl12/2007 sehr verändert hat!
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Zeilen-/SpaltenIndizes deklariert man 'As Long', …
31.07.2016 13:51:23
Kasimir
Hallo Luc1
Danke Dir für Deine Antwort. Ich habe das Problem jetzt lokalisiert: Das Problem liegt an der "Z1S1-Bezugsart". Wenn diese aktiviert ist, erscheint der Fehler. Ich habe mir hier nun mit folgendem Befehl geholfen, damit der Laufzeitfehler nicht mehr auftritt.
If Application.ReferenceStyle = xlR1C1 Then _
Application.ReferenceStyle = xlA1

Nun funktioniert es.
Nochmal danke und noch einen schönen Restsonntag,
Kasimir

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige