Excel VBA Problem

  1. Master Pod

    Master Pod Thread StarterMacUser Mitglied

    Mitglied seit:
    31.01.2005
    Beiträge:
    2.772
    Zustimmungen:
    14
    Hallo Leute,

    obwohl es Windows Excel ist starte ich mal einen Versuch:

    Ich möchte über einen Button mir folgendes ausrechnen lassen:
    Ich habe die t-Daten ( A1-A60)
    In den Spalten B1-B60 soll folgende Formel berechnet werden:
    =0,5*9,81*t^2
    Jede 0,1 Realsekunden soll ein Wert in die Spalte B eingetragen werden, bis t=60 ist.

    Jetzt habe ich folgenden Programmcode:
    Doch er gibt mir keine Daten aus. Kann mir jemand sagen, wo mein Fehler liegt?

    Danke,

    MP
     
    Master Pod, 15.01.2007
  2. Erebus

    ErebusMacUser Mitglied

    Mitglied seit:
    01.02.2007
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo
    Deine Aufgabenstellung ist mir unklar, wofür die definierte Eingabezeit ?

    Versuch mal das hier:


    'Alles ohne Zeitaspekt, das wird alles schlicht abgearbeitet!


    Option Explicit
    Sub test()
    Dim i As Integer
    For i = 1 To 60
    'trägt immer die gleiche Formel in Spalte B ein:
    Range("B1:B60").Formula = "=$A$1 * " & CStr(i) & " ^ 2"
    'trägt aufsteigend in Spalte C ein:
    Cells(i, 3).Formula = "=$A$1 * " & CStr(i) & " ^ 2"
    Next i
    End Sub
     
    Erebus, 01.02.2007
  3. NorbertH

    NorbertHMacUser Mitglied

    Mitglied seit:
    24.02.2006
    Beiträge:
    560
    Zustimmungen:
    18
    Was mir beim Lesen deiner Formel aufgefallen ist.

    Deine Formel :

    DIM t as integer

    For t = 1 To t = 60............................................. Falsch
    Range("B1:B60").Formula = "=$A1" * t ^ 2

    Next i............................................................... Falsch


    For t = 1 To 60
    Dein Befehl
    Next t

    Habe deine Formel nicht Getestet, habe die Fehler nur beim Lesen desehen.
     
    NorbertH, 01.02.2007
  4. Jabba

    JabbaMacUser Mitglied

    Mitglied seit:
    21.11.2003
    Beiträge:
    4.458
    Zustimmungen:
    109
    Hai!

    Viel zu kompliziert:
    Ich gehe davon aus, dass t in Spalte B1 bis 60 immer das gleiche t ist bzw. den gleichen Wert hat und sich für alle gleichzeitig (!) bis 60 hochzählt und somit das Formelergebnis entsprechend verändert.

    Somit ist mit einer Schleife ein Gleichzeitiges Ändern der Werte in Spalte B nicht möglich. Machs doch einfacher:
    Schreibe die Formel in Spalte B für alle Zeile rein. Setzte statt t eine Zelle ein, z.B. D1

    =0,5*9,81*D1^2

    So, und jetzt brauchst Du nur noch ein Simples Makro, was in Zelle D1 die Werte 1 bis 60 im 0,1 Sekundenabstand eingibt und alle B-Zellen ändern sich simultan.

    Wenn wir schon dabei sind:

    Sub hochzaehlen()
    For i = 1 To 60
    Range("D1").Value = i
    waittime = (Now + TimeValue("0:00:01"))
    Application.Wait waittime
    Next i
    End Sub

    Uups, geht wohl nur im Sekundenabstand... Excel ist im Hundertstel Sekundenbereich Zickig. Vielleicht fällt mir dazu auch noch was ein...

    :)
     
    Jabba, 01.02.2007
  5. Master Pod

    Master Pod Thread StarterMacUser Mitglied

    Mitglied seit:
    31.01.2005
    Beiträge:
    2.772
    Zustimmungen:
    14
    Wow supi!!!

    Mein Problem war, dass ich immer etwas zu Visual Basic like denke...



    MP
     
    Master Pod, 01.02.2007
Die Seite wird geladen...
Ähnliche Themen - Excel VBA Problem
  1. stillhardda
    Antworten:
    0
    Aufrufe:
    313
    stillhardda
    14.01.2016
  2. OJOJ
    Antworten:
    0
    Aufrufe:
    487
  3. OJOJ
    Antworten:
    4
    Aufrufe:
    2.161
  4. KrisAusEU
    Antworten:
    2
    Aufrufe:
    612
  5. Altivec
    Antworten:
    1
    Aufrufe:
    579
    Altivec
    13.04.2009