actionbrowser.com
Ein kleines Beispiel, in welchem in jedes Blatt??? in die Zelle A1 der Blattname hineingeschrieben wird: Public Sub AlleBlatterA1SetzenKatastrophe() Dim i As Integer For i = 1 To (i)( "a1") = (i) Next i Dies geht lange gut. Bis??? Ja, richtig, ein Diagrammblatt wird eingefügt in die Mappe. Also ein Diagramm als eigenständiges Blatt. Fügen Sie eins ein und lassen Sie den Code wieder laufen. Und da ist er wieder, unser Lieblingsfehler. Wir haben gesagt, durchlaufe alle Blätter der Arbeitsmappe und schreibe in die Zelle A1 den Blattnamen. Wir waren rücksichtslos gegenüber dem Blatttypen. Ein Diagrammblatt hat keine Zellen. Das Sheetsobject spricht nunmal alle Blätter an, egal welchen Types. Makro -> Laufzeitfehler 438. Wir haben ganz einfach mit dem falschen Objekt gearbeitet. Eine kleine Änderung im Code und schon können Diagrammblätter vorhanden sein, wie sie wollen, aber es stört uns nicht: Public Sub AlleBlatterA1SetzenKatastropheVermieden() heets(i)( "a1") = _ heets(i) Zusammenfassung: Ursache dieses Fehlers ist meistens der Zugriff auf das falsche Objekt, bzw. dass ich mit übergeordneten Objekten arbeite, die nicht eindeutig sind.
Ich habe den folgenden Code, der in Ordnung ist. Wenn es jedoch läuft, fügt es die dünnen Ränder hinzu, aber der dicke Rand gibt mir einen Run-time 438 error. Border = ("A" &)(xlUp) Range("A3:H" & Border) With rders. LineStyle = xlContinuous = xlThin. ColorIndex = xlAutomatic End With Range("A3:H" & Border). BorderAround_ Weight = xlThick Mein Ziel ist es, Rahmen um alle Zellen herum bereitzustellen, dann einen dicken Rahmen um den Rand. Jede Hilfe wäre toll. Vielen Dank! Antworten: 4 für die Antwort № 1 Das Problem lag im Unterschied zwischen dem Syntaxstil von BorderAround Methode und das Rand Objekt. Das Weight parameter ist eine interne Parameterbezeichnung, keine Eigenschaft (ich hoffe, ich habe das richtig beschrieben! ). Dim border As Long border = ("A" &)(xlUp) With Range("A3:H" & border). Borders. Laufzeitfehler 438. LineStyle = xlContinuous Range("A3:H" & border). BorderAround Weight:=xlThick Beachten Sie die Verwendung von Doppelpunkt-gleichen, wenn Sie das Gewicht zuweisen BorderAround.
Bei Until nach Do wird die Schleife bei Erreichen der Bedingung noch 1× abgearbeitet, bei Until nach Loop nicht! Ob das nun die beste Lösung dieser Aufgabe ist, sei mal dahingestellt… 🙈 🙉 🙊 🐵 Gruß, Luc:-? Besser informiert mit … Betrifft: Nicht aufgepasst! Sollte zu Moritz! owT Geschrieben am: 25. 2017 18:51:24:-? Excel laufzeitfehler 438 n. Betrifft: Und stimmt auch nicht, Auch bei 'Until' nach... Geschrieben am: 25. 2017 18:58:49 … Do wird nicht mehr ausgeführt, Moritz, ist halt nur ungewöhnlicher… Das fehlende Objekt liegt dann wohl nur an Row statt Rows. Luc:-? Geschrieben am: 25. 2017 18:38:47 Danke euch allen. Habe eure Varianten ausprobiert und funktioniert, wie es soll. Excel-Beispiele zum Thema "Problem mit VBA-Programm - Laufzeitfehler 438"
Die Originaldatei hat jedoch enorm viele Daten, deshalb mache ich es per VBA. Betrifft: AW: Laufzeitfehler 438 in Schleife von: Nepumuk Geschrieben am: 08. 2021 17:59:51 Hallo Matthias, an Stelle von: das: Cells(j, 1). PasteSpecial Paste:=xlPasteAll Das stimmt aber etwas an der Logik nicht, denn am Schluss willst du in Zelle 0 einfügen und läufst damit in den nächsten Fehler. Da sich mir nicht erschließt was du damit vor hast, musst du selbst dahinter kommen. Visual Basic - Laufzeitfehler 438 — CHIP-Forum. Gruß Nepumuk Geschrieben am: 08. 2021 18:17:09 Hallo Nepumuk, vielen Dank für die schnelle Hilfe. tatsächlich ist da was weiteres falsch. Nicht nur, dass der Code bei Zeile 2 nicht aufgehört hat, sondern auch, dass er den ersten kopierten Wert in jede obere Zeile eingefügt hat. also erstmal zu dem Thema Zelle 0: wofür steht denn der Wert 2 bei For j = lz to 2? Dies müsste doch der Wert sein, bei dem die Schleife aufhört zu arbeiten? Wobei ich fast schätze, dass der Fehler sich in der Do- Schleife verbirgt, würde dann auch erklären, wieso der Wert in allen Zeilen ab der ersten kopierten der gleiche ist.
Hat jemand von euch Ideen dazu? Viele Grüße, kaffeeklaus Lässt sich denn diese Datei manuell per Menü öffnen? Wenn er bei jedem Leerzeichen abbricht, dann den Pfad in Häkchen einpacken. wbfullname = chr$(34) & wbfullname & chr$(34) Lässt sich halt schwer nachvollziehen, so ohne Office 2000. Andere Ideen: -Office auktualisieren -Muss da wirklich ein Doppelpunkt und gleich hin? Filename: = wbfullname -Evtl ist W ein Netzlaufwerk. Mal mit einer lokalen Datei probieren Gruß Peterfido Keine Unterstützung per PN! Fehler 438 ist: Object doesn't support this property or method Das taucht dann auf, wenn ein Methoden oder Eigenschaften eines Objekt angesprochen werden, die nicht existieren. Vorausgesetzt, der Fehler taucht nicht auf, wenn du die Datei von Hand öffnest: Versuch mal Set wb = Workbooks. Excel laufzeitfehler 438 online. Open (WbFullName) Leider habe ich das Excel2000-Objektmodell auch nicht im Kopf. Ansonsten kannst du ja mal den Macro-Recorder mitlaufen lassen, wenn du die Datei von Hand öffnest. -- If Not Working Then Else NotTouch Danke für eure ersten Tipps.