Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Replace wenn nicht gleich Variable

Replace wenn nicht gleich Variable
Frank
Hallo zusammen,
wie kann ich dieses Makro umstricken, das alles was NICHT dem Text in Variable varValue entspricht, ersetzt wird?
With rngSpalte
.Replace varValue, "", xlWhole
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
vg,
Frank
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Replace wenn nicht gleich Variable
06.01.2012 15:14:45
Josef

Hallo Frank,
so?
On Error Resume Next
With rngSpalte
  .SpecialCells(xlCellTypeConstants).Value = varValue
  .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
On Error GoTo 0


« Gruß Sepp »

Anzeige
AW: Replace wenn nicht gleich Variable
06.01.2012 15:24:40
Frank
Hallo Sepp,
ich glaube, das ist es noch nicht. In der rngSpalte (A1:A500) gibt es fünf verschiedene Texte, die dort in den Zeilen 1 bis 500 vorkommen können. Es gibt keine Blanks. In der Variablen steht einer dieser Texte: "Text2". Nun sollen alle Zellen, die nicht "Text2" enthalten durch Blank ersetzt und anschhließend durch entire.row.delete gelöscht werden. Ich hörte, das sei die schnellste Methode auf einen Schlag Zeilen zu löschen. Wesentlich schneller, als mit einer Schleife reinzumarschieren und jede Zelle einzeln zu prüfen...
Verstehst Du?
VG,
frank
Anzeige
AW: Replace wenn nicht gleich Variable
06.01.2012 15:34:11
Reinhard
Hallo Frank,
Sub tt()
Dim rngSpalte As Range, strVar As String
strVar = "Text2"
With Range("X1:X500")
.Formula = "=IF(COUNTIF(A1:A500,strvar)=0;"""";1)"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
.ClearContents
End With
End Sub

Gruß
Reinhard
Anzeige
AW: Replace wenn nicht gleich Variable
06.01.2012 15:38:03
Josef

Hallo Frank,
dann so.
On Error Resume Next
With rngSpalte
  .Offset(0, 1).Insert
  .Offset(0, 1).FormulaR1C1 = "=IF(RC[-1]=""" & varValue & ""","""",FALSE())"
  .Offset(0, 1).SpecialCells(xlCellTypeFormulas, xlLogical).EntireRow.Delete
  .Offset(0, 1).EntireColumn.Delete
End With
On Error GoTo 0


« Gruß Sepp »

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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