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

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
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
Anzeige
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
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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige