Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aus 2 Makros 1 Makro

Forumthread: Aus 2 Makros 1 Makro

Aus 2 Makros 1 Makro
04.01.2006 22:38:08
Peter
Hallo,
in Spalte „B“ stehen Datumswerte. Durch das Makro „Check_Date“ werden leere Datumsangaben ergänzt.
In Spalte „O“ stehen Zahlenwerter. Durch das Makro Check:Del“ sollen alle Zeilen
In denen der Wert = 0 ist gelöscht werden.
Einzeln funktionieren die Makros.
Wie fügt man diese zu einem Makro zusammen?
Danke im voraus
Peter

Sub Check_Date()
Dim lngLastRow As Long, lngRow As Long
On Error GoTo ErrExit
Application.ScreenUpdating = False
lngLastRow = Range("B65536").End(xlUp).Row
For lngRow = 5 To lngLastRow - 1
If Not IsDate(Cells(lngRow, 2)) Then
Cells(lngRow, 2) = CDate(Cells(lngRow - 1, 2))
' ElseIf Cells(lngRow, 2).Offset(0, 13).Value = 0 Then
'     Rows(lngRow).Delete (xlUp)
End If
Next
ErrExit:
Application.ScreenUpdating = True
End Sub


Sub Check_Del_2()
Dim lngLastRow As Long, lngRow As Long
On Error GoTo ErrExit
Application.ScreenUpdating = False
lngLastRow = Range("B65536").End(xlUp).Row
For lngRow = 5 To lngLastRow
If Cells(lngRow, 2).Offset(0, 13).Value < 1 Then
Rows(lngRow).Delete (xlUp)
End If
Next
ErrExit:
Application.ScreenUpdating = True
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus 2 Makros 1 Makro
04.01.2006 22:55:42
DieterB
Hallo,
so könnte es gehen

Sub Check_Date()
Dim lngLastRow As Long, lngRow As Long
On Error GoTo ErrExit
Application.ScreenUpdating = False
lngLastRow = Range("B65536").End(xlUp).Row
For lngRow = 5 To lngLastRow - 1
If Not IsDate(Cells(lngRow, 2)) Then
Cells(lngRow, 2) = CDate(Cells(lngRow - 1, 2))
If Cells(lngRow, 2).Offset(0, 13).Value < 1 Then
Rows(lngRow).Delete (xlUp)
End If
End If
Next
ErrExit:
Application.ScreenUpdating = True
End Sub

Gruß DieterB
Anzeige
AW: Aus 2 Makros 1 Makro
04.01.2006 22:59:14
Unbekannter
So.

Sub Check_Date()
On Error GoTo ErrExit
Application.ScreenUpdating = False
Dim lngLastRow, lngRow As Long
lngLastRow = Range("B65536").End(xlUp).Row
For lngRow = 5 To lngLastRow - 1
If Not IsDate(Cells(lngRow, 2)) Then
Cells(lngRow, 2) = CDate(Cells(lngRow - 1, 2))
End If
If Cells(lngRow, 2).Offset(0, 13).Value = 0 Then
Rows(lngRow).Delete (xlUp)
End If
Next
ErrExit:
Application.ScreenUpdating = True
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige