Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1132to1136
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

Suchen makieren

Suchen makieren
walli
Hallo Allerseits,
ich suche eine Möglichkeit einen Bereich zu suchen und evtl. auch zu löschen.
In meiner Tabelle steht in der Spalte BA(53) durch eine Formel bedingt ein "1".
Wo die 1 anfängt, sollte ermittelt werden und der Bereich bis zum Ende der Tabelle
DAS ENDE ist durch die Spalte "A" zu erreichen, die lf. Nummer steht da,
makiert werden.
Für mein anderes Makro müßte ich diesen Bereich dann löschen.
Wenn keine 1 zu finden ist sollte eine Hinweis kommen,
danke im Voraus.
mfg walli

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

Betreff
Benutzer
Anzeige
AW: Suchen makieren
26.01.2010 15:24:44
fcs
Hallo walli,
etwa so
Gruß
Franz
Sub BereichLoeschen()
Dim Zeile As Long, Zelle As Range
Dim wks As Worksheet
Set wks = ActiveSheet
Application.ScreenUpdating = False
With wks
' letze Zeile  Spalte A
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row
'1 in Spalte BA suchen
Set Zelle = .Columns(53).Find(what:=1, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
MsgBox "Keine 1 in Spalte BA", vbInformation + vbOKOnly, "Löschen Bereich"
Else
If Zeile >= Zelle.Row Then
.Range(.Rows(Zelle.Row), .Rows(Zeile)).ClearContents
Else
.Rows(Zelle.Row).ClearContents
End If
End If
End With
Application.ScreenUpdating = True
End Sub

Anzeige
Sorry
26.01.2010 19:49:57
walli
Guten Abend Franz,
es soll nur bis Spalte 53 gelöscht werden.
mfg walli
AW: Sorry
27.01.2010 00:53:12
fcs
Hallo walli,
dann muss du den folgenden Abschnitt in dem gelöscht wird anpassen.
      If Zeile >= Zelle.Row Then
.Range(.Cells(Zelle.Row, 1), .Cells(Zeile, 53)).ClearContents
Else
.Range(.Cells(Zelle.Row, 1), .Cells(Zelle.Row, 53)).ClearContents
End If

Gruß
Franz
Warum ...
27.01.2010 09:52:11
walli
Guten Morgen Franz,
Warum steht eigentlich die löscht Zeile 2x drin ?
mfg walli
AW: Warum ...
27.01.2010 11:21:51
fcs
Hallo walli,
ich kenne ja deine Tabelle und ihre Daten nicht, wenn das Makro gestartet wird.
Dies ist eine Absicherung für den Fall, dass die letzte Zeile mit Daten in Spalte A oberhalb der Zeile ist, in der in Spalte 53 die 1 gefunden wird.
Beispiel:
LetzteZeile mit Daten in Spalte A = 10, 1 in Spalte 53 in Zeile 15
Ohne Prüfung der Zeilennummer und die 2. Löschanweisung
würden die Inhalte im Bereich Range(Cells(10,1),cells(15,53)) gelöscht.
Mit Prüfung wird die 2. Löschanweisung wirksam und es wird hier nur der Inhalt in
Range(Cells(15,1),cells(15,53)) gelöscht.
Ob das bei deinen Daten relevant ist oder nicht weiss ich nicht. Jedenfalls werden so nicht versehentlich Daten gelöscht.
Gruß
Franz
Anzeige
Danke für --))
27.01.2010 14:52:20
walli
Hallo Franz,
herzlichen Dank für die Erklärung,
schönen Tag noch,
mfg walli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige