Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit VBA Zellen durchsuchen und gewisse Einträge ersetzen, ohne die Formel zu beeinflussen

Frage Microsoft Microsoft Office

Mitglied: wydy

wydy (Level 1) - Jetzt verbinden

03.08.2009, aktualisiert 13:26 Uhr, 14928 Aufrufe, 3 Kommentare

Wie kann ich alle Zellen nach einer bestimmten Zeichenkette durchsuchen, ohne die Formeln abzuändern

Moin Leute,
ich erstelle zurzeit eine Excel "Vorlage" und möchte in dieser mit VBA eine Funktion einbauen, wo in an allen wichtigen Stellen das gewünschte Jahr eingetragen wird. Man hat auf der Startseite eine Zelle, in der man die Jahrzahl eingeben kann und daneben einen Button. Wird der Button bestätigt, sollen alle Zellen nach dem Wert "TempDatum" durchsucht und der Wert von der Zelle dort eingetragen werden. Jedoch funktioniert das ganze nicht wirklich. In normalen Zellen wird der Wert ohne Probleme ersetzt. Sobald es sich jedoch um eine Formel handelt, spielt das ganze verrückt. Ist die Formel ungültig, bricht das Programm mit der Fehlermeldung: Typen unverträglich ab. Ist die Formel jedoch gültig, wird die Formel gelöscht und nur ein Wert in der Zelle eingetragen. Gibt es eine Funktion um das Ganze zu lösen? Was mache ich falsch?
Hier mal ein paar Beispiele, damit ihr seht, was ich meine:
Neuer Wert: 2009

Das ist ein Text TempDatum -> Das ist ein Text 2009
='C:\Daten\TempDatum\[Daten.xls]Sheet1!A1 -> ='C:\Daten\2009\[Daten.xls]Sheet1!A1
Das erste Beispiel funktioniert auch, nur wird beim zweiten Beispiel bei mir die ganze Formel ersetzt.

Hier mal mein bisheriger Quelltext:
01.
Sub QuelleEdit() 
02.
   Dim intRow As Integer 
03.
   Dim intColumn As Integer 
04.
   Dim intPosition As Integer 
05.
   Dim stringText As String 
06.
       
07.
   stringOld = "TempDatum" 
08.
   stringNew = Cells(9, 4) 
09.
   'Ganze Formular durchsuchen 
10.
   For intRow = 1 To 37 
11.
      For intColumn = 1 To 78 
12.
        'Inhalt ersetzen 
13.
        Cells(intRow, intColumn) = Replace(Cells(intRow, intColumn), stringOld, stringNew) 
14.
      Next intColumn 
15.
   Next intRow 
16.
End Sub
Ich hab's auch schon mit WorksheetFunction.Substitute versucht.
Mitglied: bastla
03.08.2009 um 13:55 Uhr
Hallo wydy!

Versuch's mit folgender Zeile 13:
Cells(intRow, intColumn).Formula = Replace(Cells(intRow, intColumn).Formula, stringOld, stringNew)
Was mache ich falsch?
Wenn Du für Cells() keine Eigenschaft angibst, wird defaultmäßig nicht "Formula", sondern "Value" verwendet.

Grüße
bastla
Bitte warten ..
Mitglied: wydy
03.08.2009 um 14:48 Uhr
Danke für die Hilfe, mit Cells.Formula hats geklappt.
Bitte warten ..
Mitglied: 76109
03.08.2009 um 15:04 Uhr
Hallo wydy und bastla!

Eine For Each-Schleife sollte ausreichen:
01.
    Dim c As Range    
02.
    For Each c In Range("A1:BZ37") 'Zeile 1-37, Spalte 1-78 
03.
        c.Formula = Replace(c.Formula, stringOld, stringNew) 
04.
    Next
Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

VB for Applications
gelöst EXCEL VBA Zellen verbinden. MERGE (6)

Frage von Aximand zum Thema VB for Applications ...

Microsoft Office
Unterordner durchsuchen Excel VBA (1)

Frage von schwalbepilot zum Thema Microsoft Office ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...