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

Arbeitsmappen aktivieren

Arbeitsmappen aktivieren
14.12.2005 12:09:57
Jessica
Hallo
ich erstelle eine neue Arbeitsmappe über ein Makro. Den Dateinamen entnehme ich der Zelle B5. Danch aktiviere ich eine andere Mappe von der ich den Dateinamen weiß und führe ein paar berechnungen durch.
Meine Frage nun: Wie aktiviere ich die Datei wenn ich nur eine Varibale habe in der der Dateiname gespeichert ist. Diese Datei soll nur noch geschlossen werden, spich ich wil keine Enträge oder Berechnungen mehr vornehmen.
Danke schon mal im voraus
Jessica

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsmappen aktivieren
14.12.2005 12:15:04
Reinhard
Hi Jessica,
workbooks(Variable).close
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
AW: Arbeitsmappen aktivieren
14.12.2005 12:27:44
Jessica
Hallo Reinhard
Wenn ichs mit dem was du mir gesagt hast probiere, bringt er mir einen Laufzeitfehler.
Ich schicke mal meinen Code mit damit man mal schauen kann was ich bisher gemacht habe.
Und dann hät ich gleich noch eine andere Frage. Und zwar möcht ich nicht die Werte aus der Datei "Bewertung Anlagevermögen" entnehmen (wie im Cod unten) sondern die Werte sollen aus der neu angelegten Datrei entnommen werden

Sub Speichern_BeiKlick()
'   Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
Dim WBName As String
WBName = Range("B5")
If WBName = "" Then
MsgBox "Sie haben keinen Dateinamen angeben!", , "Fehlermeldung"
Exit Sub
End If
ActiveSheet.Copy
Application.CutCopyMode = False
If Range("A1") = "Hilfsvariable zum Speichern" Then
ActiveSheet.Shapes.Range(Array("fiktives Baujahr", "Berechnen", _
"Berechnung anzeigen", "Speichern", "Löschen", _
"Verfahren auswählen", "Beenden")).Select
Selection.Delete
Else
ActiveSheet.Shapes.Range(Array("Berechnen", _
"Berechnung anzeigen", "Speichern", "Löschen", _
"Verfahren auswählen", "Beenden")).Select
Selection.Delete
End If
Range("B6").Select
'   Speichern unter
ActiveWorkbook.SaveAs WBName
Windows("Bewertungsübersicht.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).FormulaR1C1 = _
"='[Bewertung Anlagevermögen.xls]Herstellungskosten'!R1C2"
Range("B65536").End(xlUp).Offset(1, 0).FormulaR1C1 = _
"='[Bewertung Anlagevermögen.xls]Herstellungskosten'!R18C3"
'   Arbeitsblätter schließen
ActiveWorkbook.Close
Workbooks(WBName).Close 'Laufzeitfehler 9
' Index außerhalb des gültigen Bereichs
'   Bildschirmaktualisierung wieder einschalten
Application.ScreenUpdating = True
End Sub

Danke für eure Hilfe
Jessica
Anzeige
AW: Arbeitsmappen aktivieren
14.12.2005 12:35:39
Marc
Hey Jess
statt Workbooks(WBName).Close nimmst du Workbooks(Variable).Close
Gruß Marc
AW: Arbeitsmappen aktivieren
14.12.2005 12:42:43
Jessica
Hallo
WBName ist meine Variable in der ich den Dateinamen speichere.
Versteh ich das richtig das ich Workbooks(Variable).Close anstatt Workbooks(WBName).Close in meinen Code schreiben soll?
Wenn ja dan bringt er mir eine Fehlermeldung das die Variable nicht deklariert ist.
Danke nochmals für eure Hilfe
Jessica
vergessen Frage auf noch offen zu setzen
14.12.2005 12:51:03
Jessica
Gruß Jessica
AW: vergessen Frage auf noch offen zu setzen
14.12.2005 13:09:33
Heiko
Hallo Jessica,
teste es mal so:

Sub Speichern_BeiKlick()
'   Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
Dim WBName As String, strHelp As String
WBName = Range("B5")
If WBName = "" Then
MsgBox "Sie haben keinen Dateinamen angeben!", , "Fehlermeldung"
Exit Sub
End If
ActiveSheet.Copy
Application.CutCopyMode = False
If Range("A1") = "Hilfsvariable zum Speichern" Then
ActiveSheet.Shapes.Range(Array("fiktives Baujahr", "Berechnen", _
"Berechnung anzeigen", "Speichern", "Löschen", _
"Verfahren auswählen", "Beenden")).Select
Selection.Delete
Else
ActiveSheet.Shapes.Range(Array("Berechnen", _
"Berechnung anzeigen", "Speichern", "Löschen", _
"Verfahren auswählen", "Beenden")).Select
Selection.Delete
End If
Range("B6").Select
'   Speichern unter
ActiveWorkbook.SaveAs WBName
strHelp = ActiveWorkbook.Name
Windows("Bewertungsübersicht.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).FormulaR1C1 = _
"='[Bewertung Anlagevermögen.xls]Herstellungskosten'!R1C2"
Range("B65536").End(xlUp).Offset(1, 0).FormulaR1C1 = _
"='[Bewertung Anlagevermögen.xls]Herstellungskosten'!R18C3"
'   Arbeitsblätter schließen
ActiveWorkbook.Close
Workbooks(strHelp).Close
'   Bildschirmaktualisierung wieder einschalten
Application.ScreenUpdating = True
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: vergessen Frage auf noch offen zu setzen
14.12.2005 14:20:44
Jessica
Danke für deine Hilfe
So funktionierts. In WBName steht nur der Dateiname ohne Endung und in strHelp steht der Dateiname mit Endung dehalb bestimmt der Fehler.
Und jetz noch eine andere Frage. Muss die Datei Bewertung.xls geöfnet sein um Werte einzutragen oder gibts dort eine andere Möglichkeit.
Wie muss ich den Code ändern um die Werte aus der neu angelegten Datei zu entnehmen und nicht aus der aus der ich das Makro aufrufe.
Tschau Jessica
AW: vergessen Frage auf noch offen zu setzen
14.12.2005 16:58:49
Sven
"Muss die Datei Bewertung.xls geöfnet sein um Werte einzutragen" Ja!
mfg Sven

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige