Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro Zeilen auf neues Tabellenblatt kopieren wenn Bedingung erfüllt
#11
Habe jetzt mit VBA gespielt und mit folgendem Beispiel schon einmal etwas erreicht. Problem dabei ist dass er mit alle Zeilen kopiert in denen etwas ist. Ich brauche ja genau das Gegenteil, also alle Zellen in denen "Nichts" steht. Smile Ich finde aber keine VBA Variante im Netz, wo mein Beispiel aufgeführt wurde. Könnte jetzt zwar meine Zeileninhalte anpassen, also alles leerlassen wenn gut und nur reinschreiben, wenn es kopiert werden soll, aber ich brauche diese Formel dann auch für andere Blätter und dann geht es wieder nicht.

Nun denn, wollte es mal reinstellen, vielleicht hilft es ja anderen oder es gibt Leute mit VBA Kenntnissen, die hier helfen und erweitern können. Wäre nämlich auch gut, wenn das Blatt bei Aufruf immer erst wieder gelöscht wird... (habe natürlich die Namen der Blätter angepasst im Script...)

Sub AA_Test() 
  Dim rngZ As Range 
  On Error Resume Next 
  Set rngZ = Worksheets("Tabelle1").Columns("B").SpecialCells(xlCellTypeConstants) 
  If Not rngZ Is Nothing Then rngZ.EntireRow.Copy Worksheets("Tabelle2").Range("A1") 
End Sub
Antworten Top
#12
Habe noch ein besseres Makro gefunden. Jetzt fehlt mir nur noch die Erweiterung das "Blatt zu löschen" bei Auswahl und noch das eben dieses Makro ausgeführt wird bei Auswahl des Tabellenblattes

Sub Zeilen_kopieren()
      Dim a As Long, i As Long
      Application.ScreenUpdating = False
      a = 3
      For i = 3 To 100
           With Worksheets("Abwicklung")
                   If .Cells(i, "S") = "" Then
                       .Rows(i).Copy _
                              Destination:=Worksheets("Aufmass").Rows(a)
                       a = a + 1
                   End If
           End With
      Next i
End Sub
Antworten Top
#13
Hallöchen,

bei Blattauswahl nutzt Du das Worksheet_Activate - Ereignis, zu finden im Codemodul des Tabellenblattes.
Soll es für die gesamte Arbeitsmappe gelten, dann nimmst DU in DieseArbeitsmappe das Ereignismakro Workbook_SheetActivate.
Zum Löschen eines Blattes kannst Du auch mal den Makrorekorder benutzen und die Befehlszeile ermitteln Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste