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

If-Schleife geht nicht !

If-Schleife geht nicht !
17.09.2007 11:50:00
Matze
Hi VBA Profis,
habe hier nen Code (eigentlich einfach), der aber irgendwie nicht mehr so funktioniert wie ich es möchte:

Sub Test()
Dim Wsh As Worksheet
Dim z As Long
Dim i As Long
For Each Wsh In ThisWorkbook.Worksheets
With Wsh
z = .Range("A1").End(xlDown).Row
For i = 2 To z
If .Cells(i, 6) > 1 And .Cells(i, 6) 


Möchte damit bestimmte Werte(Zahlen) in Spalte "F" (aller Tabellenblätter) mit 77% multiplizieren. Das klappt soweit ja auch, aber meine If-Schleife fürs Hochzählen der Zeilen pro Tabellenblatt funktioniert nicht.
Hat jemand ne Idee wo mein Fehler liegt?
Vielen Dank

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If-Schleife geht nicht !
17.09.2007 12:21:17
Thorsten
versuch mal dein ergebnis mit
WERT = zuweisung
.Cells(i, 6).Value = WERT * 77 / 100
dan müsst es funktionieren

AW: If-Schleife geht nicht !
17.09.2007 12:23:47
Rudi
Hallo,
der Code ist OK. Geh ihn mal mit F8 durch und checke die Variablen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: If-Schleife geht nicht !
17.09.2007 13:12:11
Matze
Hi Leute,
vielen Dank für die schnellen Antworten.
Wie meinst Du das "mit F8 durchgehen und die Variablen checken"?
So viele sind es ja nicht. Komm einfach nicht drauf, das müsste doch so funktionieren.
Hast Du einen Verdacht?
Matze

AW: If-Schleife geht nicht !
17.09.2007 13:19:00
Rudi
Hallo,
im VB-Editor mit F8 die Prozedur schrittweise durchgehen. Welchen Wert hat z.B. z?
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: If-Schleife geht nicht !
17.09.2007 13:28:50
Matze
Hallo,
bin jetzt mit F8 durchgegangen und hab mir die Werte von z und i angeschaut.
Bei Variable i zählt er erst hoch auf 3 dann übergibt die Schleife aber wieder den Wert 2 der in der Schleifen-Deklaration steht ("For i = 2 To z").
Wieso zählt die Schleife nicht hoch und übernimmt jedesmal den Wert 2

AW: If-Schleife geht nicht !
17.09.2007 13:33:43
Rudi
Hallo,
dann ist z=2
Ändere mal:
z=Range("A65536").end(xlup).row
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: If-Schleife geht nicht !
17.09.2007 13:44:00
Matze
Hallo,
das war's.
Jetzt zählt meine Variable i automatisch hoch.
Aber der Code gibt mir jetzt einen Fehler aus:
Laufzeitfehler: 13
"Typen unverträglich"
und zwar in der Zeile der Berechnung: .Cells(i, 6) = .Cells(i, 6).Value * 77/100
Was stimmt jetzt nicht?

Anzeige
AW: If-Schleife geht nicht !
17.09.2007 14:11:00
selli
hallo matze,
wie sieht es denn mit deinen zellformaten aus?
bei mir funktioniert alles bestens.
gruß selli

AW: If-Schleife geht nicht !
17.09.2007 14:57:05
Matze
Hallo,
die Zellen sind mal als Zahl mit 2 Dezimalstellen und mal als Zahl mit 5 Dezimalstellen formatiert, wobei teilweise Text in einigen Zellen vorhanden ist.
Kommt das Problem daher?
Wenn ja, wie kann ich im IF-Befehl sagen, dass er nur bei Zellen mit einer Zahl eine Änderung vornimmt?
Danke für Eure Mühen.

AW: If-Schleife geht nicht !
17.09.2007 15:08:01
Thorsten
du kannst nicht "text" mit 77 multiplizieren...
kannst du den text nicht trennen und in einer anderen spalte einfügen?

Anzeige
Prüfen ob in Zelle eine Zahl steht
17.09.2007 15:36:19
selli
If IsNumeric(Cells(.......)) Then
usw.
gruß selli

AW: Prüfen ob in Zelle eine Zahl steht
17.09.2007 16:01:06
Matze
Hallo,
kann die Text-Zellen leider nicht so einfach trennen, da es sich um eine externe Excel-Tab unseres Lieferanten handelt, die ich nicht verändern möchte
Ich denke das Problem ist die Formatierung der entsprechenden Zellen als Zahl, worin allerdings teilweise eben ein Text steht ("EURO/VE"). So funktioniert wahrscheinlich auch die Abfrage IF IsNumeric nicht.
Kann das sein?

AW: Prüfen ob in Zelle eine Zahl steht
17.09.2007 16:11:00
selli
dann kopiere doch die gesamte spalte in eine weitere und bearbeite die inhalte erstmal so, dass du sie auch weiter bearbeiten bzw. verwenden kannst.
sei kreativ.
gruß selli
p.s. ich klinke mich aus

Anzeige
AW: Prüfen ob in Zelle eine Zahl steht
17.09.2007 16:51:00
Matze
Hallo Alle,
Vielen Dank an Alle die mir geholfen haben. Bin jetzt etwas schlauer in VB.
Weiter So !!!
Gruß Matze

AW: If-Schleife geht nicht !
17.09.2007 14:13:00
Rudi
Hallo,
dann steht in .Cells(i,6) keine Zahl.
Was weiß ich, wie deine Tabelle aussieht.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: If-Schleife geht nicht !
17.09.2007 13:43:05
selli
hallo matze,
versuchs mal mit:
z=.Cells(Rows.Count, 1).End(xlUp).Row
gruß selli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige