Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA ändern

Forumthread: VBA ändern

VBA ändern
05.04.2017 11:28:13
Sepp
Hallo zusammen,
mit diesem Code kann ich Zeilen ( Blatt KW13 ) ins andere Blatt ( R2 ) verschieben wenn ein Wert in Spalte AG steht
Ich möchte gerne, das er von A bis AG ins Tabellenblatt R2 verschiebt, aber mit der hintergelegten Bedingte Formatiereung.
Wenn ich Manuell die Zeile von der KW13 kopiere und Einfüge E mache geht das mit allen Werte.
Mit meine Code geht das leider nicht.
Warum?
Sub Lol_verschieben()
Dim TB2, LR1 As Long, LR2 As Long
Set TB2 = Sheets("R2")
LR2 = TB2.Cells(TB2.Rows.Count, "A").End(xlUp).Row + 1
With Sheets("KW13")
LR1 = .Cells(.Rows.Count, "A").End(xlUp).Row
If WorksheetFunction.CountA(.Range("AG2:AG" & LR1)) = 0 Then
MsgBox "Keine Eingabe!"
Exit Sub
End If
If .AutoFilterMode Then .AutoFilterMode = False ' Autofilter ausschalten
.Range("A2:AG" & LR1).AutoFilter Field:=1, Criteria1:="""""", Operator:=xlAnd
.Range("A2:AG" & LR1).AutoFilter Field:=33, Criteria1:=""
.Range("A2:AG" & LR1).Copy TB2.Range("A" & LR2) 'Zielzelle
.Range("A2:AG" & LR1).EntireRow.Delete xlUp
.AutoFilterMode = False
TB2.UsedRange.Value = TB2.UsedRange.Value 'ggf Formeln raus
End With
With TB2
LR2 = .Cells(.Rows.Count, "A").End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("AG2:AG" & LR2) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=.Range("A2:A" & LR2) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange .Range("A2:AG" & LR2)
.Sort.Header = xlYes
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
End Sub
Kann mir jemand Helfen ?
Danke an euch
Sepp
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA ändern Nachtrag
05.04.2017 11:42:29
Sepp
Es sind jeweils im die Tabellenblätter Spalten ausgeblendet aber diese Werte soll er mitnehmen
AW: VBA ändern Nachtrag
05.04.2017 11:49:48
Werner
Hallo Sepp,
mach mal statt:
.Range("A2:AG" & LR1).Copy TB2.Range("A" & LR2) 'Zielzelle
so:
.Range("A2:AG" & LR1).Copy
TB2.Range("A" & LR2).PasteSpecial xlPasteAll
Application.CutCopyMode = False
dann noch vor:
With Sheets("KW13")
so:
Application.ScreenUpdating = False
With Sheets("KW13")
und vor:
End Sub
so:
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
AW: VBA ändern Nachtrag
05.04.2017 22:22:12
Sepp
hallo Werner,
aber das problem ist, das er nicht die ausgeblendete splaten nicht übernimmt.
AW: VBA ändern Nachtrag
06.04.2017 13:49:14
Werner
Hallo Sepp,
dann mußt du vor dem Kopieren die Spalten einblenden und nach dem Kopieren wieder ausblenden.
Gruß Werner
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige