Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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

Bereich abarbeiten

Bereich abarbeiten
ing.grohn
Hallo Forum,
folgende Frage:
Mit
Set Bereich = Range(A:B)
For Each Zelle in Bereich
' passiert was
Next Zelle
kann man einen Zellenbereich wunderschön durcharbeiten. Allerdings nur entweder vorwärts oder rückwarts.
Mit:
Dim fc As Range
Set fc = Worksheets("Tabelle3").Columns("B").Find(what:="a")
MsgBox "erste gefundene Zellen " & fc.Address & fc.Value
Set fc = Worksheets("Tabelle3").Columns("B").FindNext(after:=fc)
MsgBox "nächste gefundene Zelle " & fc.Address & fc.Value
Set fc = Worksheets("Tabelle3").Columns("B").FindPrevious(after:=fc)
MsgBox "und zurück " & fc.Address & fc.Value
kann man wunderschön in einem Bereich hin und her springen. Nachteil hierbei, ich brauche eine Suchvorgabe (what:=).
Ich möchte die Einfachheit der ersten Geschichte und die Flexiblität der zweiten (ohne Suchvorgabe, bzw mit *.* oder so) um in einem Bereich hin und her zu springen (Zelle vor, oder zurück, oder beliebig).
Gibts so was?
Eine zur Lösung führende Antwort würde mich sehr freuen? Vielen Dank!
Mit freundlichen Grüßen
Albrecht

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bereich abarbeiten
12.04.2010 18:04:07
Ramses
Hallo
":..(Zelle vor, oder zurück, oder beliebig)..."
Wozu bitte ?
Was willst du denn erreichen ?
Gruss Rainer
AW: Bereich abarbeiten
13.04.2010 00:49:32
fcs
Hallo Albrecht,
den Sinn deines Anliegens bei der Bearbeitung aller Zellen eines Bereiches kann ich nicht nachvollziehen.
Wenn du die Richtung der Bearbeitung vorgeben willst, dann muss du in zwei geschachtelten For-Next-Schleifen die Zeilen und Spalten des Bereichs in der gewünschten Reihenfolge abarbeiten.
Gruß
Franz
Sub Test2()
'Von links nach rechts, oben nach unten (entspricht For Each Zelle in Bereich)
Dim Bereich As Range, Zelle As Range, Zeile As Long, Spalte As Long
Set Bereich = Range("A1:B100")
Application.ScreenUpdating = False
For Zeile = 1 To Bereich.Rows.Count
For Spalte = 1 To Bereich.Columns.Count
Set Zelle = Breich.Cells(Zeile, Spalte)
' passiert was
Next Spalte
Next Zeile
Application.ScreenUpdating = True
End Sub
Sub Test0()
'von rechts nach links, von unten nach oben
Dim Bereich As Range, Zelle As Range, Zeile As Long, Spalte As Long
Set Bereich = Range("A1:B100")
Application.ScreenUpdating = False
For Zeile = Bereich.Rows.Count To 1 Step -1
For Spalte = Bereich.Columns.Count To 1 Step -1
Set Zelle = Bereich.Cells(Zeile, Spalte)
' passiert was
Next Spalte
Next Zeile
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Bereich abarbeiten
13.04.2010 18:49:37
ing.grohn
Hallo Rainer, Hallo Franz,
zunächst vielen Dank für die Antwort!
Nun zu meinem Anliegen.
Ich übernehme häufig Daten aus sehr unterschiedlichen Quellen (ALLE SERIÖS!!). Als Zwischenstation benutze ich gerne Excel. Die Daten sind oft mit "unüblichen Zeichen gespickt (Alt 160, Alt 255 etc) und manchmal wenig strukturiert (Name Vorname nicht eindeutig, feste Längen, variable Längen, halt ganz unterschiedlich). Ich zerlege die Zellen in ihre ASCII Werte und schaue, ob ich Zeichen eleminieren kann. Dafür ist das Blättern in der Tabelle (vergleichen) sehr hilfreich. Anschließend werden die Daten zurückgeschrieben.
Bisher hab ich vieles von Hand gemacht. Jetzt schaue ich mir die Sachen in einem Userfenster an und ändere ggf. einzelne Bytes. Geht auch Prima. Aber, lediglich entweder vorwärts oder rückwärts.
Ich hoffe, ich hab mich etwas klarer ausgedrückt.
Zu Franz: so mach ich das ja schon. Ist aber etwas umständlich.
Tut mir Leid, dass ich erst heute Antworte. Gestern mußte ich ungeplant weg und fand erst jetzt wieder die Zeit um zu Antworten.
Vielen Dank noch mal.
Mit freundlichen Grüßen
Albrecht
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige