Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro zum Suchen/Ersetzen - mit Unterbrechung

Makro zum Suchen/Ersetzen - mit Unterbrechung
25.05.2007 11:48:00
Thema
Liebe VBA-Experten,
leider bin ich bzgl. Makros absoluter Laie, d.h. ich kann Makros aufzeichnen und verwenden.
Daher habe ich die Bitte an VBAler - Könnt ihr mir bei folgender Aufgabenstellung helfen:
Im Verzeichnis public\2006\
liegen Dateien mit jeweils n Tabellenblättern (unterschiedlich viele Blätter)
und n Verknüpfungen zu externen Dateien, die alle auch in \2006\ liegen
Jeweils zum Jahreswechsel werden alle Dateien in ein neues Jahresverzeichnis geschoben:
nach public\2007\
nach public\2008\
usw.
Das MAKRO soll folgendes tun:
a) alle Tabellenblätter markieren (Gruppierung)
b) für alle Tabellenblätter suchen/ersetzen aufrufen
Vorgabe im Feld suchen: "public\200"
Vorgabe im Feld ersetzen: "public\200"
an der Stelle soll das Makro anhalten, damit der Benutzer das richtige Verzeichnis eintragen kann
dann soll das Makro weiterlaufen: alles ersetzen
c) die Gruppierung aufheben
In der Anlage habe ich eine Beispieldatei
https://www.herber.de/bbs/user/42764.xls
Wäre super, wenn ich von euch ein Beispiel bekäme.
Danke.
Gruss TheMa

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

Betreff
Datum
Anwender
Anzeige
AW: Makro zum Suchen/Ersetzen - mit Unterbrechung
27.05.2007 19:34:52
Heide_Tr
hallo TheMa,
mit folgendem Code sollte es gelingen. Falls auch der sichtbare Teil des Hyperlinks geändert werden soll, muss auch für Hyperlink.TextToDisplay das replace durchgeführt werden.


Sub LinkAendern()
Dim von, zu As String
Dim Worksheet, Hyperlink As Object
    von = InputBox("Umbenennen von:""Umbenennen", 200)
    If Len(von) = 0 Then Exit Sub
    zu = InputBox("Umbenennen von:""Umbenennen", 200)
    If Len(von) = 0 Then Exit Sub
    If MsgBox("Umbenennen der Hyperlinks von: '" & von & "' zu: '" & zu & "'", vbOKCancel) = vbCancel Then Exit Sub
    For Each Worksheet In Worksheets
      For Each Hyperlink In Worksheet.Hyperlinks
          If InStr(1, Hyperlink.Address, von) Then _
          Hyperlink.Address = Replace(Hyperlink.Address, von, zu)
      Next
    Next
End Sub


viele Grüße. Heide

Anzeige
AW: Makro zum Suchen/Ersetzen - mit Unterbrechung
29.05.2007 10:00:00
Thema24
Hallo Heide,
zunächst vielen Dank für dein VBA-Skript.
Hatte schon gar nicht mehr mit einer Reaktion gerechnet.
Doch leider werden die externen Verknüpfungen nicht geändert.
Woran's liegt, kann ich leider nicht erkennen.
Wenn ich "zu Fuß" ganz einfach Suchen - Ersetzen mache, funktionierts.
Falls du dich nochmal darum kümmern kannst, ganz vielen Dank im voraus!
Grus TheMa

AW: Makro zum Suchen/Ersetzen - mit Unterbrechung
29.05.2007 15:55:25
Heide_Tr
hallo TheMa,
sorry, der Fehler lag bei mir. Ich konnte Deine Tabelle nicht richtig sehen und hatte die Formeln als Hyperlinks interpretiert. Der Dialog, den Du suchst, heißt xlDialogFormulaReplace:


Sub FormelnAendern()
     ActiveWorkbook.Sheets.Select
     Application.Dialogs(xlDialogFormulaReplace).Show "public\200", "public\200"
     ActiveWorkbook.Sheets(1).Select
End Sub


viele Grüße. Heide

Anzeige
AW: Makro zum Suchen/Ersetzen - mit Unterbrechung
29.05.2007 16:42:33
Thema24
Hallo Heide,
vielen Dank! Ja - jetzt funktioniert's.
D.h. beim Ausprobieren merkt man, was man noch besser machen kann - für den unbedarften Anwender:
daher habe ich eine große Bitte:
Könnten zwei Varianten des Makros erstellt werden:
Variante 1:
alle Tabellenblätter markieren außer dem Blatt "Verknüpfungen"
(denn hier sollen nach dem Suchen/Ersetzen mit Hilfe eines Makros die Verknüpfungen dokumentiert werden, hier sollen keine Ersetzungen durchgeführt werden.)
Variante 2:
Zu Beginn des Makros: Aufforderung: "alle relevanten Tabellenblätter markieren"
Der Anwender soll jetzt die Blätter manuell markieren
Dann soll das Makro für die markierten Blätter ausgeführt werden
Im voraus besten Dank für neue Bemühungen!
Gruesse
TheMa

Anzeige
HILFE VBA geht nicht mehr (Suchen-Ersetzen) HEIDE
31.05.2007 12:38:00
Thema24
Hallo Heide,
hab' ich dir schon DANKE gesagt für dein neues Skript? Wenn nicht - tu' ich es jetzt.
Es hat funktioniert! Gestern - bei einer ganzen Reihe von Datein...
Aber nun plötzlich funktioniert's nicht mehr. Ich stehe vor einem Rätsel!
Jetzt ersetzt das Makro nur noch 1 x statt in allen Blättern in allen relevanten Zellen.
Beim erneuten Ausführen kommt Fehlermeldung:
"Microsoft Office Excel kann keine Daten zum Ersetzen finden........"
Was läuft falsch?
Nochmals die Datei...
https://www.herber.de/bbs/user/42915.xls
Ich bin jetzt wirklich in Bedrängnis - und umso mehr dankbar für HILFE.
Gruss TheMa
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige