Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

2 für euch sicher kleine Probleme ^^

2 für euch sicher kleine Probleme ^^
08.02.2008 21:55:00
Franc
Hi,
hab mir nen kleines Programm geschrieben, was alle angrenzenden leeren, von der markierten Zelle (Schema links, recht, oben, unten) an einen gefüllten Bereich markiert. Doofe Beschreibung - einfach mal probieren. ^^
Hab auch net soviel Ahnung von vba und ist nach x Überlegungen wie man es machen könnte die 1. die funktioniert hat.
Problem:
1.) Befindet sich der Cursor in der Zeile 1 oder Spalte 1 bricht es ab, weil wenn es die Zelle darüber oder links prüft und dann das Makro auf Fehler läuft. Wie bekomm ich das so hin, das er das ignoriert? (Die OnError Funktion benutz ich schon für das Ende und anschließende markieren)
2.) Die roten Bereiche laufen auf Fehler, weil die Anzahl der Argumente für "Range(alle)" zu viel werden.
Wie kann ich die Bereich zusammenfassen? Das sollte doch mit Union gehen oder?
Hoff die kurze Noterklärung im Makro reicht um den Ablauf zu verstehen.
Falls ihr am Ablauf vom Makro was verbessern könnt, dann nur her damit. ;-)
PS: Ab 200 leeren Zellen beendet sich das Makro falls man ausversehen in einen riesigen leeren Bereich klickt.
https://www.herber.de/bbs/user/49752.xls

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
leere Zellen werden markiert aber ...
09.02.2008 03:05:00
Franc
https://www.herber.de/bbs/user/49755.xls
so, habs erstmal sicher umständlich mit den größeren Bereichen "gelöst".
Wenn ich bei größeren Bereichen verschiedene Arrays angelegt hatte, habe ich keine Möglichkeit gefunden das mit Application.Union zu markieren/färben. Es kam immer der Fehler, das kein Objekt angegeben wurde obwohl die einzelnen Bereiche die Zellen enthielten (sah man im Ausdrucksfenster)
Die Select Anweisung sah bei meinem Versuch so aus.
Select Case Anzahl_Leer_Gruppen
Case Is = 1
For z = 0 To UBound(Leer)
Test = Test & "," & Leer(z)
Next z
Test = Right(Test, Len(Test) - 1)
Range(Test).Interior.ColorIndex = Farbe
Case Else
For z = 0 To Anzahl_Leer_Gruppen - 1
x = (z * 40) + 1
If z = 0 Then x = 0
Anzahl_Leer = (z + 1) * 40
If z = Anzahl_Leer_Gruppen - 1 Then Anzahl_Leer = UBound(Leer)
For i = x To Anzahl_Leer
Feld(z) = Feld(z) & "," & Leer(i)
Next i
Feld(z) = Right(Feld(z), Len(Feld(z)) - 1)
Next z
tmp1 = "Range(Feld(" & "0" & "))"
For y = 1 To Anzahl_Leer_Gruppen - 1
tmp2 = tmp2 & "Range(Feld(" & y & ")),"
Next y
tmp2 = Left(tmp2, Len(tmp2) - 1)
Set Test = Application.Union(tmp1, tmp2)
Test.Select
End Select

Anzeige
Anmerkung
09.02.2008 03:11:29
Franc
Sicher könnte ich wenn es nur ums färben ging das ganze mit foglendem erledigen aber es geht ja auch um das "als Bereich" markieren. ^^
for x = 0 to UBound(Leer)
Leer(x).Interior.ColorIndex = Farbe
next x

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige