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

Abfrage von Zellenwerten

Abfrage von Zellenwerten
13.07.2007 07:50:12
Zellenwerten
Guten Morgen zusammen.
Ich habe mal wieder ein kleines Problem, bei dem ich Eure Hilfe gebrauchen kann.
Folgendes Problem:
in den Spalten D:O sind folgende Eingaben möglich: empty, 1, 2, 3
das Modul soll die Zeile rückwärts durchlaufen und mir errechnen,
wie lange der Status "3" zuletzt in Folge gesetzt war.
Mein erster Versuch sieht folgendermassen aus:

Sub Check_ool()
Dim i, counter, zeile, spalte As Integer
Dim wbk As Workbook
Set wbk = ThisWorkbook
counter = 0
zeile = 5
spalte = 15
Do Until wbk.Worksheets("OOL").Cells(zeile, 1).Value = ""
For i = 1 To 12
If wbk.Worksheets("OOL").Cells(zeile, spalte).Value = "" Or wbk.Worksheets("OOL").Cells ( _
zeile,spalte).Value = "1" Or wbk.Worksheets("OOL").Cells(zeile, spalte).Value = "2" Then
spalte = spalte - 1
Else
If wbk.Worksheets("OOL").Cells(zeile, spalte).Value = "3" Then
spalte = spalte - 1
counter = counter + 1
End If
wbk.Worksheets("OOL").Cells(zeile, 16).Value = counter
zeile = zeile + 1
End If
Next i
Loop
End Sub


Der Compiler meckert über einen "Application-defined error".
Wer könnte mir noch vor dem Wochenende weiterhelfen?
Gruss,
Gromminger

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage von Zellenwerten
14.07.2007 06:56:32
Zellenwerten
Hallo Gromminger,
evtl. reicht es ja auch noch am Samstag früh.
Ich hab mal deinen Code so umgestrickt, dass er das Ergebnis bringen müßte. Zusätzlich auch eine etwas einfacher gestrickte Alternative.
Gruß
Franz

Sub Check_ool()
Dim i, counter, zeile, spalte As Integer
Dim wbk As Workbook
Set wbk = ThisWorkbook
counter = 0
zeile = 5
spalte = 15
Do Until wbk.Worksheets("OOL").Cells(zeile, 1).Value = ""
For i = 1 To 12
If wbk.Worksheets("OOL").Cells(zeile, spalte).Value = "" Or _
wbk.Worksheets("OOL").Cells(zeile, spalte).Value = "1" Or _
wbk.Worksheets("OOL").Cells(zeile, spalte).Value = "2" Then
Exit For
Else
If wbk.Worksheets("OOL").Cells(zeile, spalte).Value = "3" Then
counter = counter + 1
End If
End If
spalte = spalte - 1
Next i
wbk.Worksheets("OOL").Cells(zeile, 16).Value = counter
counter = 0 '? Zähler nach jeder Zeile zurücksetzen
zeile = zeile + 1
spalte = 15
Loop
End Sub
Sub Check_oolAlternative()
Dim counter as Integer, zeile as Long, spalte As Integer
Dim wbk As Workbook, wks As Worksheet
Set wbk = ThisWorkbook
Set wks = wbk.Worksheets("OOL")
counter = 0
zeile = 5
spalte = 15
Do Until wks.Cells(zeile, 1).Value = ""
For spalte = 15 To 4 Step -1
If wks.Cells(zeile, spalte).Value = 3 Then
counter = counter + 1
Else
Exit For
End If
Next spalte
wks.Cells(zeile, 16).Value = counter
zeile = zeile + 1
counter = 0 '? Zähler nach jeder Zeile zurücksetzen
Loop
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige