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

Schleifenprogrammierung

Schleifenprogrammierung
10.01.2008 15:46:00
Dinci
Hallo zusammen,
ich habe eine Liste, die ich sortieren möchte. Die Sortierung macht mir unter VBA keine große Probleme.
Jedoch möchte ich nach der Sortierung einen bestimmten Datensatz kenntlich machen.
Aus diesem Grund durchläuft mein Makro nach der Sortierung in einer Schleife alle Zellen der Spalte A und sucht das entsprechende Kriterium. Da das Kriterium mehrfach vorkommt, habe ich die For ...next- Schleife gewählt.
Range("a1").Select
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If ActiveCell.Value = "AAA" Then
'hier soll die folgendes geschehen: Die Zeile mit dem Suchkriterium soll bis bspw. Spalte G selektiert werden, sodass die Schleife dannach weiterläuft
Else
ActiveCell.Offset(1, 0).Select
End If
Next i
Ich hoffe mein Anliegen wurde verständlich dargestellt
Danke im Voraus
Gruß
Dinci

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleifenprogrammierung
10.01.2008 15:57:00
Ramses
Hallo
Sorry, krieg ich irgendwie nicht auf die Reihe
"..nach der Sortierung einen bestimmten Datensatz kenntlich machen..."
Wozu soll dann die Schleife weiterlaufen, wenn der Suchbegriff gefunden wird ?
Die Markierung kannst du so machen
Range(activecell, activecell.offset(0,6)).Select
Gruss Rainer

AW: Schleifenprogrammierung
10.01.2008 16:07:00
Renee
Hi Dinci,
Vielleicht sowas:

Sub IchMöchteInZukunftOhneSelectArbeiten()
Dim lThisRowFound As Long
On Error Resume Next
lThisRowFound = Application.WorksheetFunction.Match("AAA", _
ActiveSheet.Range("A1:A" & ActiveSheet.UsedRange.Rows.Count), 0)
If lThisRowFound Then
ActiveSheet.Range("A" & lThisRowFound & ":G" & lThisRowFound).Select
Else
MsgBox "Sorry nix gefunden!"
End If
End Sub


GreetZ Renée

Anzeige
AW: Schleifenprogrammierung
10.01.2008 16:11:00
Dinci
Hallo Rainer,
du hast Recht; nicht einen bestimmten, sondern mehrere bestimmte mit dem gleichen Suchkriterium.
Es existieren mehrere Marktsegment und Regionen. Jede Region bewegt sich auf allen Marktsegmenten.
Nun wird nach Erfüllungsgrad in den einzelnen Marktsegmenten sortiert.
Dabei soll die Region 1 immer hervorgehoben werden (farblich, schriftgrösse,...).
Aus diesem Grund läuft sie solange weiter, bis ich ganz unten angekommen bin.
Dieses mache ich dann entweder mit ActiveSheet.UsedRange.Rows.Count oder, da ich dazwischen Leerzeilen machen möchte, mit einem festen Bereich. Mal sehen, wie ich das mache :-).
Mache ich das mit "Range", läuft die Schleife dann nicht mehr weiter. Das war vorher auch mein Problem
Gruß

Anzeige
AW: Schleifenprogrammierung
10.01.2008 16:46:00
Renee
Hi Dinci,
Vielleicht als weiterer Ansatz:
Diese Routine färbt alle Zellen von A:G rot, wenn in der Spalte A Zelle der tSuchbegriff vorkommt.

Sub IchMöchteInZukunftOhneSelectArbeiten()
Const tSuchBegriff = "AAA"
Dim rFCell As Range
Dim tFAdr As String
ActiveSheet.Range("A1:G" & _
ActiveSheet.UsedRange.Rows.Count).Interior.ColoIndex = xlColorIndexNone
With ActiveSheet.Range("A1:A" & ActiveSheet.UsedRange.Rows.Count)
Set rFCell = .Find(tSuchBegriff, LookIn:=xlValues)
If Not rFCell Is Nothing Then
tFAdr = rFCell.Address
Do
ActiveSheet.Range("A" & rFCell.Row & ":G" & rFCell.Row).Interior.ColorIndex = 3
Set rFCell = .FindNext(rFCell)
Loop While Not rFCell Is Nothing And rFCell.Address  tFAdr
End If
End With
End Sub


GreetZ Renée

Anzeige
AW: Schleifenprogrammierung
10.01.2008 17:26:00
Dinci
Danke Renée.
Ich musste mich erst einmal mit dem Code beschäftigen.
Mit dem konstanten Suchbegriff passt es.
Vielen Dank
Gruß

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige