Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1084to1088
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

Makro in neue Arbeitsmappe ausführen

Makro in neue Arbeitsmappe ausführen
Fred
Hallo zusammen
Ich komme mal wieder nicht weiter. Ich habe unten ein Makro zusammen gestrickt was auch prima funktioniert und weiss jetzt nur nicht wie ich es anstellen soll das im hintergrund eine vorhandene Arbeitsmappe geöffnet wird dann in der Mappe ein neues Tabellenblatt mit dem unten stehenden Makro erstellt wird und die Arbeitsmappe wieder geschlossen wird.
Also Störbericht.xls in C:/ Eigene Dateien unsichtbar öffnen, Makro 1 aus dem sichtbaren aktiven Sheet ausführen und dann Störbericht.xls wieder schließen.

Sub Makro1()
Dim strName As String
Dim strZelle As String
strName = ActiveSheet.Range("F3") & Date
On Error Resume Next   ' Fehler abfangen falls es bereits ein Tabellenblatt mit diesem  _
Namen gibt
strName = Worksheets(strName).Name  ' Prüfung ob ein Tabellenblatt mit dem Namen schon  _
vorhanden ist
If Err > 0 Then   ' Tabellenblatt gibt es noch nicht
strZelle = ActiveSheet.UsedRange.Cells(1, 1).Address    ' Adresse der linken oberen  _
Zelle des benutzten Bereichs
ActiveSheet.UsedRange.Copy    ' benutzten Bereich kopieren
Sheets.Add     ' neues Tabellenblatt einfügen
Range(strZelle).PasteSpecial Paste:=xlPasteValues    ' Werte einfügen
Range(strZelle).PasteSpecial Paste:=xlPasteFormats   ' Formate einfügen
ActiveSheet.Name = Range("F3") & Date  ' aktives Tabellenblatt umbenennen
Else
MsgBox "Es gibt schon ein Tabellenblatt " & strName
End If
Err.Clear   ' Fehler zurücksetzen
On Error GoTo 0   ' Fehlerbehandlung zurücksetzen
End Sub


Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt. Und freue mich schon auf Eure Tips und Hilfen
Grüße Fred

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

Betreff
Benutzer
Anzeige
Makro in anderer Arbeitsmappe ausführen
07.07.2009 17:11:23
Erich
Hi Fred,
so ganz klar ist mir das nicht geworden.
Im Betreff steht "Makro in neue Arbeitsmappe ausführen" - es gibt aber wohl keine neue Arbeitsmappe.
Ich habe das so verstanden, dass das Makro auf eine Mappe wirken soll,
die vorher geöffnet und nachher wieder geschlossen wird.
Unklar ist, was davon unsichtbar und was sichtbar ablaufen soll.
("unsichtbar öffnen", "aus dem sichtbaren aktiven Sheet ausführen")
Ich vermute stark, dass die Mappe Störbericht.xls vor dem Schließen noch gespeichert werden soll, oder?
Probier mal den folgenden (ungetesteten) Code:

Option Explicit
Sub Steuer()
'   Application.ScreenUpdating = False   ' nach dem Testen aktivieren
Workbooks.Open "C:\Eigene Dateien\Störbericht.xls"
myKopiere
ActiveWorkbook.Close True
'   Application.ScreenUpdating = True
End Sub
Sub myKopiere()
Dim strName As String
Dim strZelle As String
strName = ActiveSheet.Range("F3") & Date
' Prüfung ob ein Tabellenblatt mit dem Namen schon vorhanden ist
If WorksheetEx(strName) Then
MsgBox "Es gibt schon ein Tabellenblatt " & strName
Else
' Adresse der linken oberen Zelle des benutzten Bereichs
strZelle = ActiveSheet.UsedRange.Cells(1, 1).Address
ActiveSheet.UsedRange.Copy              ' benutzten Bereich kopieren
Sheets.Add                              ' neues Tabellenblatt einfügen
ActiveSheet.Name = strName              ' neues Tabellenblatt umbenennen
Range(strZelle).PasteSpecial Paste:=xlPasteValues    ' Werte einfügen
Range(strZelle).PasteSpecial Paste:=xlPasteFormats   ' Formate einfügen
End If
End Sub
Function WorksheetEx(strNam As String) As Boolean
On Error Resume Next
WorksheetEx = Worksheets(strNam).Index > 0
End Function

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Makro in anderer Arbeitsmappe ausführen
07.07.2009 18:34:45
Fred
hallo erich
vielen dank für deinen code,er funktioniert ganz gut, leidernicht ganz wie ich es mir gedacht habe. also das öffnen der arbeitsmappe ist so wie ich mir das vorstelle doch dann kommt der fehler denn jetzt müsste wieder die erste arbeitsmappe selektiert sein damit der inhalt der ersten arbeitsmappe kopiert und dann in die zweite arbeitsmappe gespeichert wird.
grüße fred
Blatt in andere Arbeitsmappe kopieren
07.07.2009 18:55:30
Erich
Hi Fred,
ach so, es soll also das aktive Blatt der aktiven Mappe kopiert werden in die zu öffnende Mappe.
Das könnte so gehen (diesmal ein wenig getestet):

Option Explicit
Sub myKopiere()
Dim wksQ As Worksheet, wbkZ As Workbook
Dim strName As String, strZelle As String
Set wksQ = ActiveSheet
strName = wksQ.Range("F3") & Date
'   Application.ScreenUpdating = False   ' nach dem Testen aktivieren
Set wbkZ = Workbooks.Open("C:\Eigene Dateien\Störbericht.xls")
' Prüfung ob ein Tabellenblatt mit dem Namen schon vorhanden ist
If WorksheetEx(strName) Then
MsgBox "Es gibt schon ein Tabellenblatt " & strName
wbkZ.Close False
Else
' Adresse der linken oberen Zelle des benutzten Bereichs
strZelle = wksQ.UsedRange.Cells(1, 1).Address
Worksheets.Add                          ' neues Tabellenblatt einfügen
ActiveSheet.Name = strName              ' neues Tabellenblatt umbenennen
wksQ.UsedRange.Copy                     ' benutzten Quellbereich kopieren
Range(strZelle).PasteSpecial Paste:=xlPasteValues    ' Werte einfügen
Range(strZelle).PasteSpecial Paste:=xlPasteFormats   ' Formate einfügen
Application.CutCopyMode = False
wbkZ.Close True
End If
Application.ScreenUpdating = True
End Sub
Function WorksheetEx(strNam As String) As Boolean
On Error Resume Next
WorksheetEx = Worksheets(strNam).Index > 0
End Function

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Blatt in andere Arbeitsmappe kopieren
07.07.2009 19:11:57
Fred
hallo erich
vielen Dank jetzt funzt es prima
grüße fred

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige