Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: wydy

wydy (Level 1) - Jetzt verbinden

03.08.2009, aktualisiert 13:26 Uhr, 15471 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
Entwicklung
VBA wenn Formel
Frage von TheSB891Entwicklung1 Kommentar

Hallo Zusammen Ich hab da ein kleines Problem und finde leider keine Lösung. Ich habe eine Tabelle die ich ...

Microsoft Office

Formel für eine automatische Füllung anderer Zellen

gelöst Frage von michael1306Microsoft Office1 Kommentar

Hallo, die Frage wurde bestimmt schon 1000 mal gestellt nur habe ich noch keine Lösung gefunden. Ich habe eine ...

Windows 7

VBA in Excel, Einträge von diversen Zellen löschen

gelöst Frage von 116408Windows 72 Kommentare

Hallo Bin neu im Forum und habe gleich eine (für mich) happige Aufgabe :-) Ich habe ein Aufnahmeblatt geschaffen, ...

Microsoft Office

Excel-Formel oder VBA

gelöst Frage von nicki01Microsoft Office7 Kommentare

Hallo Ich weiß nicht, ob ich hier richtig bin. Mein Problem: Ich habe mir (mit Mühe) ein Excel-Haushaltsbuch aufgebaut. ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 11 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 14 StundenAdministrator.de Feedback10 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...