Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Laufzeitfehler 5941
Gehe zu Seite 1, 2  Weiter
zurück: Problem mit der Serienbrief-Abmischung weiter: Textmarken per Includetext einfügen in Abhängigkeit von ASK Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
silverXXI
Gast


Verfasst am:
09. Jul 2009, 11:13
Rufname:

Laufzeitfehler 5941 - Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Hallo Community,

ich habe hier einen schönen VBA Code, der mir ganze Zeile einer Tabelle löscht, wenn in dieser ein Feld nichts enthält.
Code:
    Dim tbl As Table, trow As Row, mpty$

    mpty = "" & Chr(13) & Chr(7)
    For Each tbl In ActiveDocument.Tables
         For Each trow In tbl.Rows
             If trow.Cells(1).Range.Text = mpty Then
             trow.Delete
             End If
         Next trow
    Next tbl
Jedoch hat meine Wordtabelle in einigen Zellen Bedingungsfelder, die manchmal auch leer sein können.
Der Code scheit aber diese Bedingungsfelder nicht erkennen oder nicht lesen, weshalb es mir einen Laufzeitfehler 5941 ausspuckt.

Wie könnte ich den Code so umändern, dass er die Bedingungsfelder ließt und wenn diese leer sind, dann diese Zeilen löscht

Wie könnte ich meinen
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Jul 2009, 11:51
Rufname:
Wohnort: NRW


AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Hi, gibt es auch einen Text zum Laufzeitfehler 5941?! Confused

PS: mir scheint, du bist im falschen Forum gelandet...

_________________
Gruß MissPh!


Zuletzt bearbeitet von MissPh! am 09. Jul 2009, 11:56, insgesamt einmal bearbeitet
silverXXI
Gast


Verfasst am:
09. Jul 2009, 11:55
Rufname:

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

hi,
ja es kommt immer dieser Text:
Zitat:
Das angeforderte Element ist nicht in der Sammlung vorhanden.

gruß
ilverXXI
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Jul 2009, 12:09
Rufname:
Wohnort: NRW

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Welcher Art ist denn das Bedingungsfeld, was genau steht in der betreffenden Zelle und an welcher Code-Stelle genau tritt der Fehler auf?
_________________
Gruß MissPh!
silverXXI
Gast


Verfasst am:
09. Jul 2009, 12:35
Rufname:


AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

silverXXI am 09. Jul 2009 um 12:32 hat folgendes geschrieben:
hi,

es sind Mergefields, die mir Daten aus einer Datenbank in den Seriendruck importieren z.B. Name, Adresse, PLZ.
Ich finde auch die stelle nicht, wo der Fehler entsteht, da mir diese Meldung schon am Anfang angezeigt wird!

gruß
silverXXI

Habe die Stelle gefunden, wo der Fehler auftaucht, es ist der Satz:
Code:
              ElseIf trow.Cells(2).Range.Text = mpty Then
                trow.Delete
            End If
Dieser Satz liest die zweite Spalte der Tabelle und wenn die Zelle dort leer ist, dann wird die Zeile gelöscht.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Jul 2009, 12:45
Rufname:
Wohnort: NRW

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Dann scheint es wohl keine 2. Spalte zu geben.

Besser wäre es schon, gleich zu Anfang den richtigen Code zu zeigen.

_________________
Gruß MissPh!
silverXXI
Gast


Verfasst am:
09. Jul 2009, 12:47
Rufname:

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Das Problem ist, dass eine zweite Spalte da ist und dadrin befinden sich die Mergefields in den einzelnen Zellen.
hier der ganze Code nochmal:
Code:
Sub Dokumentname()
    Dim tbl As Table, trow As Row, mpty$
   
    mpty = "" & Chr(13) & Chr(7)
    For Each tbl In ActiveDocument.Tables
Stop
         For Each trow In tbl.Rows
Stop
             If trow.Cells(1).Range.Text = mpty Then
                trow.Delete
Stop
               ElseIf trow.Cells(2).Range.Text = mpty Then
                trow.Delete
             End If
         Next trow
    Next tbl
End Sub

gruß
silverXXI
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Jul 2009, 13:15
Rufname:
Wohnort: NRW

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Getestet und herausgefunden:
Die Ursache für den Fehler ist eindeutig, dass die angesprochene Spalte nicht existiert.
Dies kann auch durch das Verbinden mehrerer Spalten einer an sich mehrspaltigen Tabelle entstehen.

_________________
Gruß MissPh!
silverXXI
Gast


Verfasst am:
09. Jul 2009, 13:53
Rufname:

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

silverXXI am 09. Jul 2009 um 13:22 hat folgendes geschrieben:
Danke dir für die Hilfe. Razz
Werde jetzt gezielt an dem Problem arbeiten!

gruß
silverXXI

hallo MissPh!,

habe es gerade ausprobiert und sogar eine neue Tabelle mit mit 2 Spalten und 5 Zeilen erstellt, jedoch wird der Fehler weiterhin angezeigt.

Ich habe auch in einen neuen Worddokument eine solche Tabelle erstellt und voila, dort funktioniert es!!!
Habe auch keinen Schimmer wieso es nicht im Formdruck nicht funktioniert.

Hast du vielleicht noch eine andere Lösung für mich?? Smile

gruß
silverXXI
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Jul 2009, 14:08
Rufname:
Wohnort: NRW

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Was verstehst du unter "Formdruck"? Was ist das denn für ein Dokument?
Wär schön, wenn man das mal sehen könnte...

_________________
Gruß MissPh!
Gast



Verfasst am:
09. Jul 2009, 14:48
Rufname:

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

sorry habe mich falsch ausgedrückt! Smile
Es ist eine ganz normaler Serienbrief mit 3 verschiedenen Tabelle.
Die zu löschenden Zeilen, wenn eine der Zellen leer ist, sind in der 3.Tabelle.

Kann leider zum Dokument selbst nicht viel sagen ,da er über 5 Seiten groß, aber es ist eine Objektvereinbarung.
Also geht um Angebote und Aufträge!

gruß
silverXXI .
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Jul 2009, 14:58
Rufname:
Wohnort: NRW

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Tut mir leid, ohne das selbst testen zu können, fällt mir auch nichts mehr dazu ein.
An den Bedingungs- oder Seriendruckfeldern kann es nicht liegen, zumindest ließ sich das von mir nicht nachstellen.
Macht ja auch keinen Sinn, es stimmt irgendwas nicht mit dem Index bzw. der Spaltenzahl.

_________________
Gruß MissPh!
Gast



Verfasst am:
09. Jul 2009, 15:08
Rufname:

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

wie kann ich dir dann die datei schicken???
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Jul 2009, 15:47
Rufname:
Wohnort: NRW

AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

Du müsstest dich hier anmelden, damit ich dir eine PN schicken kann, wenn du die Datei hier nicht hochladen möchtest.
Die öffentliche Angabe von Email-Adressen ist hier (sinnvollerweise) unerwünscht.

_________________
Gruß MissPh!
silverXXI
Gast


Verfasst am:
09. Jul 2009, 16:02
Rufname:


AW: Laufzeitfehler 5941 - AW: Laufzeitfehler 5941

Nach oben
       Version: Office 2008 (Mac)

hallo MissPh!,

vielen, vielen Dank für deine Hilfe.
Du hast mich auf eine super Idee gebracht!!!! Very Happy Very Happy

ich werde das Forum weiter empfehlen!!! Razz

Hier ist meine Lösung für mein Problem:
Code:
Sub Dokumentname2()
    Dim trow As Row, mpty As String
    Dim lSpalte As Long
    Dim lReihe As Long
    Dim lReihe2 As Long
    Dim sText As String, sText2 As String, sText3 As String, sText4 As String
    Dim sText5 As String, sText6 As String
   
    mpty = "" & Chr(13) & Chr(7)
    lSpalte = ActiveDocument.Tables.Count
Stop
    lSpalte = ActiveDocument.Tables(3).Columns.Count
Stop
    lReihe = ActiveDocument.Tables(3).Columns(1).Cells.Count
Stop
    lReihe2 = ActiveDocument.Tables(3).Columns(2).Cells.Count
Stop
    sText = ActiveDocument.Tables(3).Columns(2).Cells(1)
    sText2 = ActiveDocument.Tables(3).Columns(2).Cells(2)
    sText3 = ActiveDocument.Tables(3).Columns(2).Cells(3)
    sText4 = ActiveDocument.Tables(3).Columns(2).Cells(4)
    sText5 = ActiveDocument.Tables(3).Columns(2).Cells(5)
Stop
    If sText = mpty Then
        ActiveDocument.Tables(3).Columns(2).Cells(1).Row.Delete
    End If
    If sText2 = mpty Then
        ActiveDocument.Tables(3).Columns(2).Cells(2).Row.Delete
    End If
    If sText3 = mpty Then
        ActiveDocument.Tables(3).Columns(2).Cells(3).Row.Delete
    End If
    If sText4 = mpty Then
        ActiveDocument.Tables(3).Columns(2).Cells(3).Row.Delete
    End If
    If sText5 = mpty Then
        ActiveDocument.Tables(3).Columns(2).Cells(5).Row.Delete
    End If
End Sub
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word VBA Programmierung (Makros): Word 2010 Makro LzFehler 5941 7 Felsky 622 01. Okt 2013, 15:11
DonBenni Word 2010 Makro LzFehler 5941
Keine neuen Beiträge Word VBA Programmierung (Makros): Laufzeitfehler beim Durchsuchen von OptionButton 4 Norwegen60 218 24. Sep 2013, 10:21
Norwegen60 Laufzeitfehler beim Durchsuchen von OptionButton
Keine neuen Beiträge Word VBA Programmierung (Makros): Laufzeitfehler 5981 Office 2003/2010 6 nrg007 315 22. Jul 2013, 17:56
nrg007 Laufzeitfehler 5981 Office 2003/2010
Keine neuen Beiträge Word VBA Programmierung (Makros): Laufzeitfehler '5941' ab Element 10, für 1-9 alles ok 3 medien_freak 310 02. Okt 2012, 17:45
medien_freak Laufzeitfehler '5941' ab Element 10, für 1-9 alles ok
Keine neuen Beiträge Word VBA Programmierung (Makros): Laufzeitfehler 70, zugriffverweigert 0 registriert_II 824 08. Jun 2012, 11:36
registriert_II Laufzeitfehler 70, zugriffverweigert
Keine neuen Beiträge Word VBA Programmierung (Makros): Error 5941 3 hammersack 300 05. Jun 2012, 09:27
powerzone3000 Error 5941
Keine neuen Beiträge Word Serienbriefe: Laufzeitfehler 3275 0 Siega 314 24. Mai 2012, 10:50
Siega Laufzeitfehler 3275
Keine neuen Beiträge Word VBA Programmierung (Makros): Laufzeitfehler 5941 1 itwolf 823 17. Nov 2011, 18:20
j.hofer Laufzeitfehler 5941
Keine neuen Beiträge Word Serienbriefe: Rückgabelimit bei Stored Procedure Aufruf ? (Laufzeitfehler) 0 Gizmo4ever 389 01. Sep 2011, 21:28
Gizmo4ever Rückgabelimit bei Stored Procedure Aufruf ? (Laufzeitfehler)
Keine neuen Beiträge Word VBA Programmierung (Makros): Laufzeitfehler 5151 mit Word 2010 0 chaot 1925 15. Dez 2010, 18:01
chaot Laufzeitfehler 5151 mit Word 2010
Keine neuen Beiträge Word VBA Programmierung (Makros): Hilfe - zu viele Wörter für das Makro - Laufzeitfehler 3 truecolor 510 24. Okt 2010, 13:01
KeepCoolMan Hilfe - zu viele Wörter für das Makro - Laufzeitfehler
Keine neuen Beiträge Word Formate: Syntaxfehler Laufzeitfehler 3075 0 stan_1958 498 23. Apr 2010, 20:03
stan_1958 Syntaxfehler Laufzeitfehler 3075
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln