Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1100to1104
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
Inhaltsverzeichnis

"Unlogischer" Ablauf...

"Unlogischer" Ablauf...
Bowl
Hallo zusammen,
mir ist beim besten willen kein besserer Betreff eingefallen:
Folgendes
U.a. beim schliessen soll eine "Archivieren" und eine "SIchern" schleife Durchlaufen.
Also 1.
in der Beforeclose:
Call archivieren
Call sichern
dann aufruf , einer Sub in der kontrolliert wird,
ob automatisches archivieren/sichern aktiviert ist. (abfrage von 2 checkboxen)
wenn ja werden die beiden auch entsprechen aufgerufen und laufen fehlerfrei durch.
hier mal die 2:
Sub Auto_Archivieren()
Dim sh As Worksheet
Dim a, b, C, y As Integer
Application.ScreenUpdating = False
Workbooks.Open Filename:="N:\xxx\Auftragsplanung 2009\archiv.xls"
Windows("Auftragsplanung.xls").Activate
For Each sh In ThisWorkbook.Worksheets
a = sh.Cells(2, 20).Value
b = sh.Cells(2, 17).Value
Windows("Archiv.xls").Activate
y = ActiveWorkbook.Sheets.Count
If IsNumeric(sh.Name) Then
If sh.Cells(2, 20).Text  "#NV" Then
If (a + 1) 
und
Sub Sicherungskopie()
Dim sh, ws, she As Worksheet
Dim x As Integer
Dim i As Integer
Dim ding As Object
Application.DisplayAlerts = False
Application.ScreenUpdating = False
x = ActiveSheet.Cells(2, 17).Value
NameKopie = "N:\xxx\Auftragsplanung 2009\Sicherung\Sicherung-KW" & x & ".xls"
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=NameKopie
y = ActiveWorkbook.Name
For Each sh In ThisWorkbook.Worksheets
Windows("Auftragsplanung.xls").Activate
i = Workbooks(y).Sheets.Count
If IsNumeric(sh.Name) Then
Windows("Auftragsplanung.xls").Activate
Sheets(sh.Name).Copy After:=Workbooks(y).Sheets(i)
End If
Next
Windows("Auftragsplanung.xls").Activate
i = Workbooks(y).Sheets.Count
Sheets(Array("Kapazitätsveränderungen", "Gesamt", "Einschätzung Dauer", _
"Jahresübersicht")).Select
Sheets(Array("Kapazitätsveränderungen", "Gesamt", "Einschätzung Dauer", _
"Jahresübersicht")).Copy After:=Workbooks(y).Sheets(i)
Workbooks(y).Activate
For Each ws In Workbooks(y).Worksheets
ws.Unprotect
For Each myShape In ws.Shapes
myShape.Delete
Next
ws.UsedRange.Copy
ws.UsedRange.PasteSpecial Paste:=xlPasteValues
ActiveSheet.Cells(1, 1).Select
ws.Cells(1, 11).Value = "Akt. KW"
ws.Cells(1, 12).FormulaLocal = "=Kalenderwoche(Heute())"
ws.UsedRange.Locked = True
ws.Protect
Application.CutCopyMode = False
Next ws
With ActiveWorkbook.VBProject
For Each objVBC In .VBComponents
Select Case objVBC.Type
Case 1, 2, 3
.VBComponents.Remove .VBComponents(objVBC.Name)
Case 100
With objVBC.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
ActiveWorkbook.Save
Windows("Auftragsplanung.xls").Activate
Workbooks(y).Close
Sheets("Vorlage").Select
Application.ScreenUpdating = True
Die zeile

x = ActiveSheet.Cells(2, 17).Value

fragt die aktuelle KW ab, die dann in den Namen der sicherung geschrieben wird
Mein Problem ist jetz:
Falls Sichern vor Archivieren durchläuft, ich also die Calls umdrehe oder aber automatisch_archivieren deaktiviert ist, kommt es zu einem Fehler:
statt dem wirklichen Wert in der entsprechenden Zelle wird stattdessen der Wert 0 eingesetzt, und ich weiß beim besten willen nicht warum.
Irgendjemand eine IDee woran das ganze liegen könnte?
Viele Dank im vorraus
Bowl
P.S. Code ist noch nicht der eleganteste, hab ihn bislang aber noch nicht verkürzt, wollt erstmal schauen dass alles so läuft ...

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: "Unlogischer" Ablauf...
17.09.2009 09:51:06
Fettertiger
Hi,
vermutlich ist noch das falsche Sheet aktiviert. Nach dem Archivieren ist "Vorlage" aktiviert. Aus dem Makro ist leider nicht ersichtlich auf welcher Tabelle Du dich befindest wenn "Sicherungskopie" gestartet wird, aber Dein X bezieht sich auf das dann aktivierte Sheet.
Gruss
Fettertiger
Ahhh sehr gut danke...
17.09.2009 10:18:07
Bowl
Hat zwar auch schon überlegt in die Richtung und erst keinen Fehler gefunden.
Erst jetzt ist mir aufgefallen, dass das ganze mit einer anderen Funktion die davor abläuft zusammenhängt
bei der ich die Zeile Sheets("Vorlage").activate (aus der die entsprechende KW gezogen werden soll) versehentlich noch als kommentar hatte,bzw eben die zeile zuviel als kommentar...
Hab das ganze jetzt eh einfach in Sheets("Vorlage").cells ... umgewandelt..
Sry für so einfache Frage und meine Blindheit :D
und Danke, auf die einfache Idee wär i wahrscheinlich nie gekommen :/
Grüße
Bowl
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige