Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1932to1936
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

Excel VBA Daten ausschneiden und einfüge

Excel VBA Daten ausschneiden und einfüge
05.07.2023 11:35:44
nanni

Hallo,
ich bin relativ neu im Excel VBA schreiben.
Aufgabe ist, das in Spalte H im Reiter "Terminüberwachung" gefiltert werden soll nach "abgeschlossen", wenn da einen Eintrag- gefunden wird soll die komplette Zeile in den Reiter "abgeschlossene Vorgänge" übertragen werden. Immer unter den eventuell bereits vorhandenen Datensatz darunter. Nie überschreiben.
Allerdings soll genau dieser kopierte Eintrag im Reiter "Terminüberwachung" gelöscht werden. Da er sich nun in dem Reiter "abgeschlossene Vorgänge" befindet.
Mein Code funktioniert aber nicht so.

Sub uebertragen()
Dim Variable As String

Variable = ["Terminüberwachung"]

On Error Resume Next

With Sheets(Variable).Range("A2").CurrentRegion
.AutoFilter Field:=8, Criteria1:= _
"abgeschlossen"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
End With

Sheets("Abgeschlossene Vorgänge").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues

'Application.DisplayAlerts = False

'Sheets(Variable).Select
'With ActiveSheet.AutoFilter.Range.Offset(1)
'.Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1).EntireRow.Delete _
shift:=xlUp

'Application.DisplayAlerts = True

'End With

Sheets(Variable).UsedRange.AutoFilter
Sheets(Variable).Select
Rows("1:1").Select
Selection.AutoFilter
End Sub

https://www.herber.de/bbs/user/159807.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Daten ausschneiden und einfüge
05.07.2023 12:33:32
Jowe
Hallo,
versuch's mal mit diesem Makro in Tabelle "Terminüberwachung".

Doppelklick auf eine Zelle in Spalte A der Tabelle "Terminüberwachung",
wenn in Spalte H dieser Zeile der Text "abgeschlossen" steht läuft das Makro durch.


Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Dim ze As Long
 If Cells(Target.Row, 8) = "abgeschlossen" Then
   ze = Sheets("Abgeschlossene Vorgänge").Cells(Rows.Count, 1).End(xlUp).Row + 1
   Rows(Target.Row).Copy Destination:=Sheets("Abgeschlossene Vorgänge").Cells(ze, 1)
   Rows(Target.Row).Delete Shift:=xlUp
   Range("A1").Select
 End If
End Sub
Gruß
Jochen


Anzeige
AW: Excel VBA Daten ausschneiden und einfüge
05.07.2023 12:43:33
Jowe
ups,
habe erst jetzt realisiert, dass Dein Ziel auf das Ausschneiden/Einfügen der gefilterten Zeilen gerichtet war.
Sorry


AW: Excel VBA Daten ausschneiden und einfüge
05.07.2023 13:17:09
Jowe
also vielleicht so:
Option Explicit

Sub verschieben()
  Dim lz As Long
  lz = Worksheets("Abgeschlossene Vorgänge").Cells(Rows.Count, 1).End(xlUp).Row + 1
  With Worksheets("Terminüberwachung")
    Range("A:I").AutoFilter Field:=8, Criteria1:="abgeschlossen"
    With .AutoFilter.Range
      .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy
      Worksheets("Abgeschlossene Vorgänge").Range("A" & lz).PasteSpecial Paste:=xlPasteValues
      Application.CutCopyMode = False
      Application.DisplayAlerts = False
      .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete
    End With
    .AutoFilter.ShowAllData
  End With
  Application.DisplayAlerts = True
End Sub


Anzeige
AW: Excel VBA Daten ausschneiden und einfüge
05.07.2023 13:31:00
nanni
Hallo Jochen,

lieben Dank. Ich habe den Code von dir noch etwas angepasst, da er bei dir komischerweise alle Daten kopiert hatte. Jetzt geht es mit folgendem Code:
Sub verschieben()
  Dim lz As Long
  lz = Worksheets("Abgeschlossene Vorgänge").Cells(Rows.Count, 1).End(xlUp).Row + 1
  Variable = ["Terminüberwachung"]

On Error Resume Next

With Sheets(Variable).Range("A2").CurrentRegion
    .AutoFilter Field:=8, Criteria1:="abgeschlossen"
    .Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
      
      Worksheets("Abgeschlossene Vorgänge").Range("A" & lz).PasteSpecial Paste:=xlPasteValues
      
      Application.CutCopyMode = False
      Application.DisplayAlerts = False
      
      .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete
    
    .AutoFilter.ShowAllData
  Sheets(Variable).Select
    Rows("1:1").Select
    Selection.AutoFilter
  End With
  
  Application.DisplayAlerts = True
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige