Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Suchen und Ersetzen mit Makro/VBA

Suchen und Ersetzen mit Makro/VBA
04.11.2024 13:53:15
AndreasARS
Schönen Nachmittag,

ich habe folgendes Problem zu lösen:
Lasse mir ein Tabellenblatt via VBA-Code von einen anderen Kopieren in meine aktuelle Arbeitsmappe (löscht altes Tabellenblatt und ersetzt es mit neuen) - Name bleibt gleich= Stellenplan2025

Dadurch löscht es mir leider alle Bezüge in den anderen Tabellenblätter.
Diese möchte ich nun mit suchen und ersetzen wieder korrigieren.
suche nach #BEZUG und ersetze mit Stellenplan2025
funktionier wenn ich es manuell mache super (STRG+F...)

Leider nicht als Makro oder VBA-Code:
z.B.:
Sub ErsetzeBezugInFormeln()
Dim ws As Worksheet
Dim zelle As Range

' Setze das Blatt "4 Personalplanung" als Ziel
Set ws = ThisWorkbook.Worksheets("4 Personalplanung")

' Schleife durch jede Zelle mit einer Formel im Blatt
For Each zelle In ws.UsedRange
If zelle.HasFormula Then
' Ersetzen in der Formel und Fehlerbehandlung
On Error Resume Next
zelle.Formula = Replace(zelle.Formula, "#BEZUG!", "Stellenplan2025")
On Error GoTo 0
End If
Next zelle

' Benachrichtigung
MsgBox "Alle #BEZUG!-Fehler wurden in 'Stellenplan2025' umgewandelt.", vbInformation
End Sub

Danke für eure Hilfe.
SG Andreas
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und Ersetzen mit Makro/VBA
04.11.2024 14:02:03
peter
Hallo

in Formula steht "#REF"
in FormulaLocal steht "#BEZUG"

Peter
AW: Suchen und Ersetzen mit Makro/VBA
04.11.2024 14:41:25
daniel
Hi
könntest du nicht einfach die neuen Inhalte in das bestehende Tabellenblatt einfügen?
dann hast du das Problem nicht.

die Ursache hat dir ja Peter schon erklärt.
man muss beim Arbeiten mit Formeln immer schauen, ob jetzt die deutschen oder die englischen Formeln verwendet werden.
VBA arbeitet immer mit den englischen Formeln, sofern nicht explizt ein LOCAL angwiesen wird.

auch das STRF+F sollte per Code funktionieren, wenn du in VBA die englischen Bezeichnungen anwendest:

ws.Usedrange.Replace "#REF", "Stellenplan2025", lookat:=xlpart


Gruß Daniel
Anzeige
AW: Suchen und Ersetzen mit Makro/VBA
04.11.2024 14:06:08
Onur
Postedie Datei - ohne sie ist der Code nicht viel wert.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige