Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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

Laufzeit 424 bei With Anweisung

Laufzeit 424 bei With Anweisung
23.06.2017 11:02:29
Sven
Hallo zusammen,
ich verwende Office 2016.
Ich möchte die Farbe von bestimmten Wörtern in einer Zelle ändern.
Dieses soll automatisch passieren, wenn der Inhalt einer Zelle geändert wurde.
Der automatische Aufruf des Markos funktioniert soweit.
Für das Ändern der Schriftware, wollte ich ein Makro verwenden. Dieses habe ich nicht selbst geschrieben. Ich habe es im Internet gefunden.
Beim Ausführen des Makros erhalte immer "Laufzeitfehler 424, Objekt erforderlich".
Die Meldung kommt in dieser Zeile:
With Data_List.Cells(1).CurrentRegion.Columns(7)
Data_list ist dabei der Name des Tabellenblattes.
Kann mir da jemand weiterhelfen und das ans Laufen bringen? Ich habe kaum VBA Kenntnisse.
Folgend das komplette Makro:

Sub WoerterFaerben()
Dim iavarDaten    As Long
Dim avarDaten     As Variant
Dim iavarWort     As Variant
Dim avarWort      As Variant
Dim intFarbe      As Integer
Dim rngBereich    As Range
Dim intWortStart  As Integer
Dim intWortLaenge As Integer
Dim colWortFarbe As Collection
With Data_List.Cells(1).CurrentRegion.Columns(7)
Set rngBereich = .Cells
avarDaten = .Value2
End With
Set colWortFarbe = New Collection
colWortFarbe.Add 4, CStr("erled.")   ' 3 = rot
colWortFarbe.Add 4, CStr("Erledigt")   ' 3 = rot
'colWortFarbe.Add 4, CStr("geprüft") ' 4 = grün
'colWortFarbe.Add 45, CStr("Import") ' 45 = orange
rngBereich.Font.ColorIndex = xlColorIndexAutomatic
On Error Resume Next
For iavarDaten = LBound(avarDaten) To UBound(avarDaten)
If avarDaten(iavarDaten, 1)  Empty Then
avarWort = Split(avarDaten(iavarDaten, 1), " ")
For iavarWort = LBound(avarWort) To UBound(avarWort)
intFarbe = colWortFarbe(avarWort(iavarWort))
If intFarbe > 0 Then
intWortStart = InStr(avarDaten(iavarDaten, 1), avarWort(iavarWort))
intWortLaenge = Len(avarWort(iavarWort))
rngBereich.Cells(iavarDaten, 1).Characters(intWortStart, intWortLaenge)
_ .Font.ColorIndex = intFarbe
intFarbe = 0
Else
Err.Clear
End If
Next
End If
Next
On Error GoTo 0
End Sub

Vielen Dank!
Beste Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeit 424 bei With Anweisung
23.06.2017 11:25:41
Luschi
Hallo Sven,
dann schreibe vor der Zeile mit 'With...' folgende Anweisung:
MsgBox Data_List.Cells(1).CurrentRegion.Address
und zähle die Spalten.
Wahrscheinlich hat dieser aktulle Bereich keine 7. Spalte.
Gruß von Luschi
aus klein-Paris
AW: Laufzeit 424 bei With Anweisung
23.06.2017 13:12:52
Sven
Hallo,
vielen Dank, aber leider bringt das nicht den erhofften Erfolg. Wenn ich die Zeile einfüge, kommt der gleiche Fehler, allerdings dann in dieser neu eingefügten Zeile.
Beste Grüße
with worksheets("Data_list").... owT
23.06.2017 12:16:13
Rudi
Wenn du 'Data_List.Cells...' verwenden willst, ...
23.06.2017 15:51:40
Luc:-?
…Sven,
muss Data_List der interne CodeName dieses Blattes sein, nicht sein Titel! Da bei deinem Xl-/VBA-Level nicht anzunehmen ist, dass du den geändert hast, kann wohl nur Rudis Empfehlung richtig sein. Wäre es nämlich tatsächlich ein CodeName, würde bei Setzen des nachfolgd Pktes auch der VBE-Intellisense wirksam wdn und dir eine Liste von Blatt-Eigenschaften anzeigen.
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Laufzeit 424 bei With Anweisung
26.06.2017 08:39:26
Sven
Hallo zusammen,
ich habe das nun einmal so angepasst, wie Rudi das angegeben hat. Die Fehlermeldung kommt nun in der With Zeile nicht mehr, allerdings kommt sie nun bei der Zeile "avarDaten = .Value2".
Hat da jemand eine Idee, woran das liegt.
Meine VBA Kenntnisse sind leider sehr bescheiden, dass ich sagen muss, dass ich da nicht durchblicke, was da nun schief läuft.
Vielen Dank!
Beste Grüße
AW: Laufzeit 424 bei With Anweisung
27.06.2017 08:20:10
Sven
Hallo zusammen,
ich habe ein wenig rumexperimentiert und das Ganze nun mal wie folgt angepasst.
Mit folgendem ist die Fehlermeldung in dieser Zeile erst einmal weg. Das Makro läuft auch durch, allerdings macht es nicht das, was es eigentlich soll.
Wenn das Makro nun durchläuft, wird die Textfarbe aller Texte auf schwarz gestellt. Die angegebenen Texte werden aber nicht wie gewünscht farbig markiert. Da scheint dann irgendwo anders noch der Wurm drin zu sein oder aber vielleicht noch in der Zeile, die ich angepasst habe.
Hat jemand eine Idee woran es liegen könnte?
Vielen Dank!
Beste Grüße
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige