Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1800to1804
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

Ersetzen ohne Abfragedialog

Ersetzen ohne Abfragedialog
02.01.2021 11:44:57
Christoph
Hallo zusammen und frohes neues Jahr,
ich schlage mich jedes Jahr auf´s neue mit einem Problem rum. Daher hoffe ich auf eurer Know-How.
Ich muss in einer Gesamtstatistik die Bezüge ändern.
Bspw. soll auf einem Tabellenblatt in der folgenden Formel die 2020 durch 2021 ersetzt werden sowie ein Teil des Dateinames auf den sich die Formel bezieht.
Alt: T:\...\2020\Kontakte Tel 2020\[Tel 0720.xlsx]Juli 2020'!$P17
Neu: T:\...\2021\Kontakte Tel 2021\[Tel 0721.xlsx]Juli 2021'!$P17
Die neuen Dateien (Tel 0721.xlsx, usw.) existieren bereits, wenn auch noch leer.
Mein Problem ist diese elende Abfragedialog zum Dateibezug.
Egal ob mit der "Suchen/ Ersetzen" Funktion von Excel oder per "Suchen und Ersetzen"- Makro, immer kommt dieser verdammte Dialog in dem ich jedes mal die zum Monat passende Datei auswählen muss. Bei der Menge an Einträgen ist das unheimlich mühselig.
Meine Frage ist daher, kann man diesen Dialog unterdrücken oder per VBA sagen das er sich die passende Datei in einem Ordner sucht. Excel kann die Datei ja finden da sie existieren, wenn er mich die Formeln einfach ohne den Dialog ändern lassen würde.
Falls Ihr einen Tipp für mich habt wäre ich euch sehr dankbar.
Viele Grüße
Christoph

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ersetzen ohne Abfragedialog
02.01.2021 12:23:17
Rudi
Hallo,
nach diesem Schema:
Sub aa()
Dim a, r As Long, c As Long
a = Selection.Formula
For r = 1 To UBound(a)
For c = 1 To UBound(a, 2)
a(r, c) = Replace(a(r, c), "2020", "2021")
Next c
Next r
Selection.Formula = a
End Sub

Gruß
Rudi
AW: Ersetzen ohne Abfragedialog
02.01.2021 12:39:22
Christoph
Hallo Rudi,
vielen Dank für deine schnelle Antwort.
Leider kommt der besagte Dialog immer noch für jede Zelle. Meinst du es würde etwas ändern wenn ich zuerst den Teil des Dateinamens in der Formel (also die 0720.xlsx in 0721.xlsx) ersetze und erst dann die 2020 in 2021?
AW: Ersetzen ohne Abfragedialog
02.01.2021 12:54:27
GerdL
Moin Christoph,
nächster Versuch.
Sub Unit()
Dim a As Variant, r As Long, c As Long
a = Selection.Formula
For r = 1 To UBound(a, 1)
For c = 1 To UBound(a, 2)
a(r, c) = Replace(a(r, c), "2020", "2021")
a(r, c) = Replace(a(r, c), "20.", "21.")
Next c
Next r
Selection.Formula = a
End Sub

Gruß Gerd
Anzeige
AW: Ersetzen ohne Abfragedialog
02.01.2021 13:09:58
Christoph
Hallo Gerd,
wenn ich den Code ausführe passiert nichts.
Es wird lediglich folgender Fehler ausgegeben:
Laufzeitfehler '13'
Typen unverträglich

AW: Ersetzen ohne Abfragedialog
02.01.2021 13:47:38
Christoph
So das mit dem Laufzeitfehler ist weg aber er zeigt immer noch diesen Dialog in dem ich die Quelldatei angeben soll.
Tue ich das nicht schreibt er mir trotz des richtigen Pfades in der Formel "#Bezug"
AW: Ersetzen ohne Abfragedialog
02.01.2021 14:05:52
Christoph
So geschafft.
Vielen, vielen Dank an die beiden Helfer. Der Code hat funktioniert, es war tatsächlich ein Tippfehler bei mir der den Fehler verursacht hat.
So wie es von euch beschrieben wurde funktioniert alles super. Besten Dank nochmal für eure Hilfe. Ihr seit super. :)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige