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

In vielen Dateien Zellbezug in einer Formel ändern

In vielen Dateien Zellbezug in einer Formel ändern
19.03.2007 18:08:35
Peter
Hallo,
ich habe ein sehr akutes Problem.
Gerade mußte ich feststellen, daß in ca. 200 Dateien innerhalb eines Ordners in ein Zellbezug innerhalb einer Formel falsch ist. Die Formel befindet sich in allen Dateien in auf dem gleichen Blatt (Calculations) in der gleichen Zelle (HW2006).
Es handelt sich um folgende Matrixformel:
=SUMME(($D$78:$D$329=$G$73)*($B$78:$B$329Eingabe!$F$11)*(1*$E$78:$E$329))
richtig ist aber:
=SUMME(($D$78:$D$329=$G$72)*($B$78:$B$329Eingabe!$F$11)*(1*$E$78:$E$329))
Gibt es da eine Möglichkeit per Makro überall diese Fehler zu beheben? Für schnelle Hilfe wäre ich wirklich sehr dankbar.
Beste Grüße,
Peter

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

Betreff
Datum
Anwender
Anzeige
AW: In vielen Dateien Zellbezug in einer Formel ändern
19.03.2007 19:24:00
Josef
Hallo Peter,
probier mal folgenden Code.
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub replaceFormula()
Dim objFS As FileSearch
Dim objWb As Workbook, objSh As Worksheet
Dim strPath As String
Dim intIndex As Integer


On Error GoTo ErrExit
GMS

strPath = "F:\Temp" 'Ordner mit den Dateien - anpassen

Set objFS = Application.FileSearch

With objFS
    .NewSearch
    .LookIn = strPath
    .FileType = msoFileTypeExcelWorkbooks
    .SearchSubFolders = False ' Unterordner durchsuchen True/False
    
    If .Execute > 0 Then
        
        For intIndex = 1 To .FoundFiles.Count
            
            Set objWb = Workbooks.Open(.FoundFiles(intIndex))
            
            For Each objSh In objWb.Worksheets
                If objSh.Name = "Calculations" Then
                    With objSh.Range("HW2006")
                        If .FormulaArray = "=SUM(($D$78:$D$329=$G$73)*($B$78:$B$329<>Eingabe!$F$11)*(1*$E$78:$E$329))" Then _
                            .FormulaArray = "=SUM(($D$78:$D$329=$G$72)*($B$78:$B$329<>Eingabe!$F$11)*(1*$E$78:$E$329))"
                    End With
                    Exit For
                End If
            Next
            
            objWb.Close True
            
            Set objWb = Nothing
            
        Next
        
    End If
    
End With

ErrExit:
GMS True
Set objFS = Nothing
Set objWb = Nothing

End Sub

Sub GMS(Optional ByVal Modus As Boolean = False)

With Application
    .ScreenUpdating = Modus
    .EnableEvents = Modus
    .DisplayAlerts = Modus
    .EnableCancelKey = IIf(Modus, 1, 0)
    .Calculation = IIf(Modus, -4105, -4135)
    .Cursor = IIf(Modus, -4143, 2)
End With

End Sub

Gruß Sepp
Anzeige
AW: In vielen Dateien Zellbezug in einer Formel ändern
19.03.2007 19:33:00
Daniel
Hallo
im Prinzip müsste es so gehen.
ob die Formel so passt, kann ich leider nicht testen:

Sub Korrektur()
Dim Pfad As String
Dim Datei As String
Pfad = "C:\.......\"
Datei = Dir(Pfad)
Do Until Datei = ""
If Right(Datei, 4) = ".xls" Then
Workbooks.Open (Pfad & Datei)
ActiveWorkbook.Range("HW2006").FormulaArray = "=SUM(($D$78:$D$329=$G$72)*($B$78:$B$329Eingabe!$F$11)*(1*$E$78:$E$329))"
ActiveWorkbook.Close savechanges:=True
End If
Datei = Dir()
Loop
End Sub
Gruß, Daniel
10% der Einsparung für mich würden mir schon reichen ;-)
Anzeige
korrektur
19.03.2007 19:36:46
Daniel
Tschuldigung,
muß natürlich heißen
activeworkbook.sheets("Calculations").range("HW2006").formulaarray="..."
AW: korrektur
19.03.2007 19:45:00
Peter
Tausend Dank für eure Antworten!
Haben mir sehr geholfen.
Beste Grüße
Peter

88 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige