Einzelnen Beitrag anzeigen

Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Excel und dynamischer Sverweis

  Alt 26. Aug 2004, 09:31
Meiner Meinung nach gar nicht. Ich saß mal vor einem ähnlichen Problem, wo ich für verschiedene Anwender absolute Pfade brauchte (je nach Kostenstelle). Ich habe eine Routine in das Sheet eingebaut, die beim ersten Start die Verknüpfungen innerhalb der Arbeitsmappe korigiert.

Das sah dann bei mir so aus:

Code:
Sub Calc_References()
' Berechnet die Verknüpfungen, abhängig vom Speicherort
Dim strKstName, strTmpIst As String
Dim ix, iStart, iEnd As Integer

strKstName = ThisWorkbook.Name
strKstName = Mid(strKstName, 5, 4)

' Kostenstellennummer setzen
Sheets("Prognose").Range("D6").Value = strKstName

' Ist-Daten-Verknüpfung berechnen
iStart = 0
iEnde = 0
strTempIst = Sheets("Ist").Range("E11").Formula
For ix = 1 To Len(strTempIst)
    If Mid(strTempIst, ix, 1) = "," Then
        If iStart = 0 Then
            iStart = ix
        End If
    End If
    If Mid(strTempIst, ix, 1) = "!" Then
        If iEnde = 0 Then
            iEnde = ix
        End If
    End If

Next ix
strTempIst = Mid(strTempIst, iStart + 1, iEnde - iStart - 1)
Sheets("Ist").Select
Application.Calculation = xlCalculationManual

  Cells.Replace What:=strTempIst, _
        Replacement:="'" + Sheets("SYSTEM").Range("B4").Value + "[IST-WERTE.xls]PAGID " + strKstName + "'", LookAt:= _
        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Application.Calculation = xlCalculationAutomatic
Sheets("SYSTEM").Range("B1").Value = 1
End Sub
Wichtig sind die letzten Zeilen und der Calculation-Mode, damit Dich das Sheet nicht mit Verknüpfungsmeldungen zumüllt.

Gruß Igotcha
  Mit Zitat antworten Zitat