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

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

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
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige