Makro per VBA löschen
22.10.2008 09:17:56
David
bin gerade mal wieder am "Makro-Basteln". Ich habe eine Datei, in der recht viele Formeln auf externe Dateien verweisen. Da aufgrund der Formeln diese Dateien offen sein müssen, lasse ich die durch ein Auto_open-Makro im Hintergrund öffnen und ausblenden.
Da nach einiger Zeit die Zahlen unveränderlich sind und das ganze den Öffnungsvorgang doch erheblich verzögert, möchte ich nun die entsprechenden Formeln durch ihre Werte ersetzen. Folgender Code funzt soweit auch ganz gut:
Option Explicit
Sub werte()
Dim Zeile, i, j, Wahl, Check As Double
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Wahl = MsgBox("Mit dieser Funktion werden in den Spalten H:K alle Zellen, in denen eine Formel" _
& Chr(13) _
& "auf eine externe Datei verweist, durch ihren momentanen Wert ersetzt." _
& Chr$(13) & Chr$(13) & "Weiter?", vbYesNo)
If Wahl = vbYes Then
Zeile = Range("H1000").End(xlUp).Row
For i = 10 To Zeile
For j = 8 To 11
With Cells(i, j)
Check = InStr(1, .Formula, "Germany Workpapers") + InStr(1, .Formula, "balance _
SAP")
If Check 0 Then
.Value = .Value
End If
End With
Next
Next
End If
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Anschließend sind sowohl das Auto_open bzw. close-Makro als auch noch einige andere Makros überflüssig. Damit die zukünftig beim Öffnen der Datei nicht mehr ausgeführt werden, würde ich die gern am Ende meines Codes löschen.
Bei diesem Schritt versagen allerdings meine VBA-Kenntnisse. Sicher kann mir einer von euch einen Tip geben.
Danke schon mal.
Gruß
David
PS: Falls einer meinen bisherigen Code erheblich verbessern kann/will, bin ich für entsprechende Vorschläge natürlich ebenfalls dankbar.