Bereich zwischen Zellrahmen suchen
Malte
mein Grundproblem ist es, eine Suche nach Zellrahmen zu gestalten.
Dabei ist die Tabelle wie folgt aufgebaut (die unterstriche stehen für den dicken unteren Rahmen einer Zelle -> xlEdgeBottom Stärke: xlMedium)
1_______________
2
3
4_______________
5_______________
6
7
8
9
10
11_______________
Nun muss ich die einzelnen Bereiche herausfinden, um mit diesen weiter zu arbeiten, sprich ich bräuchte die Wertepaare
z.b. Zelle 2-4, Zelle 5 und Zelle 6 bis 11.
Meine Idee sieht wie folgt aus (als
Function verpackt)
Function bereich_check()
Dim b As Integer 'Merker
Dim feld(2) As Integer 'Feld 1 = Startzelle ; Feld 2 = Endzelle
Do Until Range("a" & i).Borders(xlEdgeBottom).Weight = xlMedium And b = 2 'Suche bis Linie _
gefunden ist und b=2 ist
If Range("a" & i).Borders(xlEdgeBottom).Weight = xlMedium Then 'wenn zelle eine dicke _
_
_
linie hat, dann b hochsetzen und zelle schreiben
feld(b) = i 'Zellen schreiben
b = b + 1
End If
i = i + 1
Loop
feld(1) = feld(1) + 1 Ich suche nach xlBottom, also wenn Zelle 1 die Linie unten hat, ist mein _
_
_
Bereichsstartwert Zelle 2, also der erste Wert+1
bereich_check = feld 'Übergabewert
End Function
i ist eine globale Variable, damit ich beim erneuten starten des Makros immer wieder weiß wo ich bin (total doofe Lösung)
Das Problem ist, dass die b=2 Bedingung nicht so richtig akzeptiert wird, da er mir immer nur einen Wert ausgibt.
Beim ersten Durchlauf schreibt er die richtigen Werte, dann wenn b=2 läuft er jedoch stumpf weiter und bricht nicht ab, somit sind meine ganzen Werte falsch und es kommt nur noch mumpitz raus. :/
Hat jemand eine Idee?
Vielen Dank!
Anzeige