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

Blatt mit Makro kopieren ohne Link

Blatt mit Makro kopieren ohne Link
08.01.2021 11:08:26
Mike
Hallo,
aus einer Quelldatei kopiere ich das Tabellenblatt "Mitglieder", in dem drei Makros hinterlegt sind, die bei Ausführung nach ID, Namen oder Datum sortieren.
In der Quelldatei klappt das perfekt.
Öffne ich nun die neue Datei, in der NUR das Tabellenblatt "Mitglieder" enthält und führe dann dort eines der Makros aus,
öffnet sich immer die Quelldatei und er sortiert dort das Blatt "Mitglieder".
Hier der Code mit dem ich kopiere:

Sub Kassenbuch_Mitglieder_ex()
'Call unprotect
Dim Pfad$
Dim name As String
Dim wb As Workbook
Dim wbkAlt As Workbook
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Pfad = ThisWorkbook.Path 'Pfad der gerade geöffneten Datei
'MsgBox Pfad
name = ("\Mitglieder_Export_" & Format(Date, "YYYYMMDD") & "_" & Format(Time, "hhmmss") & ". _
xlsm") 'der zu nutzende Name des Export
'MsgBox Name
If MsgBox("Export der Mitgliederliste starten?", vbOKCancel) = vbOK Then
'MsgBox "OK"
If Dir(ThisWorkbook.Path & "\Mitglieder\", vbDirectory) = "" Then MkDir (ThisWorkbook.Path & _
_
_
"\Mitglieder\")
Set wbkAlt = ActiveWorkbook
Sheets("Mitglieder").Visible = True
wbkAlt.Worksheets("Mitglieder").Copy  'Neue Datei erstellen und Tabellenblatt reinkopieren
Set wb = ActiveWorkbook         'Neue Datei der Variablen zuweisen
wb.SaveAs Filename:=Pfad & "\Mitglieder" & name, FileFormat:=xlOpenXMLWorkbookMacroEnabled ' _
_
_
Neue Datei speichern
'MsgBox Pfad & Name
wb.Close savechanges = True
Sheets("Mitglieder").Visible = False
Application.DisplayAlerts = True
Application.ScreenUpdating = False
Else
MsgBox "Export abgebrochen!"
Exit Sub
End If
'Call protect
End Sub

Und hier der Code, der zum Sortieren im Blatt Mitglieder hinterlegt ist:

Sub Mitglieder_Sort_ID()
Dim lngLR As Long
With ThisWorkbook.Sheets("Mitglieder")
lngLR = .Cells(.Rows.Count, 1).End(xlUp).Row
'Zeile , Spalte
.Cells(3, 1).Resize(lngLR - 1, 21).Sort _
Key1:=.Range("A3"), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt mit Makro kopieren ohne Link
08.01.2021 11:10:22
Mike
Nachtrag:
zu schnell geklickt...;-)))
Er soll natürlich nur in der gerade geöffneten Datei sortieren.
wie führst du aus? owT
08.01.2021 11:17:10
Rudi
AW: wie führst du aus? owT
08.01.2021 11:28:54
Mike
Hallo Rudi,
verstehe deine Frage gerade nicht.
Das kopieren geht über das Makro Mitglieder_ex, welches ich einem Steuerelement zugeiwesen habe.
Beim kopieren nimmt er alles mit, Daten, Buttton (alles Steuerelemente) und Code im Blatt Mitglieder.
Wenn ich dann in der neuen Datei auf Makro zuweisen gehe, hat er vor dem eigentlichen Makronamen den Link zur Ursprungsdatei drin.
vg
Mike
AW: wie führst du aus? owT
08.01.2021 12:55:25
Rudi
Hallo,
du musst das Makro in der Kopie neu zuweisen.
DeinButton.OnAction="Makroname"
Anzeige
AW: wie führst du aus? owT
08.01.2021 13:16:55
Mike
Hallo Rudi,
steh da gerade etwas auf dem Schlauch.
Wie muss ich denn dem Button "ID" das Makro "Sort_ID" zuweisen?
Ich möchte dazu die neue Datei ja nicht immer öffnen?
vg
Mike
AW: wie führst du aus? owT
08.01.2021 13:35:04
Rudi

wbkAlt.Worksheets("Mitglieder").Copy  'Neue Datei erstellen und Tabellenblatt reinkopieren
ActiveSheet.Shapes("ID").OnAction = "Sort_ID"
...

AW: wie führst du aus? owT
08.01.2021 14:36:11
Mike
Hallo Rudi,
wenn ich das dort einsetze, meldet mir der Edior:
Das Element mit dem angegebenen Namen wurde nicht gefunden.
Das Makro liegt im Modul 2 und lautet:
Sub Kassenbuch_Mitglieder_ex()
Der Button auf der Mitgliedertabelle ist ein Formularsteuerelement, mit dem Text "ID"
Egal ob ich das Makro von der Mitgliedertabelle oder von einer anderen Tabelle der Datei aus dem Editor starte. Die Fehlermeldung bleibt die gleiche.
Ich befürchte er findet den Button nicht, oder?
vg
Mike
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige