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

Löschen von Variablen in Schleifen

Löschen von Variablen in Schleifen
02.05.2005 13:56:06
Variablen
Hallo Leute,
ich habe da mal folgende Frage: Wie kann ich in einem Excel-Makro Variablen einer Schleife vor jedem Durchgang "leeren". Ich habe hier eine Exceldatei, bei der ich das Gefühl habe, dass das nicht funktioniert.
Hier ist die Datei:
https://www.herber.de/bbs/user/22050.xls

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen von Variablen in Schleifen
02.05.2005 13:59:08
Variablen
Hi,
in dem du am Anfang deiner Prozedur den Wert beispielsweise auf '0' setzt.
AW: Löschen von Variablen in Schleifen
02.05.2005 14:05:08
Variablen
Ups,
da hat wohl jemand den Wald vor lauter Bäumen nicht gesehen... Trotzdem tausend Dank!
Marcus
AW: Löschen von Variablen in Schleifen
02.05.2005 14:13:41
Variablen
Hallo Marcus,
Deine Variablen werden im Makro definiert, damit sind Sie zu Beginn immer leer und brauchen nicht geleert werden.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Löschen von Variablen in Schleifen
02.05.2005 14:24:30
Variablen
Hi Hajo,
das Problem ist aber, dass das Makro nicht immer funktioniert. Es soll ja interpolieren. Wenn Du das Makro ausprobierst und es richtig funktioniert, sollte für den ersten Wert knapp "6,17" herauskommen. Oft kommt aber irgendwas mit "13,xx" raus. Ich weiß einfach nicht warum. Deswegen habe habe ich als VBA-Frischling gedacht, dass sich die Variablen nicht leeren. Wenn Du eine andere Lösung weißt, würde ich mich über eine Antwort sehr freuen...:-)
Marcus
AW: Löschen von Variablen in Schleifen
02.05.2005 14:48:32
Variablen
Hallo Marcus,
das System DEiner Berechnung habe ich noch nicht mitbekommen. Ich habe mal Kommentare in Deinen Code geschrieben. Ich würde mal vermute Deine While Schleife hat den falschen Bezug.

Sub interpolation()
Dim loads, lastvalue, highvalue1, highvalue2, intz, endintz, index1, def1, def2, load1, load2, res, k1, k2, j
k1 = 7
k2 = 2
'   Letzte Zelle in Spalte B, diese Zeile führ zu
'   falschen Ergebniss falls B65536 belegt
intz = Worksheets("Tabelle2").Range("B8").End(xlDown).Row
'   7 Zeilen nach oben Warum ?
endintz = intz - k1
'   Letzter Wert in Spalte B Tabelle1
highvalue1 = Worksheets("Tabelle1").Range("B2").End(xlDown).Value
'   letzter Wert Spalte C Tabelle2
highvalue2 = Worksheets("Tabelle2").Range("C8").End(xlDown).Value
For i = 1 To endintz
'       letzte Zelladresse in Spalte B aktuelle Tabelle
'       Wozu wird die Festgestellt, Sie wird ja nicht benutzt
lastvalue = Range("B" & i + k2).End(xlDown).Address
'       Wert der aktuelle Zeile Spalte C
loads = Worksheets("Tabelle2").Range("C" & i + k1).Value
'       Wert der aktuelle Zeile Spalte B Tabelle 1
def1 = Worksheets("Tabelle1").Range("B" & i + k2).Value
'       Zeiele feststellen der aktuellen Zeile,
'       warum so kompliziert es ist immer I+k2
'       warum neue Variable
j = Worksheets("Tabelle1").Range("B" & i + k2).Row
'       schleife dirch Tabelle1 Spalte B bis max. letzter Zeile oder
'       def1> loads
'       Worksheets("Tabelle1").Range("B" & i + k2).Value<Worksheets("Tabelle2").Range("C" & i + k1).Value
'       in der aktuellen Tabelle also Tabelle1 dort gibt es aber nur 22 Zeilen in Tabelle1 aber 589
'       warum muß die Schleife durch Zeile 23 bis 589 Laufen die sind doch leer
While def1 < loads And j <= Worksheets("Tabelle1").Range("B" & i + k2).End(xlDown).Row
def1 = Range("B" & j)
j = j + 1
Wend
'       Werte zuordnen
def2 = Worksheets("Tabelle1").Range("B" & j - 1).Offset(0, -1).Value
def1 = Worksheets("Tabelle1").Range("B" & j - 2).Offset(0, -1).Value
'       Offset(0,0) was soll das es ist doch die aktuelle Zeile
load2 = Worksheets("Tabelle1").Range("B" & j - 1).Offset(0, 0).Value
load1 = Worksheets("Tabelle1").Range("B" & j - 2).Offset(0, 0).Value
'       Berechnung
res = def1 + (def2 - def1) * ((loads - load1) / (load2 - load1))
'       Wert in Tabelle2 schreiben
Worksheets("Tabelle2").Range("D" & i + k1) = res
Next i
End Sub

Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Löschen von Variablen in Schleifen
02.05.2005 20:00:29
Variablen
Hallo Hajo,
auf dein Anraten hin habe ich das Makro nochmal überarbeitet (weil ich ein absoluter Newbie bin, hat das etwas länger gedauert...). Ich wollte Dir nur sagen, dass jetzt alles problemlos funktioniert. Tausend Dank nochmal für Deine Hilfe!
Marcus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige