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

Borders.Color spuckt einen Fehler aus

Borders.Color spuckt einen Fehler aus
01.02.2021 08:17:41
Jacek
Guten Morgen zusammen,
ich sitze nun bereits eine Weile an einer Excel und da ich VBA-Neuling bin, kommen natürlich für mich vollkommen unverständliche Fehler auf. Ein Beispiel hierzu ist dieses hier:
Ich möchte hiermit im Worksheet "Cache" nach Differenzen zu "Ranks" suchen und diese Differenzen dann im Sheet Ranks hervorheben. Ich habe das Gefühl, dass die Suche funktionieren dürfte, da ich sie in einem anderen Beitrag gefunden habe.
Was jedoch einen Fehler ausspuckt, ist die Färbung des Rahmens der jeweiligen Zellen.
Jemand eine Idee woran das liegen könnte? Ich kann nicht herausfinden, woran es liegen mag.
Und das ist derzeit einer von mehreren Fehlern in meiner Excel.

Sub Search()
Dim ws As Worksheet
Dim i As Integer
Dim c As Range
Dim RowCacheH As Integer
Dim RowRanksH As Integer
Dim Material As String
RowRanksH = Sheets("Hofer-Ranks").Range("B65536").End(xlUp).Row
RowCacheH = Sheets("Hofer-Cache").Range("B65536").End(xlUp).Row
Set ws = Worksheets("Hofer-Cache")
For i = 2 To RowRanksH
Material = Sheets("Hofer-Ranks").Cells(i, "B")
Set c = ws.Range("B65536").End(xlUp).Find(Material, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
GoTo Skip
Else
Sheets("Hofer-Ranks").Cells(i, "B").Borders.Color = vbRed
End If
Skip:
Next i
End Sub

Ich bedanke mich bereits im Vorfeld. Ich nehme an, dass es ein sehr offensichtlicher Fehler ist, ich nur leider unfähig bin, ihn zu erkennen.
VG
Jacek

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Borders.Color spuckt einen Fehler aus
01.02.2021 08:35:35
Nepumuk
Hallo Jacek,
Borders ist ein Auflistungsobjekt, das hat keine Color-Eigenschaft. Versuch es so:
Sheets("Hofer-Ranks").Cells(i, "B").BorderAround Color:=vbRed

Gruß
Nepumuk
AW: Borders.Color spuckt einen Fehler aus
01.02.2021 08:57:34
Jacek
Hi Nepumuk,
vielen Dank!
Leider spuckt Excel nun einen Laufzeitfehler aus. 1004.
"Die BorderAround-Methode des Range-Objektes konnte nicht ausgeführt werden."
Somit stehe ich nachwievor vor einem Problemchen :D
VG
Jacek
AW: Borders.Color spuckt einen Fehler aus
01.02.2021 09:01:55
Nepumuk
Hallo Jacek,
Tabelle geschützt?
Gruß
Nepumuk
AW: Borders.Color spuckt einen Fehler aus
01.02.2021 09:43:11
Jacek
Hallo Nepumuk,
der Blattschutz war tatsächlich aktiv. Das ist mir nun etwas peinlich.
Die Funktion verursacht nun keinen Laufzeitfehler mehr.
Das wäre gelöst.
Habe nun das Progrämmchen mit "F8" durchgeklickt.
Irgendwie scheint es aber nicht wirklich zu funktionieren.
Es springt andauernd in die Else Schleife (kann nicht sein, demnach ist die Suchfunktion wohl noch fehlerhaft)
Es wird nichts eingefärbt.
Habe es überprüft. Die zu überprüfenden & einzufärbenden Daten stehen jeweils in Spalte B.
Merkwürdig.
Anzeige
AW: Borders.Color spuckt einen Fehler aus
01.02.2021 09:49:47
Nepumuk
Hallo Jacek,
damit:
ws.Range("B65536").End(xlUp)
suchst du nur in der letzten benutzten Zelle der Spalte. Versuch es so:
ws.Columns(2).Find(....
Gruß
Nepumuk
AW: Borders.Color spuckt einen Fehler aus
01.02.2021 10:02:42
Jacek
Hi Nepumuk,
vielen Dank! Es funktioniert!
Super.
Vermutlich kam mein Fehler daher, da ich diese Form in einer For-Schleife genutzt habe.

RowRanksH = Sheets("Hofer-Ranks").Range("B65536").End(xlUp).Row
RowCacheH = Sheets("Hofer-Cache").Range("B65536").End(xlUp).Row
For i = 2 To RowRanksH
For o = 2 To RowCacheH
If (Sheets("Hofer-Ranks").Cells(i, "B").Value = Sheets("Hofer-Cache").Cells(o, "B"). _
Value) Then
'Prio
Sheets("Hofer-Ranks").Cells(i, "A").Value = Sheets("Hofer-Cache").Cells(o, "A"). _
Value
GoTo Skip
End If
Hier habe ich die Zeilen durchspringen lassen und Werte übernommen, wenn es eine Übereinstimmung gab. Dachte deswegen ich könnte die Form auch nutzen.
Ich habe aber offensichtlich nicht mitgedacht. Ich bedanke mich vielmals!
Jetzt erkenne ich meinen offensichtlichen Fehler.
Anzeige
Irrtum
01.02.2021 10:21:15
Daniel
Wenn der Zellbereich für .Find nur eine Zelle groß ist, sucht man nicht in dieser einen Zelle, sondern im ganzen Blatt.
Dürfte wohl daran liegen, dass .Find auf eine Einzelzelle angewendet nicht sinnvoll ist und dass MS als zusätzlichen Komfort eingebaut hat, dass man nicht alle Zellen auswählen muss, wenn man im ganzen Blattnn suchen will, sondern dass automatisch im ganzen Blatt gesucht wird, wenn nur eine Zelle ausgewählt ist.
Dieses Verhalten aus dem Excelblatt gilt dann auch bei der Ausführung per Makro.
Gruß Daniel
Quatsch
01.02.2021 10:29:39
Nepumuk
Hallo Daniel,
dann hätte ja die Begriffe gefunden werden müssen. Ich habe das jetzt getestet, deine Aussage ist Quatsch.
Gruß
Nepumuk
Anzeige
Stimmt hast recht
01.02.2021 10:53:17
Daniel
da habe ich mich wohl davon leiten lassen, dass bei anderen Excelfunktionen (Autofilter, Sortieren) bei Angabe einer Zelle automatisch auf den umgebenden Zellbereich erweitert wird.
(vielleicht wars auch früher bei .Find mal so)
Gruß Daniel
Borders. ist zwar ein Auflistungsobjekt aller ...
01.02.2021 09:19:48
Luc:-?
…4 ZellRahmen, Jacek,
hat aber durchaus auch die Eigenschaft .Colors, wie man sich leicht in VBE-Hilfe und Objekt-Manager überzeugen kann, nur ist die 0 (früher Null), wenn die Rahmen unterschiedlich gefärbt sind. Die Angabe eines Spaltenbuchstabens als Cell-Koordinate ist zwar nicht ganz syntaxgerecht, wird aber von xlVBA toleriert. Der Fehler muss also woanders liegen, wahrscheinlich in der ZellBestimmung (i ?).
Morhn, Luc :-?
Anzeige
AW: Borders. ist zwar ein Auflistungsobjekt aller ...
01.02.2021 09:49:11
Jacek
Hallo Luc:-?,
nachdem ich festgestellt habe, dass der Blattschutz meine Funktion eigentlich blockiert hat, habe ich nun festgestellt, dass in meinem Beispiel nun ALLE Einträge in Ranks, Spalte B eingefärbt werden.
Demnach scheint meine Überprüfung nicht zu stimmen.
Die Variable, "Materials" nimmt nämlich den korrekten Wert je Iteration an.
Der Fehler MUSS einfach in der Überprüfung liegen.
VG & Danke Jacek
AW: Borders. ist zwar ein Auflistungsobjekt aller ...
01.02.2021 10:04:16
ralf_b
ws.Range("B65536").End(xlUp) ist nur eine Zelle in splate B . Soll das so?
AW: Borders. ist zwar ein Auflistungsobjekt aller ...
01.02.2021 10:06:13
Jacek
Hallo ralf_b,
Fehler/Hirnfurz wurde bereits bemerkt :)
Danke vielmals!
Ich habe eindeutig noch sehr viel zu lernen & muss achtsamer sein :D
VG Jacek
Anzeige
AW: Borders. ist zwar ein Auflistungsobjekt aller ...
01.02.2021 10:07:43
ralf_b
ja sorry, hab nicht alle Zweige gelesen und Post löschen geht nicht.
AW: Borders. ist zwar ein Auflistungsobjekt aller ...
01.02.2021 10:15:06
Jacek
Alles wunderbar :)
War ja kein Stress diese kurze Antwort zu verfassen, um mitzuteilen, dass der Hirnfurz bereits entdeckt wurde :)
Ich bin euch allen wirklich super dankbar! Ich schätze jede Art von Hilfe :)
VG
Jacek

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige