Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1024to1028
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

automatische Verbindung in andere Datei?

automatische Verbindung in andere Datei?
14.11.2008 12:31:29
Sascha
Hallöchen, ich nerv mal wieder...
Folgende Angelegenheit:
Ich habe verschiedenen Auflistungen in Dateien, die nach Monaten benannt sind. Pro Monat sind es 2-3 Dateien, also August 1-2008, August 2-2008, August 3-2008, September 1-2008, September 2-2008, Oktober 1-2008 ect.
In einer Hauptdatei pflege ich derzeit alle verknüpfungen per Hand ein. Die jeweiligen Zeilen die zur Übertragung angesprochen werden sind in jeder Monatsdatei identisch.
Meine Frage ist jetzt, gibt es eine Möglichkeit, dass ich für den Monat November die Verknüpfung der Daten automatisieren kann?
Sprich, dass er mir, wenn ich es Ihm sage natürlich, die jeweiligen Zellen aus der Datei des Monats November, (November 1-2008.xls) übernimmt?
Wäre schön, diese nervige Arbeit nicht immer wiederholen zu müssen.
Danke und LG,
Sascha

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: automatische Verbindung in andere Datei?
14.11.2008 13:39:46
Tino
Hallo,
in der Hoffnung dass ich dich richtig verstanden habe und es sich um Formeln mit externen Bezügen handelt, in denen die Du auf eine andere Datei verweisen möchtest, hier mein erster Entwurf dazu.
Kommentare stehen im Code
Sub test()
Dim Bereich As Range, Zelle As Range
Dim strFormel As String

'Benutzerangaben 
Const AlterMonat As String = "Oktober" 'Suche nach Monat (alt) 
Const NeuerMonat As String = "November" 'ersetze durch Monat (neu) 
Const AltesJahr As String = "2008" 'Suche nach Jahr (alt) 
Const NeuesJahr As String = "2008" 'ersetze durch Jahr (neu) 

'Bereich wo nach den Formeln gesucht werden soll, hier Spalte A 
Set Bereich = Range("A:A").SpecialCells(xlCellTypeFormulas)

For Each Zelle In Bereich
    strFormel = Zelle.FormulaLocal
     
     'prüfe ob alter Monat und altes Jahr in Formel vorkommt 
    If strFormel Like "*[[]" & AlterMonat & "*" And strFormel Like "*" & AltesJahr & ".xls*" Then
     strFormel = Replace(strFormel, AlterMonat, NeuerMonat) 'ersetze Monat 
     strFormel = Replace(strFormel, AltesJahr, NeuesJahr) 'ersetze Jahr 
     Zelle.FormulaLocal = strFormel 'schreibe neue Formel 
    End If

Next Zelle

End Sub


Gruß Tino

Anzeige
AW: automatische Verbindung in andere Datei?
14.11.2008 13:58:00
Sascha
Das klingt soweit wie eine Lösung ^^
Nur Frage ich mich, wie ich diesen Code am besten in meine Arbeitsmappe einbaue.
Über VBA, klar, aber ich glaube nicht, dass ich ein Steuerelemt setzen muss, um es per Knopfdruck zu aktivieren... oder etwa doch?
AW: automatische Verbindung in andere Datei?
14.11.2008 14:06:00
Sascha
Mir ist noch etwas anderes aufgefallen.
Dieses Makro ersetzt die Daten des Monats Oktober durch die Daten des Monats November.
Dies sollte allerdings nicht passieren.
Die alten Daten bleiben bestehend, er soll einfach nur in die Zeile der Daten des letzten Monats die Daten des darauf folgenden Monats übernehmen.
AW: automatische Verbindung in andere Datei?
14.11.2008 14:27:00
Tino
Hallo,
noch eine Gegenfrage.
Entsprechend verstehe ich dies so, dass jeweils eine neue Formel entstehen soll in einer neuen Zelle, rechts neben der alten? (siehe Beispiel unten)
Zu der anderen Frage.
Eventuell kannst Du eine Zelle für das alte Datum nehmen und eine für das neue und diese im Code verarbeiten. (im Beispiel Zelle A1 altes Datum, B1 neues Datum)
Beispiel:
Formel wird eine Zelle weiter rechts neu erstellt.
Sub test()
Dim Bereich As Range, Zelle As Range
Dim strFormel As String
Dim AlterMonat As String, NeuerMonat As String
Dim AltesJahr As String, NeuesJahr As String

'Angabe aus den Zelle A1 und B1 die ein Datum enthalten 
AlterMonat = MonthName(Month(Range("A1"))) 'Datum alter Monat 
NeuerMonat = MonthName(Month(Range("B1"))) 'Datum neuer Monat 
AltesJahr = Year(Range("A1")) 'Datum altes Jahr 
NeuesJahr = Year(Range("B1")) 'Datum neues Jahr 

'Bereich wo nach den Formeln gesucht werden soll, hier Spalte A 
Set Bereich = Range("A:A").SpecialCells(xlCellTypeFormulas)

For Each Zelle In Bereich
    strFormel = Zelle.FormulaLocal
     
     'prüfe ob alter Monat und altes Jahr in Formel vorkommt 
    If strFormel Like "*[[]" & AlterMonat & "*" And strFormel Like "*" & AltesJahr & ".xls*" Then
     strFormel = Replace(strFormel, AlterMonat, NeuerMonat) 'ersetze Monat 
     strFormel = Replace(strFormel, AltesJahr, NeuesJahr) 'ersetze Jahr 
     Zelle.Offset(0, 1).FormulaLocal = strFormel 'schreibe neue Formel eine Zelle nach rechts 
    End If

Next Zelle

End Sub


Gibt es zu den Monaten eventuell Überschriften, kann man die Spalte im Code Suchen lassen.
Gruß Tino

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige