Supportnet / Forum / Tabellenkalkulation
Löschen in VBA
Frage
Hallo , ich habe wieder einmal ein Problem,
in meinem VBA-Code willich DS aus Tabelle ASP" mit dem Eintrag "DSP" in der ersten Spalte in das Tabellenblatt "DSP" kopieren und diese DS in ASP löschen.
Nur Suchen und kopieren funktioniert problemlos, wenn ich allerdings die Zeile für löschen dazuschreibe, kopiert er nur einen Teil der DS in die neue Tabelle. Der Felher muss also in dieser Zeile liegen.
hier mein Code.
[code]
Sub Einzeltabellen()Dim rngData As Range
Dim Spalte As Long
Dim nReihen As Long
Dim lZeile As Long
Dim lZeileD As Long
Application.ScreenUpdating = False
With Worksheets("Urdatei")
nReihen = .UsedRange.Rows.Count
Set rngData = .Range(.Cells(1, 1), .Cells(nReihen, 5))
End With
rngData.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Sheets("ASP").Range("A1"), Unique:=True
Application.ScreenUpdating = True
Set rngData = Nothing
Worksheets("ASP").Select
Range("A2:E65536").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("E2"), _
Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
lZeile = Sheets("ASP").Range("A65536").End(xlUp).Row
Sheets("ASP").Range("A1:E1").Copy
Sheets("DSP").Cells(1, 1).PasteSpecial
For p = 2 To lZeile
lZeileD = Sheets("DSP").Range("A65536").End(xlUp).Row + 1
If Sheets("ASP").Cells(p, 1) = "DSP" Then
Worksheets("ASP").Range("A" & p & ":E" & p).Copy _
Sheets("DSP").Cells(lZeileD, 1)
[b] ´Range("A" & p & ":E" & p).Delete[/b]
End If
Next p[/code]
Antwort 1 von Beverly
Hi,
lösche die Zellen nicht, sondern lösche den Inhalt und anschließend alles komplett z.B. mit diesem Code
Bis später,
Karin
lösche die Zellen nicht, sondern lösche den Inhalt und anschließend alles komplett z.B. mit diesem Code
´ von NoNet
Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Bis später,
Karin

