Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1128to1132
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

Daten unten anhängen - nur bestimmte | Herbers Excel-Forum

Daten unten anhängen - nur bestimmte
19.01.2010 10:55:50
lutz

Hallo Excel-Profis,
ich habe ein Programm bei dem ich Datensätze "buche". Ich erfasse in einem Blatt und übertrage sie dann in ein anderes.
Ich nehme aber nicht alle Datensätze weil nicht immer alle 20 Buchungspositionen bebucht werden - bei denen steht dann "Leersatensatz".
Also übetrage ich erst alles:

Sub ÜbertragenB()
Application.ScreenUpdating = False
Sheets("Eingabe").Select
Range("H3").Select
Range("W4:BM23").Select
Selection.Copy
Sheets("Liste").Select
Range("A65500").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1:AQ65536").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Run Macro:="DeleteLeerdatensatz"
Sheets("Eingabe").Select
Range("H3").Select
Application.ScreenUpdating = True
End Sub
und habe dann eben das Makro "DeleteLeerdatensatz"
Sub DeleteLeerdatensatz()
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match("Leerdatensatz", Rows(iRow), 0)
If Not IsError(var) Then
Rows(iRow).Delete
End If
Next iRow
End Sub
Welches in meinem Blatt "Liste" alle Leerdatensatz-Sätze löscht.
Das ganze geht zwar, ist aber etwas langsam und sicher nicht besonders clever programmiert. Mir ist aber nichts anders eingefallen.
Kennt jemand einen schnelleren Weg?
Vielen Dank Gruß Lutz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten unten anhängen - nur bestimmte
19.01.2010 11:43:53
Rudi Maintaire
Hallo,
teste das mal:
Sub ÜbertragenB()
Application.ScreenUpdating = False
With Sheets("Eingabe")
.Range("W4:BM23").Copy
End With
With Sheets("Liste")
.Range("A65536").End(xlUp).Offset(1).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
.Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
Run Macro:="DeleteLeerdatensatz"
Sheets("Eingabe").Select
Range("H3").Select
Application.ScreenUpdating = True
End Sub

Sub DeleteLeerdatensatz()
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
Dim rngDel As Range
With Sheets("Liste")
iRowL = .Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match("Leerdatensatz", Rows(iRow), 0)
If Not IsError(var) Then
If rngDel Is Nothing Then
Set rngDel = .Cells(iRow, 1)
Else
Set rngDel = Union(rngDel, .Cells(iRow, 1))
End If
End If
Next iRow
End With
If Not rngDel Is Nothing Then rngDel.EntireRow.Delete
End Sub

Gruß
Rudi
Anzeige
AW: Daten unten anhängen - nur bestimmte
19.01.2010 11:57:28
lutz
Hallo Rudi,
habe ich mal eingebaut - er steigt aber bei
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
aus.
Es wäre vielleicht auch am elegantesten, wenn man oben nur die Zeilen nehmen würde in denen nicht "Leerdatensatz" steht, dann könnte man das "DeleteLeerdatensatz" gleich ganz weglassen.
Vielen Dank schon mal
Gruß Lutz
das steht nicht in meinem Code owT
19.01.2010 12:32:28
Rudi Maintaire
AW: das steht nicht in meinem Code owT
19.01.2010 12:36:54
jens
Hallo Rudi,
sorry hatte den falschen Bereich markiert - er steigt hier aus:
.Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Gruß Lutz
Anzeige
Beispielmappe? owT
19.01.2010 12:52:39
Rudi Maintaire
geschlossen
19.01.2010 15:00:05
Rudi Maintaire

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige