VBA code stimmt nicht

Dieses Thema VBA code stimmt nicht im Forum "Microsoft Office Suite" wurde erstellt von simdipl, 8. Juni 2005.

Thema: VBA code stimmt nicht Hallo zusammen könnt ihr mir weiter helfen bei dem folgendem code geht es um eine Verteilung die mit einem Makro...

  1. Hallo zusammen

    könnt ihr mir weiter helfen
    bei dem folgendem code geht es um eine Verteilung die mit einem Makro aufgebaut werden soll
    dabei werden Minimum und Maximum bestimmt und die Häufung der Werte soll in einer Schritten gehen. Dafür gibt es die Zeile:

    Zahl = (Maximum - Minimum)/Distance

    hier ein Zahlenbeispiel:
    (5 -3)/2
    dabei sollte dann ja 1 raus kommen
    bei mir aber nicht da kommt 0 raus könnt ihr mir weiter helfen?

    hier ist nochmals der code:
    minimum = Worksheets(Tabelle51).Cells(4, 36).Value
    maxi = Worksheets(Tabelle51).Cells(4, 32).Value
    distance = Worksheets(Tabelle51).Cells(2, 11).Value

    'Brechenen der schrittzahl

    zahl = ((maxi - minimum) / distance) + 1


    Worksheets(Tabelle51).Cells(4, 7).Select
    ActiveCell.FormulaR1C1 = zahl

    Danke schonmal für die mühe

    Martin
     
  2. Möglicherweise sind die Werte, die Du aus den einzelnen Zellen beziehst nicht so formatiert wie sie angezeigt werden. Beispiel: Als Zahlenformat hast Du 0 Dezimalstellen eingestellt, ein Wert von 1,23456 wird demnach als 1 angezeigt.

    Lösungsmöglichkeit wenn Du ganzzahlige Ergebnisse haben möchtest:

    minimum = Int(Worksheets(Tabelle51).Cells(4, 36).Value)
    maxi = Int(Worksheets(Tabelle51).Cells(4, 32).Value)
    distance = int(Worksheets(Tabelle51).Cells(2, 11).Value)

    Falls Dir das nicht hilft, melde Dich. Gib dann aber bitte noch mehr Infos.

    Gruß
    PiPi
     
  3. Hallo simdipl,

    in den Zeilen
    Code:
    Worksheets(Tabelle51).Cells(4, 7).Select
    ActiveCell.FormulaR1C1 = zahl
    scheiint es mir so, als wolltest du den Value auf->zahl' setzen.
    Das hiesse dann
    Code:
    Worksheets(Tabelle51).Cells(4, 7).Value = zahl
    Zur Kontrolle welchen Wert zahl hat kannst Du einen Haltepunkt vor diese Zeile setzen (Klick auf den linken Rand des Fensters vor die Zeile), das Programm bis dahin laufen lassen und dann mit dem Mauscursor über zahl gehen. Dann wird dir der Wert angezeigt.
    Alternativ könntest du eine folgende Zeile benutzen.
    Code:
    MsgBox (zahl)
    Weiterhin solltest Du deine Variablen dimensionieren.
    Code:
     ->für Ganzzahlen
      Dim Maximum As Long, Minimum As Long, Distance As Long
    Code:
     ->für Zahlen mit Nachkomma
      Dim Maximum As Double, Minimum As Double, Distance As Double
    Mit dem default Variant können  ganz unerklärliche Fehler zustandekommen.
    Gruß Matjes  :)
     
  4. Hallo zusammen
    Ich habe eure Ratschläge befogt und mal meinen Code ein wenig sauber gemacht und um geändert nun gibt der mir in der Zeile mit der Berechnung der Zahl einen Laufzeitfehler aus, und zwar Laufzeitfehler 6 Überlauf.

    Was darf ich darunter nun verstehen?
     
  5. Überlauf heißt, der Werte-Bereich der Variablen reicht nicht aus.

    Gruß Matjes :)
     
  6. Danke für deine Hilfe das Problem habe ich dan Doch anders lösen können.
    ich bin hingegangen und habe meine Werte Kopiert und dann sortiert. Anschließend habe ich einen Vergleich gemacht und habe alle überflüssigen Werte gelöscht hat auch funktioniert.

    Hier ist noch mal der Code falls es dich interessiert:
    'Dient dem Aufbau einer Liste der Klassen für die Häufung und der Summen Häufung
    'Die Maxima werden kopiert und der größe nach sortiert
    Worksheets(Tabelle51).Select
    Range(B3:B52).Select
    Selection.Copy
    Range(G5).Select
    ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range(G9), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal

    'Vergleich von Doppelten Zahlen und das löschen dieser
    Dim Anzahl As Long
    Anzahl = 49
    n = 1
    m = 0

    Do While n <= Anzahl
    Worksheets(Tabelle51).Cells(5 + n, 7).Select

    m = n - 1
    Worksheets(Tabelle51).Cells(5, 13).Value = m
    If Worksheets(Tabelle51).Cells(5 + n, 7).Value = Worksheets(Tabelle51).Cells(5 + m, 7).Value Then
    Selection.Delete Shift:=xlUp
    Anzahl = Anzahl - 1
    Worksheets(Tabelle51).Cells(5, 14).Value = Anzahl

    Else
    n = n + 1
    Worksheets(Tabelle51).Cells(5, 12).Value = n
    End If
    Loop

    ich habe aber nun noch ein Problem ich wollte eine Formel in ein Feld rein kopieren mit der Behfelszeile:

    Worksheets(Tabelle3).Cells(3 + j, 21).Value = =RC[-9]/3.6*(RC[-19]-R[-1]C[-19])
    von = U & 3 + j
    bis = U & Dauer
    ziel = von & : & bis
    Selection.AutoFill Destination:=Range(ziel), Type:=xlFillDefault

    Dabei bekomme ich die ganze Zeit eine Fehler meldung. Ich habe auch mal versucht eine ander zuweisung über R,C aber das geht auch nicht.

    Habt ihr noch ne idee?

    Gruss

    simdipl
     
  7. Hi simdipl,

    für die Formelzuweisung solltest du FormulaR1C1 benutzen.
    Code:
    Worksheets(Tabelle3).Cells(3 + j, 21).FormulaR1C1 = =RC[-9]/3.6*(RC[-19]-R[-1]C[-19])
    Gruß Matjes :)
     
  8. Hi Matjes

    Ich habe die Zeile so geändert wie du schriebst, aber es funktionierte auch nicht.

    Ich bin aber auf folgende Lösung gekommen die Läuft sie ist, finde ich sehr umständlich aber sie tut es auch.

    Code:
    Range(ziel).Select
    Set SourceRange = Worksheets(Tabelle3).Cells(3 + j, 21)
    Set fillRange = Worksheets(Tabelle3).Range(ziel)

    SourceRange.AutoFill Destination:=fillRange

    Aber ein recht herzliches Danke schön für eure Unterstützung

    Gruß Martin
     
Die Seite wird geladen...

VBA code stimmt nicht - Ähnliche Themen

Forum Datum
Fehler: Code 9C48 Internet Explorer nicht updatebar! Windows 7 Forum 31. Okt. 2015
Kann ich den Serial Code noch benutzen? Windows 7 Forum 11. Aug. 2015
Media Encoder Windows XP Forum 24. März 2015
Datensicherung auf externer Festplatt - Fehlerrcode: (0X80070057) Windows 7 Forum 30. Jan. 2015
W7 x64 Home Premium: 4 Sicherheitsupdates nicht installierbar - Fehlercode 80070490 Windows 7 Forum 21. Jan. 2015