Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellverknüpfungen per Makro ändern

Forumthread: Zellverknüpfungen per Makro ändern

Zellverknüpfungen per Makro ändern
15.11.2006 11:35:09
Mario
Hallo zusammen
Ich habe folgendes Problem, bei dem ich nicht weiterkomme:
Ich habe mehrere Tabellenblätter, in denen Daten stehen, die mit Zellen einer anderen Tabelle verknüpft sind. Nun möchte ich diese Zellverknüpfungen wie folgt per Makro ändern:
Zellverknüpfung:
S:\Shares\[Datenbank alle Produkte3.xls]PL Datenbank'!$D3908 Mit dem Makro soll auf die verknüfte Zelle ('S:\Shares\[Datenbank alle Produkte3.xls]PL Datenbank'!$D3908) eine 2 addiert werden, so dass dann die Verknüpfung ('S:\Shares\[Datenbank alle Produkte3.xls]PL Datenbank'!$D3910) lautet).
Kann dieser Befehl über VBA umgesetzt werden? Wer kann mir dabei weiterhelfen?
Danke fürs feedback und viele Grüsse
Mario
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellverknüpfungen per Makro ändern
15.11.2006 13:10:56
fcs
Hallo Mario,
hier ein Beispiel. Schleifen für die Tabellen und Zellen muss du halt noch einbauen.
Falls die Zeilen in den Formeln >20 sind könne auch Deltawerte von -1 bis -9 verwendet werden.
Gruß
Franz

Sub FormelAnpassen()
Dim wks As Worksheet, zelle As Range, Delta As Integer
Delta = 2 'Verschiebung der Zeilen in der Formel, Werte von 1 bis 9 sind möglich
Set wks = Worksheets("Tabelle1")
Set zelle = wks.Cells(10, 2)
With zelle
If IsNumeric(Right(.FormulaLocal, 2)) Then
.FormulaLocal = Left(.FormulaLocal, Len(.FormulaLocal) - 2) _
& Format(Val(Right(.FormulaLocal, 2) + Delta), "00")
Else
'wenn Zeile der verknüpften Zelle <10
.FormulaLocal = Left(.FormulaLocal, Len(.FormulaLocal) - 1) _
& Format(Val(Right(.FormulaLocal, 1) + Delta), "0")
End If
End With
End Sub

Anzeige
AW: Zellverknüpfungen per Makro ändern
15.11.2006 14:24:23
Mario
Hallo Franz
Super, es funktioniert!
Ich habe aber noch eine Frage, funktioniert das auch mit Spalten, so dass man beispielsweise den Bezug ('S:\Shares\[Datenbank alle Produkte3.xls]PL Datenbank'!$D3908) nach ('S:\Shares\[Datenbank alle Produkte3.xls]PL Datenbank'!$E3908)ändern kann?
Danke und Gruss
Mario
Anzeige
AW: Zellverknüpfungen per Makro ändern
15.11.2006 14:52:32
fcs
Hallo Mario,
hier kann man mit "Replace" den entsprechenden Teilstring in der Formel erstzen. Dabei muss das "!" unbedingt Teil des Such-/Erstzstrings sein, damit die Ersetzung korrekt erfolgt.
Bei Excel97 statt mit "Replace" mit "Application.Worksheetsfunction.Substitute" arbeiten, da "Replace" erst in den neueren Excelversionen verfügbar ist.
Gruß
Franz

Sub FormelAnpassenSpalten()
Dim wks As Worksheet, zelle As Range, SpalteAlt As String, SpalteNeu As String
'Verschiebung der Spalten in der Formel
SpalteAlt = "!$D"
SpalteNeu = "!$E"
Set wks = Worksheets("Tabelle1")
Set zelle = wks.Cells(10, 2)
With zelle
.FormulaLocal = Replace(.FormulaLocal, SpalteAlt, SpalteNeu)
End With
End Sub

Anzeige
AW: Zellverknüpfungen per Makro ändern
15.11.2006 16:21:45
Mario
Hallo Franz
Klappt super! Danke dir vielmals- hast mir sehr geholfen!
Viele Grüsse
Mario
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige