Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
724to728
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
724to728
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nur eine bestimmte Anzahl suchen und ersetzen

Nur eine bestimmte Anzahl suchen und ersetzen
02.02.2006 13:31:54
Andre´
Hallo alle zusammen,
ich habe in der Spalte B verschiedene Werte stehen, und möchte ich per Makro erreichen, dass nach einen bestimmten Wert gesucht wird und dieser durch einen anderen Wert ersetzt wird. Problem ist, dass nicht alle gefunden Werte ersetzt werden sollen sonder nur eine bestimmte Anzahl.
Zum Beispiel: es stehen 100 Werte wie „A“ es sollen aber nur die ersten 50 durch „B“ ersetzt werden.
Hat jemand eine Idee
Danke im voraus!
Andre

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

Betreff
Datum
Anwender
Anzeige
AW: Nur eine bestimmte Anzahl suchen und ersetzen
02.02.2006 13:47:07
Josef
Hallo Andre!
Z.B.so!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit
Sub FindenErsetzen()
Dim objSh As Worksheet
Dim rngFind As Range, rngSearch As Range
Dim strFirst As String, varFind As Variant, varReplace As Variant
Dim intMax As Integer, intIndex As Integer

Set objSh = Sheets("Tabelle3") 'Tabellenname - Anpassen!
Set rngFind = objSh.Range("B:B") 'Suchbereich - Anpassen!

varFind = "A" 'Suchbegriff
varReplace = "B" 'Ersatz
intMax = 50 'Anzahl

Set rngSearch = rngFind.Find(What:=varFind, LookIn:=xlValues, LookAt:=xlWhole, _
  After:=rngFind.Cells(rngFind.Cells.Count))

If Not rngSearch Is Nothing Then
  
  strFirst = rngSearch.Address
  
  Do
    
    intIndex = intIndex + 1
    
    rngSearch = varReplace
    
    Set rngSearch = rngFind.FindNext(rngSearch)
    
  Loop While Not rngSearch Is Nothing And rngSearch.Address <> strFirst And intIndex < intMax
  
End If

Set rngSearch = Nothing

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Nur eine bestimmte Anzahl suchen und ersetzen
02.02.2006 13:57:11
StingerMKO
Hallo Andre,
ich bin selbst auch noch nicht richtig fit in VBA, aber so hats bei mir funktioniert:

Sub Makro1()
Dim a As Variant
Dim cell As Range
a = 0
For Each cell In Range("A1:A11")
cell.Select
If ActiveCell.Value = "A" Then GoTo ersetzten Else GoTo weiter
ersetzten:
ActiveCell.Value = "B"
a = a + 1
If a = 50 Then Exit For
weiter:
Next cell
End Sub

gruß,
Malte
AW: Nur eine bestimmte Anzahl suchen und ersetzen
02.02.2006 14:40:59
Andre´
Hallo Sepp und Malte,
danke für die Hilfe! Beide Varianten funktionieren prima, wobei ich Sepp`s Variante vorziehe, weil das Tabellenblatt nicht aktiv sein muss.
Malte dein Code funktioniert auch ohne Dim a As Variant weist du warum!?
MFG
Andre
Anzeige
AW: Nur eine bestimmte Anzahl suchen und ersetzen
03.02.2006 12:39:00
StingerMKO
Hi Amdre,
ab einer bestimmten Excel Version muss man die Variablen nicht mehr deklarieren, da
Excel sich das passende Format selbst raussucht.
Ich habe die Erfahrung gemacht, dass unter einer alten Office Version dies noch
gemacht werden muss.
Gruß,
Malte

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige