Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1612to1616
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
Zellen löschen in Schleife + Nachbarzelle
15.03.2018 21:51:18
Winkler
Hallo,
ich bin leider da nicht in der Lage zu und bräuchte eure Hilfe.
In einen Bereich von B1:BJ200 soll ein Text gesucht werden (Großschreibung wichtig), der Inhalt der Zelle gelöscht und der Nachbarinhalt der beiden Zellen rechts ebenfalls gelöscht werden.
Ich hab da rudimentär sowas aus dem Makrorekorder:
Cells.Find(What:="OL", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, _
SearchFormat:=False).Activate
Selection.ClearContents
ActiveCell.Offset(0, 1).ClearContents
ActiveCell.Offset(0, 2).ClearContents
kann mir jemand daraus eine elegantere Schleife machen bitte?
Vielen vielen Dank
Christian
PS.: Schön wäre noch, wenn ich das Suchwort vorab in einem Eingabefeld festlegen könnte, da es öfter mal andere in der Tabelle sind.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen löschen in Schleife + Nachbarzelle
16.03.2018 02:53:24
Rainer
Hallo Winkler,
probier mal:
Sub Winkler()
Dim Suchbegriff As String
Dim MeineZelle As String
Suchbegriff = InputBox("Suchbegriff eingeben")
Zeile_Start = Selection.Row
Spalte_Start = Selection.Column
Zeile_Ende = Selection.Rows.Count + Selection.Row - 1
Spalte_Ende = Selection.Columns.Count + Selection.Column - 1
For i = Zeile_Start To Zeile_Ende
For j = Spalte_Start To Spalte_Ende
MeineZelle = Cells(i, j).Value
If StrComp(MeineZelle, Suchbegriff, vbBinaryCompare) = 0 Then
Range(Cells(i, j), Cells(i, j + 2)).ClearContents
End If
Next j
Next i
End Sub
Gruß,
Rainer
Anzeige
AW: Suchen, Inhalt Zelle + Nachbarzellen löschen
16.03.2018 04:45:45
fcs
Hallo Christian,
mein Vorschlag
Gruß
Franz
Sub aaaTest()
Dim wks As Worksheet
Dim rngSuche As Range, rngFind As Range
Dim varSuchen
Dim StatusCalc As Long
Dim address1 As String
varSuchen = InputBox("Suchbegriff?", "Suchen und Löschen")
If varSuchen = "" Then Exit Sub
Set wks = ActiveSheet
Set rngSuche = wks.Range("B1:B1200")
Set rngFind = rngSuche.Cells.Find(What:=varSuchen, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, _
SearchFormat:=False)
If rngFind Is Nothing Then
MsgBox "Suchbgriff """ & varSuchen & """ nicht gefunden.", _
vbOKOnly + vbInformation, "Suchen und Löschen"
Else
'Makrobremsen lösen
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
address1 = rngFind.Address
Do
rngFind.ClearContents
rngFind.Offset(0, 1).ClearContents
rngFind.Offset(0, 2).ClearContents
Set rngFind = rngSuche.FindNext(after:=rngFind)
If rngFind Is Nothing Then Exit Do
Loop Until rngFind.Address = address1
'Makrobremsen zzurücksetzen
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
End With
End If
End Sub

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige