ein paar kleine Änderungen an Makro

Bild

Betrifft: ein paar kleine Änderungen an Makro
von: Jenny
Geschrieben am: 14.05.2015 10:02:13

Hallo,
ihr habt mir mal netterweise am schluss stehendes Makro erstellt,
wäret ihr so lieb und helft mir, es ein wenig abzuändern?
1. "'Inhalt Spalte B nach tabelle1 kopieren" hätte ich gerne, dass es in zukunft nach Spalte D statt wie bislang nach Spalte C kopiert wird.
2. "'In Spalte D einfügen" hätte ich gerne, dass es in zukunft nach Spalte E statt wie bislang nach Spalte D kopiert wird.
3. "'Spalte A und B durch kopieren auffüllen" würd ich mir wünschen dass in Zukunft auch die Spalte C aufgefüllt wird, nach denselben Kriterien.
4. "'Daten nach Spalte D absteigend sortieren". Bitte ich um neue Reihenfolge => C auf, dann E ab
Währt ihr so nett und helft mir bitte?
LG
Jenny

Sub Makro1()
'
' Makro1 Makro
'
' Tastenkombination: Strg+i
'
     Dim zt1, von, bis As Long
     Dim Grafiken As Shape
     Application.ScreenUpdating = False
     With Sheets("Tabelle1")
         zt1 = .Cells(.Rows.Count, 1).End(xlUp).Row
         von = 1
         With Sheets("Tabelle2")
             bis = .Cells(.Rows.Count, 2).End(xlUp).Row
             'Inhalt Spalte B nach tabelle1 kopieren
             .Range(.Cells(von, 2), .Cells(bis, 2)).Copy Sheets("Tabelle1").Cells(zt1, 3)
         End With
         With Sheets("Tabelle3")
             'Inhalt aus Spalte E kopieren
             .Range(.Cells(von, 5), .Cells(bis, 5)).Copy
         End With
         'In Spalte D einfügen
         .Cells(zt1, 4).PasteSpecial Paste:=xlPasteValues
         Application.CutCopyMode = False
        If bis > 1 Then
          'Spalte A und B durch kopieren auffüllen
          .Range(.Cells(zt1, 1), .Cells(zt1, 2)).Copy _
              Destination:=.Range(.Cells(zt1 + 1, 1), .Cells(zt1 + bis - von, 1))
        End If
         Application.CutCopyMode = False
         'Daten nach Spalte D absteigend sortieren
         .Range(.Cells(1, 1), .Cells(zt1 + 1 + bis - von, 7)).Sort _
             key1:=.Range("E1"), Order1:=xlDescending, Header:=xlNo
     End With
     With Sheets("Tabelle2")
         'Daten in Spalten A bis C löschen
         .Range(.Cells(1, 1), .Cells(bis, 3)).Clear
     End With
     With Sheets("Tabelle3")
         'Daten in Spalten A bis D  löschen
      .Range(.Cells(1, 1), .Cells(bis, 4)).Clear
       For Each Grafiken In .Shapes
             Grafiken.Delete
       Next
     End With
     Application.ScreenUpdating = True
 End Sub

Bild

Betrifft: AW: ein paar kleine Änderungen an Makro
von: Gerd L
Geschrieben am: 14.05.2015 11:09:20
Hallo Jenny,
etwa so (ungetestet):

''1. Inhalt Spalte B nach tabelle1 Spalte D kopieren
'             .Range(.Cells(von, 2), .Cells(bis, 2)).Copy Sheets("Tabelle1").Cells(zt1, 4)
'
''2. In Spalte D einfügen" hätte ich gerne, dass es in zukunft nach Spalte E
'    'statt wie bislang nach Spalte D kopiert wird.
    .Cells(zt1, 5).PasteSpecial Paste:=xlPasteValues
''3. "Spalte A und B durch kopieren auffüllen" würd ich mir wünschen dass in Zukunft
'    'auch die Spalte C aufgefüllt wird, nach denselben Kriterien.
    .Range(.Cells(zt1, 1), .Cells(zt1, 3)).Copy _
              Destination:=.Range(.Cells(zt1 + 1, 1), .Cells(zt1 + bis - von, 1))
'4. "Daten nach Spalte D absteigend sortieren". Bitte ich um neue Reihenfolge => C auf, dann E  _
ab
    .Range(.Cells(1, 1), .Cells(zt1 + 1 + bis - von, 7)).Sort _
      key1:=.Range("C1"), Order1:=xlAscending, _
      key2:=.Range("E1"), Order1:=xlDescending, Header:=xlNo
Gruß Gerd

Bild

Betrifft: AW: ein paar kleine Änderungen an Makro
von: Jenny
Geschrieben am: 14.05.2015 11:52:45
Hallo Gerd,
das scheint soweit ichs überschauen kann zu funktionieren, danke.
Nur noch eine kurze Frage, wenn ich den Bereich der sortiert werden soll erweitern will bis zur Spalte L, reicht es dann aus der 7 eine 12 zu machen?
LG
Jenny

Bild

Betrifft: AW: Ja! o.r.T
von: Gerd L
Geschrieben am: 14.05.2015 15:39:54
Gruß Gerd

 Bild

Beiträge aus den Excel-Beispielen zum Thema "ein paar kleine Änderungen an Makro"