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!