Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1916to1920
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

Erledigte in anderes Register verschiebe

Erledigte in anderes Register verschiebe
29.01.2023 15:57:14
MaBlu
Hallo noch eine Frage kann ich anstelle dieses Makros die Zeilen nicht ausblenden sondern Verschieben in Register Erledigte verschieben, und wieder zurück wenn nötig?
Sub einblenden()
         Dim shp As Shape
         Set shp = ActiveSheet.Shapes(Application.Caller)
         With ActiveSheet.ListObjects("Tabelle1")
             If shp.OLEFormat.Object.Text = "Ausblenden" Then
                 shp.OLEFormat.Object.Text = "Einblenden"
                .Range.AutoFilter Field:=1, Criteria1:="o"
             Else
                 shp.OLEFormat.Object.Text = "Ausblenden"
                 .Range.AutoFilter Field:=1
             End If
         End With
     End Sub
Gruss MaBlu

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erledigte in anderes Register verschiebe
29.01.2023 16:11:44
ralf_b
Es ist ein Unterschied ob man Zeilen nur ausblendet oder die Daten an einen anderen Ort verschiebt und wieder zurück. Klar kann man das umsetzen. Ich mach's nicht.
Aber man könnte ja auch einfach Microsoft ToDo nutzen.
AW: Erledigte in anderes Register verschiebe
29.01.2023 16:21:12
MaBlu
Oh habe ich nicht mal gekannt sehr Interessant, werde ich ausprobieren, aberich möchte trotzdem wissen wie man das Makro schreiben müsste. Man lernt ja nur vom Wissen.
Danke schon mal für den Interessanten Tipp.
Gruss MaBlu
AW: Erledigte in anderes Register verschiebe
30.01.2023 10:51:59
ChrisL
Hi
Ich finde das hin- und herschieben auch nicht so toll. Alternativ zu ToDo, würde ich nur eine Excel-Liste führen. Die erledigten Aufträge kann man ja einfach ausfiltern.
Trotzdem nachfolgend ein Beispiel...
Sub kopieren()
Dim LO1 As ListObject, LO2 As ListObject
Set LO1 = Worksheets("Tabelle1").ListObjects("Tabelle1")
Set LO2 = Worksheets("Tabelle2").ListObjects("Tabelle2")
With LO1
    .Range.AutoFilter Field:=1, Criteria1:="o"
    .DataBodyRange.Copy LO2.DataBodyRange.Offset(LO2.DataBodyRange.Rows.Count).Cells(1, 1)
    Application.DisplayAlerts = False
    .DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
    Application.DisplayAlerts = True
    .Range.AutoFilter
End With
End Sub
cu
Chris
Anzeige
AW: Erledigte in anderes Register verschiebe
30.01.2023 15:36:44
MaBlu
Hallo Danke für die Info
das Makro bleibt hier hängen?
Set LO1 = Worksheets("Tabelle1").ListObjects("Tabelle1")
Bei mir heissen Tabelle1 = Aufgabe
Tabelle2 = Erledigte
Wenn ich die Namen ändere gehts einen Satz weiter?
Set LO1 = Worksheets("Aufgabe").ListObjects("Tabelle1")
Gruss MaBlu
AW: Erledigte in anderes Register verschiebe
30.01.2023 15:49:01
ChrisL
Hi
Worksheet = Name vom Tabellenblatt (Reiter)
ListObject = Name von der Tabelle (Bereichsnamen der "intelligenten" Tabelle)
Weil beides umgangssprachlich "Tabellen" sind, weiss ich nicht welche der beiden Tabellen Aufgaben/Erledigte darstellen.
cu
Chris
AW: Erledigte in anderes Register verschiebe
30.01.2023 16:00:21
MaBlu
Ich habs mal nach ihren Angaben probiert anzupassen leider habe ich keinen Erfolg
darum im Anhang die Beispieldatei.
https://www.herber.de/bbs/user/157546.xlsm
Gruss MaBlu
Anzeige
AW: Erledigte in anderes Register verschiebe
30.01.2023 17:22:04
ChrisL
Sorry, könntest du mir die Datei bitte als xlsx (ohne Makro) hochladen. Leider wurde mir der Download von Makro-Dateien geblockt...
AW: Erledigte in anderes Register verschiebe
31.01.2023 08:17:38
ChrisL
Hi
Aus der Tabelle auf dem Blatt Erledigt, müsstest du zuerst mal ein ListObject ("intelligente" Tabelle machen). Der Bereich sollte dann automatisch den Bereichsnamen "Tabelle2" erhalten.
Sub kopieren()
Dim LO1 As ListObject, LO2 As ListObject
Set LO1 = Worksheets("Aufgabe").ListObjects("Tabelle1")
Set LO2 = Worksheets("Erledigt").ListObjects("Tabelle2")
With LO1
    .Range.AutoFilter Field:=1, Criteria1:=">o"
    .DataBodyRange.Copy LO2.DataBodyRange.Offset(LO2.DataBodyRange.Rows.Count).Cells(1, 1)
    Application.DisplayAlerts = False
    .DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
    Application.DisplayAlerts = True
    .Range.AutoFilter
End With
End Sub
Wie Ralf schon erwähnt hat, müsste man das Filterkriterium umdrehen (gleich wird zu ungleich). Und das ListObject kannst du auch ohne Namen ansprechen. Aus Tabelle Erledigt eine "intelligente" Tabelle machen, müsstest du natürlich trotzdem.
Set LO1 = Worksheets("Aufgabe").ListObjects(1)
Set LO2 = Worksheets("Erledigt").ListObjects(1)
cu
Chris
Anzeige
Erledigte in anderes Register verschiebe gelöst!
31.01.2023 08:42:16
MaBlu
Hallo Chris
Vielen Dank für deine Hilfe, jetzt habe ich das mit der Intelligenten Tabelle kapiert (das war de Knopf), und jetzt hat es auch geklappt!
Konnte dank deiner Hilfe wieder einiges lernen und hoffe es kann mir allgemein weiterhelfen bei meinen Versuchen mit Excel.
Wünsche einen schönen Tag
Gruss MaBlu
AW: Erledigte in anderes Register verschiebe
30.01.2023 17:29:05
ralf_b
die Archiv Tabelle existiert nicht als Listobject.
du mußt nicht die Namen kennen, sofern nur eine intelligente Tabelle im Blatt existiert, reicht Listobjects(1)
und die Filterbedingung muß auf erledigt lauten und nicht auf offen. Tausche das Zeichen bei Critera1
Anzeige
nur zur Info
30.01.2023 17:13:05
ralf_b
Alternativ zu ToDo, würde ich nur eine Excel-Liste führen.
das Ausfiltern hatten wir schon. War quasi die Ausgangssituation.
ups...
30.01.2023 17:14:34
ralf_b
Die erledigten Aufträge kann man ja einfach ausfiltern. das wollte ich eigentlich zitieren.
AW: ups...
30.01.2023 17:17:03
MaBlu
?
AW: ups...
30.01.2023 17:20:39
ChrisL
Einverstanden. Ich hätte auch schreiben können "behalte den Status-Quo bei".
Ich erachte diese Art der Datenhaltung als sinnvoller u.a. Auswertung offen im Verhältnis zu erledigt bzw. Fortschritts-Tracking, Suche unabhängig vom Status usw. Und wenn man will, kann man einmal im Jahr das alte Zeugs ins Archiv verschieben (dazu braucht es dann auch kein Makro).
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige