Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
560to564
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
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Code ändern - brauche Hilfe!!!

VBA-Code ändern - brauche Hilfe!!!
03.02.2005 00:00:09
Bernd
Hallo,
bin in VBA nicht grad der Held, deshalb meine Frage:
Kann mir jemand den Excel-VBA-Code so umschreiben, daß ich nicht einen Suchtext eingeben muß, sondern der höchste Inhalt in Spalte A beginnend mit "32*" (ist immer 5-stellig!) automatisch gesucht wird!
Der Rest soll bleiben, d. h. es sollen alle Zeilen unter dem gesuchten Inhalt gelöscht werden.
Code:

Sub LoescheZeilenDarunter()
Dim Suchwert
Suchwert = InputBox("Wonach suchen?")
If Len(Suchwert) > 0 Then
On Error Resume Next
Rows(Columns("A").Find(What:=Suchwert, _
After:=Range("A1"), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False) _
.Offset(1, 0).Row _
& ":" & Cells(Rows.Count, "A").End(xlUp).Row).Delete
End If
End 

Sub
Vielen Dank schon im voraus
Gruss
Bernd

		

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code ändern - brauche Hilfe!!!
03.02.2005 00:05:48
Matthias
Hallo Bernd,
also wenn alle mit 32... beginnen, dann kann man einfach den Maximalwert bestimmen:
Sub LoescheZeilenDarunter()
Dim Suchwert
Suchwert = WorksheetFunction.Max(Range("A:A"))
If MsgBox("Unter " & Suchwert & " löschen?", vbYesNo) = vbNo Then Exit Sub
On Error Resume Next
Rows(Columns("A").Find(What:=Suchwert, _
After:=Range("A1"), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False) _
.Offset(1, 0).Row _
& ":" & Cells(Rows.Count, "A").End(xlUp).Row).Delete
End Sub
Gruß Matthias
Anzeige
AW: VBA-Code ändern - brauche Hilfe!!!
03.02.2005 08:27:55
Bernd
Danke erstmal für die schnelle Antwort.
Leider ists aber nicht so!
In der Liste sind sogenannte Kapazitätsgruppen, nach denen ich suche, die sind immer 5-stellig und beginnen entweder mit 31, 32 oder 33.
Außerdem massenweise Identnummern, welche jedoch länger sind und nicht mit 31, 32 oder 33 beginnen.
Es muss also nach dem Maximalwert lediglich von 32 beginnend (oder 31,33) gesucht werden.
Kannst mir noch mal weiterhelfen?
AW: VBA-Code ändern - brauche Hilfe!!!
03.02.2005 01:06:44
Bernd
Danke erstmal für die schnelle Antwort.
Leider ists aber nicht so!
In der Liste sind sogenannte Kapazitätsgruppen, nach denen ich suche, die sind immer 5-stellig und beginnen entweder mit 31, 32 oder 33.
Außerdem massenweise Identnummern, welche jedoch länger sind und nicht mit 31, 32 oder 33 beginnen.
Es muss also nach dem Maximalwert lediglich von 32 beginnend (oder 31,33) gesucht werden.
Kannst mir noch mal weiterhelfen?
Anzeige
AW: VBA-Code ändern - brauche Hilfe!!!
Martin
Hallo Bernd,
versuch's für die 32 mal so:

Sub weg_damit()
Application.ScreenUpdating = False
On Error Resume Next
z = Range("A65536").End(xlUp).Row
mx = 0
rw = 1
For i = 1 To z
If CInt(Left(Cells(i, 1), 2)) = 32 And Len(Cells(i, 1)) = 5 And CInt(Right(Cells(i, 1), 3)) > mx Then
mx = CInt(Right(Cells(i, 1), 3))
rw = i
End If
Next i
Rows(rw + 1 & ":" & z).EntireRow.Delete
Application.ScreenUpdating = True
End Sub

Gruß
Martin Beck
AW: VBA-Code ändern - brauche Hilfe!!!
03.02.2005 11:29:33
Bernd
Hi,
danke - klappt aber leider nicht.
Hier hab ich mal eine solche Datei:
https://www.herber.de/bbs/user/17405.xls
genauerer Hintergrund:
Duch das Finden der Zelle möchte ich letztlich für die 3 verschiedene Abteilungen (beginnend in Spalte A 1.mit 31 2. mit 32 3. mit 33) eigene Datenblätter erstellen, welche dann an die zuständigen Meister weitergeleitet werden.
Also kopiere ich die ganze Seite und möchte die überflüssigen Zeilen löschen. Nur hab ich eben das Problem, daß der höchste Inhalt von eben bspw. 32* in Spalte A gefunden werden muß.
Gruß
Bernd
Anzeige
AW: VBA-Code ändern - brauche Hilfe!!!
03.02.2005 11:50:41
Matthias
Hallo Bernd,
mein Versuch:
Sub weg_damit2()
Dim z, max, zeile, i
On Error Resume Next
z = Range("A65536").End(xlUp).Row
max = 0
zeile = 0
For i = 1 To z
With Cells(i, 1)
If Len(.Value) = 5 And Left(.Value, 2) = 32 Then
If .Value > max Then
max = .Value
zeile = i
End If
End If
End With
Next i
MsgBox "Höchster Wert: " & max & " in Zeile " & zeile
Rows(zeile + 1 & ":" & z).EntireRow.Delete
End Sub
Gruß Matthias
AW: VBA-Code ändern - brauche Hilfe!!!
03.02.2005 12:58:53
Bernd
Genial, danke!
Klappt super!!!
AW: VBA-Code ändern - brauche Hilfe!!!
Martin
Hallo Bernd,
an Deine Datei angepaßt:

Sub weg_damit()
Application.ScreenUpdating = False
z = Range("A65536").End(xlUp).Row
mx = 0
rw = 1
For i = 1 To z
If Left(Cells(i, 1), 2) = 32 And Len(Cells(i, 1)) = 5 And Right(Cells(i, 1), 3) > mx Then
mx = Right(Cells(i, 1), 3)
rw = i
End If
Next i
Rows(rw + 1 & ":" & z).EntireRow.Delete
Application.ScreenUpdating = True
End Sub

Gruß
Martin Beck
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige