Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: For each c in Bereich

For each c in Bereich
24.10.2008 16:32:40
Gregor
Hallo
Ich habe folgende Abfrage:
For Each c In Bereich
Wert = Cells(c.Row, 7).Value
If Wert "kein" Then
usw.
Ich möchte also bei c (Zeile) Spalte 7 den Wert abfragen und je nach Wert weiterfahren. Bereich ist in Spalte 5 definiert.
Wie komme ich zu dieser Zeilen-Nummer. c.Row geht nicht.
Danke und Gruss
Gregor
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For each c in Bereich
24.10.2008 16:39:08
David
Hallo Gregor,
wie ist denn c definiert? Was ist mit Bereich definiert (Syntax)?
Gruß
David
AW: For each c in Bereich
24.10.2008 16:48:00
Gregor
David
In Spalte 5 stehen Werte von 0 bis 420
Beginn aus For Beginn = 3 to lZeile
Für Zähler werden vorgängig leere Zeilen gezählt
Bereich = Range(Cells(Beginn, 5), Cells(Beginn + Zähler, 5))
For Each c In Bereich
Wert = Cells(c.Row, 7).Value
If Wert <> "kein" Then
Differenz = c - 250
If Differenz < 0 Then
Cells(Beginn, 10).Value = Differenz
End If
End If
Next
usw.
Danke und Gruss
Gregor
Anzeige
AW: For each c in Bereich
24.10.2008 17:04:36
David
sorry, keine Zeit mehr.
Gebe ab und setze die Frage wieder auf offen
David
AW: For each c in Bereich
24.10.2008 17:17:00
Gregor
oK.
Wer kann weiterhelfen?
Gregor
AW: For each c in Bereich
24.10.2008 17:52:00
Heinz
Hi,
du solltes Rückfragen schon beantworten, wie und als was ist c deklariert?
mfg Heinz
Anzeige
AW: For each c in Bereich
24.10.2008 18:00:40
Erich
Hallo Gregor,
c.Row ergibt einen Fehler vermutlich, weil c bzw. Bereich nicht als Range deklariert sind.
Du hast leider nicht das komplette Makro (insbesondere die Deklarationen) gepostet,
deshalb ist das jetzt nur eine Vermutung.
Eine Antwort auf Davids Frage wäre sicher nützlich gewesen.
Wenn ich den Code richtig verstanden habe, wird jedesmal, wenn in Spalte 7 eine Zahl kleiner als 250 steht,
die Zelle Cells(Beginn, 10) mit der Differenz beschrieben - immer wieder die selbe Zelle.
Das ist kaum sinnvoll.
Die folgenden drei Prozeduren tun alle das Gleiche:

Option Explicit         ' IMMER ZU EMPFEHLEN!
Sub Gregor1()
Dim lngBeg As Long   ' Beginn
Dim lngZae As Long   ' Zähler
Dim rngBer As Range  ' Bereich
Dim rngC As Range    ' c
Dim strW As String   ' Wert
Dim dblDif As Double ' Differenz
lngZae = 5
lngBeg = 8
Set rngBer = Range(Cells(lngBeg, 5), Cells(lngBeg + lngZae, 5))
For Each rngC In rngBer
strW = Cells(rngC.Row, 7).Value
If strW  "kein" Then
dblDif = rngC - 250
If dblDif 

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: For each c in Bereich
24.10.2008 20:38:00
Gregor
Hallo Erich
Ja, mit Range funktionierts.
Vielen Dank auch für deine Beispiele. Mit Hilfe dieser Beispiele kann ich meinen Code vereinfachen.
Gregor
;

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