Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1888to1892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Laufzeitfehler 1004 Fußzeile

VBA Laufzeitfehler 1004 Fußzeile
13.07.2022 17:23:07
Rene
Guten Tag
Ich habe leider ein Problem wo ich nicht mehr weiter weiß.
Ich habe eine Arbeitsmappe erstellt, die Daten aus einer anderen Datei in die Tabelle "Datenbank" mit aufgezeichneten Makro holt.
diese Daten werden in die Tabbelle "Fehlliste" zum bearbeitet übernommen.
Wenn in der Zelle A7 etwas steht, kann man in der Zelle B7 einen Wert setzten z. B.: A1, A2, A3, B etc
Wenn man A1 einträgt kann man unter C7 einen Text eingeben wie z.B.: aus R1-234567-8.9.
Die Zeile 7 wird dann zum auswerten auf die Tabelle "Auswertung" übernommen.
Wo zusammengerechtent wird, wie viele Zeilen haben in der Spalte B "A1" stehen.
Die Stückzahl und der Text werden dann in O10 zusammen geführt und mittels VBA in die Fußzeile der Tabelle "Fehlliste Neu" übernommen.
Dies kann ich mit sechs verschieden Bezeichnungen machen. N19 und N21 sind eigentlche fixe Texte, alle anderen ändern sich immer.
Jetzt habe ich nur ein Problem wenn ich in mehr als 3 bis 4 Zellen einen Text stehen habe, bekomme ich einen einen
Laufzeit '1004' Die RightFooter-Eigenschaften des PageSetup-Objektes kann nicht festgelegt werden.
Ab und zu ist es auch Center.Footer und LeftFooter. Wo habe ich da einen Fehler eingebaut.
In meinem Beispiel kann ich in 4 Zellen eine Text schreiben der übernommen wird, wenn ich in C15 noch etwas schreiben will, kommt der Fehler.
Der Code ist nur auf das Tabellenblatt bezogen.
https://www.herber.de/bbs/user/154130.xlsm
Habe leider mit VBA null Ahnung, hab das ganze eigenlich nur mit google hinbekommen.
Die Eigenschaften, wie Farbe, Fett und Zeilenumbruch würde ich gerne in der Fußzeile beibehalten, Schriftgröße wäre super wenn Sie nicht under 10 gehen würde,
weil sie Auskunft zur gefärbten Zelle geben.
Oder gibt es vieleicht eine andere Lösung für meine Problem?
bzw. wie schaffe ich es das es etwas schneller läde wenn ich auf das Tabellenblatt gehe und bringt man irgendwie auch die Null weg?
das es nur angezeigt wird wenn ein Text in der Zelle steht?
Danke für euer bemühen und eure Hilfe.
LG
Rene

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Laufzeitfehler 1004 Fußzeile
13.07.2022 21:10:23
ralf_b
dir wird nur mit viel viel Glück Jemand helfen.
Deine tolle Beispieldatei strotzt nur so von festen Pfaden auf irgendwelche nur bei dir vorhandenen Pfade.
Allein deswegen gibts Fehler, die du vielleicht gar nicht bekommst.
Läßt also sich schwer nachvollziehen um den Fehler zu provozieren. Da solltest du nacharbeiten.
Nur als Beispiel ungetestet dein "daten holen Makro".

Sub daten_holen()
' daten_holen Makro
Workbooks.OpenText Filename:="\\aglifs2\mdb2llr\Lagerlistemdb2llr", Origin _
:=xlWindows, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array _
(0, 1), Array(20, 1), Array(43, 1), Array(49, 1), Array(53, 1), Array(59, 1), Array(65, 1)) _
, TrailingMinusNumbers:=True
Range("A10:G59,A69:G118,A128:G177,A187:G236,A246:G295,A305:G354,A364:G413,A423:G449").Copy
ThisWorkbook.Sheets("Datenbank").Range("A2").Paste
Application.CutCopyMode = False
ThisWorkbook.Sheets("Fehlliste").Select
End Sub

Anzeige
AW: VBA Laufzeitfehler 1004 Fußzeile
14.07.2022 05:54:48
Rene
Hallo ralf_b
Danke für deine schnelle Antwort, bin gerade voll erstaunt, wie schnell ich eine erste Hilfe bekomme habe.
Das habe ich mir fast gedacht, dass das eine eher schwierige bzw. unlösbare Aufgabe sein wird, vor allem wenn man keinen Bezug dazu hat.
Leider werden die Daten von einem anderen Programm als eine unbekannte Datei in den festgelegten Ordner ausgegeben.
Daher dachte ich die einfachste Lösung nur bestimme Zellen zu kopieren (weil in der Quelldatei, Zeilen sind die ich nur benötige wenn diese aus dem Ausgangsprogramm gedruckt werden) und ohne Leerzeilen einzufügen ist es ein Makro aufzuzeichnen.
Danke für deinen Code, nur leider bekomme ich einen Laufzeitfehler '438'
Objekt unterstützt diese Eigenschaft oder Methode nicht.
Userbild
habe schon versucht selbst auf den Fehler zu kommen, aber wenn man keine Ahnung hat, kommt man leider nicht weit.
P.S.: eine Frage, hängen alle Codes zusammen, auch wenn Sie auf verschieden Tabellen sind?
LG
Rene
Anzeige
AW: VBA Laufzeitfehler 1004 Fußzeile
14.07.2022 12:52:33
ralf_b
Ich habe nur versucht deinen Code etwa zu verkürzen. Natürlich kann man das auch wesentlich besser gestalten . Aber dazu muß man die Voraussetzungen und das Ziel kennen.
Die Codes hängen nur zusammen, wenn sie miteinander interagieren.
Ich hatte hier etwas verwechselt. .paste und .pastespecial funktionieren nicht gleich. Deshalb der Fehler.
Gurndsätzlich solltest du wissen, das ein Zellbezug ohne eine genaue Bezeichnung auf welchem Blatt oder/und in welcher Datei er sich befindet, immer auf die gerade aktive Datei dort das gerade aktive Blatt zeigt.
Für dein Beispiel. Workbooks.open öffnet eine Datei. Diese ist dann gerade aktiv. Deshalb funktioniert die nächste Zellbezeichnung Range("A....) auf dieser Datei.
Um die Daten in eine andere Datei einzufügen wird dann entweder ein activate bzw. select auf die andere Datei benötigt oder die genaue Referenzierung. Das ist hier mit Thisworkbook.Worksheets("Datenbank...... geschehen. Thisworkbook ist die Mappe in welcher der Code läuft.
gruß
rb
Ändere den Code etwas ab.

ThisWorkbook.Sheets("Datenbank").Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Anzeige
AW: VBA Laufzeitfehler 1004 Fußzeile
16.07.2022 19:41:55
Rene
Hallo ralf_b
Danke wieder für die schnelle Antwort. Verstehe ich das so eine blind Hilfe schwer ist und ich bin aber dankbar für deine Hilfe.
Wieder etwas schlauer geworden. Das würde heißen mein Laufzeitfehler mit der Fußzeile, hängt zumindestens mal nicht mit meinem "Daten holen" zusammen, weil die Codes sich nicht auf die selbe Tabelle beziehen, wenn ich das richtig verstanden habe?
KKann man ein Tabellenblatt aktualisieren lassen ohne dieses auszuwählen?
z.b.: Es soll überprüft werden ob in Tabelle "Auswertung" Zelle "M15" was steht, wenn ja dann aktualiese die Tabelle "Fehlliste NEU" und das auf alle Zellen die in die Fußzeile übernommen werden. Auch wenn man auf einem ganz anderen Tabellenblatt ist.
Userbild
LG
Rene
Anzeige
AW: VBA Laufzeitfehler 1004 Fußzeile
16.07.2022 22:29:59
ralf_b
Kann man ein Tabellenblatt aktualisieren lassen ohne dieses auszuwählen?
Select und activate ist meist unnötig. Wenn man die Namen, Adressen oder Indizees der Objekte(Sheets, Range,Tabellen) kennt, kann man sie direkt ansprechen und manipulieren.
Was deine Footergeschichte angeht, denke ich das du evtl. die Bereichsgrenzen überschreitest und deshalb irgend ein Fehler ausgelöst wird. Aber damit habe ich mich nicht beschäftigt. Evtl muß man den Bereich vorher größer machen. Oder oder oder...

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige