Thema Datum  Von Nutzer Rating
Antwort
Rot Zählen vorangegangener Zellen mit bestimmten Wert
27.03.2007 11:44:09 fam.hos
NotSolved
03.04.2007 13:22:50 Rasta
NotSolved

Ansicht des Beitrags:
Von:
fam.hos
Datum:
27.03.2007 11:44:09
Views:
3075
Rating: Antwort:
  Ja
Thema:
Zählen vorangegangener Zellen mit bestimmten Wert
Hallo

ich habe folgendes Problem:

Ich habe ein Makro Programiert, welches mir z.B. folgende Zellen ausgibt (1Zahl =1Zelle):

00222002
20002020
22202020

etc. (ca 1500 Zeilen, 12 Spalten) ,entweder 2 oder 0

Die Zellen werden zunächst in einer Dim Variable gespeichert und erst am Ende der Berechnung ausgegeben. Die Speicherung erfolgt zunächst in den Zeilen von links nach rechts, dann die nächste Zeile, etc.

Nun möchte ich diese Makro so verändern, dass es mir, bezogen auf obiges Beispiel, folgende Zahlen ausgibt:

00622006
20008040
22204040

Sprich, bevor eine Zahl eingegeben wird, soll geprüft werden, wie viele vorherige Zellen in der Zeile 0 waren. Die Anzahl der Nullen +1 soll dann mit der nun einzugebenden Zahl multipliziert werden. Also anstatt 0-0-2 würde man jetzt 0-0-6 (=(2+1)*2) erhalten.

Mein Problem ist u.a., dass ich bei der Überprüfung der vorangegangenen Zellenwerte in die „Spalte 0“ rutsche und da dort kein Wert gespeichert ist, erhalte ich die Fehlermeldung „Subscript out of range“. Wenn ich dann den Code so verändere, dass ich nicht mehr die Fehlermeldung bekomme, dann erhalte ich ein falsches Ergebnis, in dem die erste Spalte nicht berücksichtiget wird, also z.B.

00422006
00062006

anstatt dem korrekten

00622006
00082006


Hier der Code für die Umwandlung in Variante 2, wobei p die Spalte bezeichnet, z ist der Zähler der vorhergehenden Nullen und x die Zahl, mit der letztendlich die 2 multipliziert wird. i = Zeile. Die Werte werden in Variant mit den Dimensionen (i,p) gespeichert.

z = 1
If p = 1 Then
x = 1
ElseIf p > 1 Then
z = 1
Do While Variant(i, p - z) = 0
If p - z < 1 Then
Exit Do
End If
z = z + 1
Loop
End If
x = z

Danke im Voraus für die Hilfe.

mfg

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Zählen vorangegangener Zellen mit bestimmten Wert
27.03.2007 11:44:09 fam.hos
NotSolved
03.04.2007 13:22:50 Rasta
NotSolved