Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Diskutiere Word: Zeilen einer Tabelle zählen im Microsoft Office Suite Forum im Bereich Office-Produkte; Moin moin,
wie kann man in Word die Zeilen einer Tabelle zählen, wenn einzelne Spalten über mehrere Zeilen gehen, sprich es existieren vertikal...
#1
E
Eddie
Bekanntes Mitglied
Themenersteller
Dabei seit
04.02.2002
Beiträge
7.380
Reaktionspunkte
0
Moin moin,
wie kann man in Word die Zeilen einer Tabelle zählen, wenn einzelne Spalten über mehrere Zeilen gehen, sprich es existieren vertikal verbundene Zellen?
Folgende Methode liefert dann einen Fehler
Code:
ActiveDocument.Tables(m_i).Rows.Count
Das m_i kommt von der Schleife über alle Tabellen in dem Aktiven Dokument.
Eddie
#2
M
Matjes
Bekanntes Mitglied
Dabei seit
22.08.2001
Beiträge
2.308
Reaktionspunkte
0
Hallo Eddi,
eigentlich liefert diese Funktion immer das Richtige ???
Wenn du in der Symbolleiste das Pi drückst werden alle nicht druckbaren Zeichen angezeigt. Am rechten Rand der Tabelle siehst du dann auch am jeweiligen Zeilenende eine Zeilenende-Zeichen (kleiner Kreis). Diese zählt die Funktion (eigentlich immer richtig).
Wenn nun vertikale Verbindungen von Zellen so auftreten, daß über die Tabellenbreite z.B. jeweils 2 übereinanderliegende Zellen verbunden sind, dann wird daraus eine Zeile (also eine weniger, als vor der Verbindung).
Wenn Du die Druckzeilen zählen willst, kannst Du das folgendermassen machen.
Code:
Sub Word_TabMitVertikalVerbZellen_ZeilenZaehlen()
Dim l_lines_anf As Long, l_lines_end As Long, l_lines As Long
Dim m_i As Long
m_i = 1
If ActiveDocument.Tables.Count >= m_i Then
l_zeilen_cnt = ActiveDocument.Tables(m_i).Rows.Count
l_lines_anf = ActiveDocument.Tables(m_i).Range.Information(wdFirstCharacterLineNumber)
l_lines_end = ActiveDocument.Range( _
Start:=ActiveDocument.Tables(m_i).Range.End, _
End:=ActiveDocument.Tables(m_i).Range.End + 1 _
).Information(wdFirstCharacterLineNumber)
l_lines = l_lines_end - l_lines_anf
MsgBox (Die Tabelle hat & l_zeilen_cnt & Zeilen & vbLf & vbLf & _
Die Tabelle hat eine Höhe von & l_lines & Durckzeilen.)
End If
End Sub
Gruß Matjes
#3
E
Eddie
Bekanntes Mitglied
Themenersteller
Dabei seit
04.02.2002
Beiträge
7.380
Reaktionspunkte
0
Hallo Matjes,
erst einmal vielen Dank für Deine Mühe, werde das gleich mal ausprobieren.
Die Kreise am Ende der Zeile sehe ich und die Anzahl ist auch korrekt.
Keine Ahnung, warum Word 2000 da einen Fehler meldet. Da der Fehler nur bei Tabellen auftritt, die vertikal verbundene Zellen haben und ansonsten nicht, gehe ich mal davon aus, dass ich die Funktion richtig verwendet habe.
Eddie
#4
E
Eddie
Bekanntes Mitglied
Themenersteller
Dabei seit
04.02.2002
Beiträge
7.380
Reaktionspunkte
0
Mein Fehler.
ActiveDocument.Tables(m_i).Rows.Count liefert tatsächlich den korrekten Wert. Ich habe aber den Wert in eine For-Schleife eingebaut und anschliessend ActiveDocument.Tables(m_i).Rows(m_j).Cells.Count ausgeben lassen.
Und genau hier tritt der Fehler dann auf. Der Debugger markiert aber die For Schleife.
Auch wenn ich die Berechnung des Druckbereichs nicht ganz verstehe, liefert die Funktionen falsche Werte. Bei allen Tabellen mit vertikal verbundenen Zellen, kommen negative Werte heraus.
Aber das ist jetzt nicht so wichtig.