MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Word
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 07.01.2019, 14:29   #1
Bobby1504
MOF User
MOF User
Standard VBA - Ausgeblendete Zeilen in Tabellen löschen

Hallo zusammen,

ich kenne mich leider mit VBA nicht so aus, deshalb mal folgende Frage.

Ich möchte per Makro alle ausgeblendeten Zeilen in den vorhanden Tabellen eines Word-Dokuments löschen, d.h. ich hab in dem Word-Dokument z.B. 3 Tabellen. In jeder Tabelle sind einige Zeilen ausgeblendet. Die sollen gelöscht werden, so dass nur noch die Tabelle mit den sichtbaren Zeilen übrig bleibt.

In etwa so hatte ich mir vorgestellt:

Code:

Sub ()

Dim i As Integer
Dim j As Integer

For i = 1 To ActiveDocument.Tables.Count
For j = 1 To ActiveDocument.Tables(i).Rows.Count


If ActiveDocument.Tables(i).Rows(j).Range.Font.Hidden = True Then

ActiveDocument.Tables(i).Rows(j).Delete

Next j

End If

Next i

End Sub
So funktioniert der Code aber nicht.

Jemand ne Idee?

Danke und Grüße,

Bobby
Bobby1504 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.01.2019, 14:35   #2
halweg
MOF Koryphäe
MOF Koryphäe
Standard

Es könnte sein, dass innerhalb der Tabellenzeile einzelne Zeichen nicht hidden sind, dann bringt .font.hidden auf Zeilenebene kein True.
Probier doch mal, indem du einzelne Zellen/Teile der Tabellenzeile markierst und dann jeweils über selection den Font abprüfst.

Ohne probieren und testen wirst du das Problem nicht lösen können.

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.01.2019, 14:50   #3
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Bobby,

erstens hast du das End-If falsch stehen. Es gehört in die j-Schleife hinein. Über die resultierende Fehlermeldung solltest du berichten, statt einfach "funktioniert nicht" zu vermelden. Dann ist die Fehlersuche leichter.

Zweitens ist es beim Löschen von Bereichen immer eine gute Idee, von hinten zu beginnen. Dann schaut dein Makro so aus:
Code:

Sub löschVerborgeneZeilen()

Dim i As Integer
Dim j As Integer

For i = 1 To ActiveDocument.Tables.Count
    For j = ActiveDocument.Tables(i).Rows.Count To 1 Step -1
        If ActiveDocument.Tables(i).Rows(j).Range.Font.Hidden = True Then
            ActiveDocument.Tables(i).Rows(j).Delete
        End If
    Next j
Next i

End Sub
Drittens kann dann immer noch der Hinweis von Halweg zutreffen.

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.01.2019, 15:17   #4
halweg
MOF Koryphäe
MOF Koryphäe
Standard

@Gerhard: Das falsche End If hatte ich bei glatt übersehen.
Da sieht man mal wieder, wie gut es ist, dass wir damals noch "richtig" programmieren gelernt haben, so mit Einrücken, sprechenden Namen und anderen Kodierungsstandards...

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 15:52   #5
Bobby1504
Threadstarter Threadstarter
MOF User
MOF User
Standard

Sorry, dass ich mich erst jetzt melde. Kam vorher nicht mehr zu meinem Problem. Der Code funktioniert so super und versteh ihn auch. :-) Danke
Bobby1504 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.