Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

fehlerhaftes summieren | Herbers Excel-Forum


Betrifft: fehlerhaftes summieren von: siegfried
Geschrieben am: 06.01.2010 11:04:12

Hallo zusammen,

ich möchte Spielergebnisse berechnen und verwende dazu den folgenden Code:

Plus = 0
Minus = 0
For Zähler = 1 To 14
If WorksheetFunction.IsEven(Zähler) = True Then
If Controls("TextBox" & Zähler).Text > Controls("TextBox" & Zähler - 1).Text Then
Plus = Plus + 1
ElseIf Controls("TextBox" & Zähler).Text < Controls("TextBox" & Zähler - 1).Text Then
Minus = Minus + 1
End If
End If
Next Zähler

Der Code funtioniert nicht, wenn der kleinere Wert <= 1 ist. Ist der kleinere Wert > 1 dann ist alles o.k.
Was muß ich ändern?

Gruß
Siegfried

  

Betrifft: AW: fehlerhaftes summieren von: Klaus-Dieter
Geschrieben am: 06.01.2010 11:10:04

Hallo Siegfried,

wie verarbeitest du deine Variablen Plus und Minus denn weiter?



Viele Grüße Klaus-Dieter

Klaus-Dieter's Excel und VBA Seite
Online-Excel



  

Betrifft: AW: fehlerhaftes summieren von: Ramses
Geschrieben am: 06.01.2010 11:13:29

Hallo

Du kannst Text nicht summieren.
Dazu musst du den Inhalt der Textboxen in einen Zahlenwert umwandeln


If CDbl(Controls("TextBox" & Zähler)) > CDbl(Controls("TextBox" & Zähler - 1))  _
Then

wenn du das bei beiden machst, sollte es gehen

Gruss Rainer


  

Betrifft: AW: fehlerhaftes summieren von: siegfried
Geschrieben am: 06.01.2010 11:53:46

Hallo Ramses,

Dein Code liefert eine Fehlermeldung.
Im übrigen dürften dann auch keine Werte größer 1 berechnet werden können.

Hallo Rudi,

Deine Antwort verstehe ich nicht.

Hallo Klaus,

das Ergebnis der Berechnung halte ich im Tabellenblatt fest.

Gruß
Siegfried


  

Betrifft: keine Zahl in der Textbox von: Tino
Geschrieben am: 06.01.2010 12:12:16

Hallo,
"Dein Code liefert eine Fehlermeldung."
Demnach steht keine Zahl in der Textbox, vielleicht wäre ein Beispiel hilfreich.

Gruß Tino


  

Betrifft: For Zähler = 2 To 14 owT von: Rudi Maintaire
Geschrieben am: 06.01.2010 11:19:44




  

Betrifft: AW: fehlerhaftes summieren von: Rudi Maintaire
Geschrieben am: 06.01.2010 12:16:40

Hallo,

Sub tt()
  Dim Plus As Integer, Minus As Integer, Zähler As Integer
  Plus = 0
  Minus = 0
  For Zähler = 2 To 14 Step 2
    If CDbl(Controls("TextBox" & Zähler)) > CDbl(Controls("TextBox" & Zähler - 1)) Then
      Plus = Plus + 1
    ElseIf CDbl(Controls("TextBox" & Zähler)) < CDbl(Controls("TextBox" & Zähler - 1)) Then
      Minus = Minus + 1
    End If
  Next Zähler
End Sub
Gruß
Rudi


  

Betrifft: AW: fehlerhaftes summieren von: siegfried
Geschrieben am: 06.01.2010 14:45:26

Hallo Rudi,

ich habe Deinen Code versucht. Auch hier erhalte ich eine Fehlermeldung (Typen unverträglich).
Die Excel-Hilfe führt dazu aus, dass die Umwandlungsfunction CDbl vom Typ Double sein muss.
Das hab ich natürlich beachtet, dennoch erhalte ich die Fehlermeldung (Typen unverträglich).

Im Beispiel der Excel-Hilfe wird der umzuwandelnde Wert noch für eine weitere Berechnung herangezogen.
Auch das habe ich versucht. Ergebnis wie gehabt.

Könnte es sein, dass der Code nur bei Excel 2007 so nicht funktioniert?

Gruß
Siegfried


  

Betrifft: AW: fehlerhaftes summieren von: Rudi Maintaire
Geschrieben am: 06.01.2010 15:42:51

Hallo,
leere Textboxen oder mit Text?

Sub tt()
  Dim Plus As Integer, Minus As Integer, Zähler As Integer
  Plus = 0
  Minus = 0
  For Zähler = 2 To 14 Step 2
    If IsNumeric(Controls("TextBox" & Zähler)) And IsNumeric(Controls("TextBox" & Zähler - 1))  _
Then
      If CDbl(Controls("TextBox" & Zähler)) > CDbl(Controls("TextBox" & Zähler - 1)) Then
        Plus = Plus + 1
      ElseIf CDbl(Controls("TextBox" & Zähler)) < CDbl(Controls("TextBox" & Zähler - 1)) Then
        Minus = Minus + 1
      End If
    End If
  Next Zähler
End Sub

Gruß
Rudi


  

Betrifft: AW: fehlerhaftes summieren von: siegfried
Geschrieben am: 06.01.2010 15:14:18

Hallo Rudi, und alle anderen

ich habe jetzt einen Umweg genommen, um mein Problem zu lösen.
Ich habe die Werte der TextBoxen in das Tabellenblatt geschrieben und die Berechnung mit den Werten im Tabellenblatt vorgenommen. So klappts.

Danke an alle, die sich engagiert haben.

Gruß
Siegfried


  

Betrifft: Kleiner Tip am Rande von: Daniel
Geschrieben am: 06.01.2010 12:56:49

Hi

nur so neben bei

die Schleife läuft ja von 1 - 14 aber die Aktion soll nur bei jedem 2. Mal durchgeführt werden. (IF .IsEven(Zähler)).
das lässt sich leichter so realisieren:

For Zähler = 2 to 14 Step 2
  if Contros("Textbox" & Zähler ....
  ...
  End if 
Next
Gruß, Daniel


  

Betrifft: AW: Kleiner Tip am Rande von: Reinhard
Geschrieben am: 06.01.2010 13:07:16

Hallo Siegfried,

"Der Code funtioniert nicht"
ist nichts was uns weiterhilft. Was genau funktioniert denn nicht usw.

Du vergleichst keine Zahlen sondern Texte, schau mal hier:

Sub nn()
MsgBox "10" > "2"
MsgBox 10 > 2
End Sub
Gruß
Reinhard


Beiträge aus den Excel-Beispielen zum Thema "fehlerhaftes summieren"