Anzahl der Felder innerhalb eines Rahmens



Excel-Version: 2000
nach unten

Betrifft: Anzahl der Felder innerhalb eines Rahmens
von: Günter
Geschrieben am: 07.05.2002 - 14:46:23

Hallo,
meine Aufgabe ist es, ein Makro zu schreiben, das die Anzahl aller Felder innerhalb eines Rahmens zurückgibt. Bei dem Rahmen handelt es ich allerdings nicht immer um einen Rechteckigen Rahmen sonder n er kann jede Form haben: z.B.:A2:A7,B1:C4,D1:D7
(natürlich mit einem Rahmen aussen rum (macht schon ein anderes Makro))

Das Makro soll die anzahl aller zellen innerhalb des Rahmens finden.

nach oben   nach unten

Warum neu
von: Hajo
Geschrieben am: 07.05.2002 - 14:50:17

Hallo Günther

warum neuer Thread. Dein erster Beitrag wurde doch von Hans beantwortet.

Gruß Hajo


nach oben   nach unten

Re: Warum neu
von: Günter
Geschrieben am: 07.05.2002 - 14:54:27

Das ist richtig,
die Lösung hat ja auch funktioniert (Vielen Dank noch mal), aber es fehlt noch was.
Hans' Lösung prüft nur nach unten und links ab, es aknn aber vorkommen, das der Rahmen z.B. wie ein Stahlträger (Doppel-T) aussieht, oder z.B. ein Rechteck (A2:D4)mit zwei aufgesetzten Zellen ist (A2:D4,B1:C1), dann funktioniert es nicht richtig: Die zusätzlichen 2 Zelle nwerden dann nicht mitgezählt.
nach oben   nach unten

Re: Warum neu
von: Hajo
Geschrieben am: 07.05.2002 - 14:58:56

Hallo Günther

es ist aber immer noch die Frage warum neuer Beitrag, Die anderen wissen nichts von Hans seiner Lösung (Ich habe es nur zufällig gelesen) und ich Vermute mal Deine Lösung muß auf die vorgeschlagene Lösung aufbauen.

Gruß Hajo


nach oben   nach unten

Re: Warum neu
von: Günter
Geschrieben am: 07.05.2002 - 15:03:15

Ja du hast recht, war dumm von mir. Ich dachte halt, jemand hat einen Geistesblitz und ersparrt mir ne menge Arbeit. Anbei ist die rsprüngliche Lösung von Hans:

Function CellsCount(rng As Range) As Integer
Dim lRow As Long
Dim iCol As Integer, iCounter As Integer

For lRow = rng.Row To ActiveSheet.Rows.Count
For iCol = rng.Column To ActiveSheet.Columns.Count
iCounter = iCounter + 1
If Cells(lRow, iCol).Borders(xlEdgeRight).Weight = xlMedium Then
Exit For
End If
Next iCol
iCol = rng.Column
If Cells(lRow, iCol).Borders(xlEdgeBottom).Weight = xlMedium Then
Exit For
End If
Next lRow
CellsCount = iCounter
End funktion

Nicht für ungut

Günter

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Anzahl der Felder innerhalb eines Rahmens"