Registriert seit: 20.04.2017
Version(en): 2016
Hi leute, ich kopier per VBA eine Tabelle ganz einfach in ein neu geöffnetes Workbook. Danach würde ich gerne eine Suchen-Ersetzen noch starten um ein paar nervende #NV los zu werden. Das makro wir komplett ausgeführt, leider sucht und ersetzt er mir nicht... er überpringt es einfach worin liegt der fehlen? Code: Sheets("Pr00").Range("A1:H86,K1:K86").Copy Set wkbMappe = Workbooks.Add
wkbMappe.Activate
Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False ActiveSheet.Range("I2:I86").Replace What:="#NV", Replacement:=" ", LookAt:=xlPart, SearchOrder:=xlByRows
Workbooks("PR00 vers 1.0 DE.xlsm").Activate
Danke für die Hilfe :)
Registriert seit: 04.04.2017
Version(en): 2013
Hallo, Du solltest immer voll referenzieren, ausserdem solltest Du nicht durch " " sonder "" ersetzten lassen. Dass kann sonst später zu Problemen führen. Probiere es mal so: Code: Workbooks("QuellWkb").Sheets("Pr00").Range("A1:H86,K1:K86").Copy With Workbooks.Add .Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False .Range("I2:I86").Replace What:="#NV", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows End With Workbooks("PR00 vers 1.0 DE.xlsm").Activate
Übrigens irritieren mich deine Ranges ein wenig. Aber wie deine Tabelle aussieht, weißt nur Du ;)
Registriert seit: 11.04.2014
Version(en): 2021
Hallo,
das Verhalten ist doch ganz normal! Wenn Du das Workbook wechselst, wird der VBA-Code im alten Workbook "abgebrochen" und der im neuen ausgeführt, da dort aber keiner ist, wird VBA beendet. Entweder entfernst Du Deine #NV vor dem Kopieren oder du musst im neuen Workbook die entsprechende Routine starten. Mit etwas Trrick kannst du aus dem alten Workbook heraus auch das neue Workbook bearbeiten, du darfst aber dabei nicht die Workbooks wechseln.
Gruß Günter aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Registriert seit: 20.04.2017
Version(en): 2016
Danke erstmal, nun bringt er mir bei dieser Zeile Code: .Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Objekt unterstützt diese Eigenschaft oder Methode nicht hab da gleich noch ne Frage, mein hauptframe ist VBmodeless... d.h. es wird mir über alle Excel Tabelle angezeigt. Gibt es auch ein Mode, dass "modeless" ist, jedoch nur in der Datei in der sich das Userframe befindet? Danke
Registriert seit: 11.04.2014
Version(en): Office 2007
Auch Hallo, hier fehlt doch noch das Worksheet. Code: .Worksheets(1).Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Gruß Stefan Win 10 / Office 2016
Registriert seit: 20.04.2017
Version(en): 2016
Hallo Glausius,
ok, das wusste ich nicht, sorry bin Anfänger. Ja, mit einer anderen Linie mach ich das bereits mit einer Hilfspalte, wollte aber dieses mal darauf verzichten.
Registriert seit: 20.04.2017
Version(en): 2016
Hi Steffl, ok, keine Fehlermeldung, aber die #NV sind noch da :(
Registriert seit: 11.04.2014
Version(en): Office 2007
26.04.2017, 13:14
(Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2017, 13:14 von Steffl.)
Hallo, hast Du berücksichtigt, dass auch in der zweiten Codezeile das Worksheet dazugehört? Code: .Worksheets(1).Range("I2:I86").Replace What:="#NV", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows
Gruß Stefan Win 10 / Office 2016
Registriert seit: 20.04.2017
Version(en): 2016
Registriert seit: 04.04.2017
Version(en): 2013
Du kannst das auch in das With-Statement direkt mit aufnehmen. Das hatte ich leider vergessen
With Workbooks.Add().Sheets(1)
Für alles weitere müsste man deine Tabelle kennen.
|