Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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
Formeln in VBA
PeterO
Hallo Forum,
ich möchte aus meiner Tabelle die Formeln raushaben und die Berechungen über VBA lösen. Es scheitert aber schon an der ersten Formel, die ich auf VBA umstellen will (leider konnte ich oben VBA sehr bescheiden nicht auswählen)
Fomel im Tabellenblatt in G20:

WENN(B16/1000*amob>=mp_amob;B16/1000*amob;mp_amob) ~f~ </i>
amob und mp_amob sind definierte Bereiche.
Mein Lösungsansatz über VBA sieht so aus und produziert einen Fehelr in der ersten Zeile:
<i>
~f~
If Cells(16, 2) / 1000 * Range("amob").Value > Range("mp_amob").Value Then
Range("G20") = Cells(16, 2) / 1000 * Range("amob").Value
Else
Range("G20") = Range("mp_ambob").Value
End If

Kann mir jemand eine Lösung liefern?
Gruß Peter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Range(amob) --> ohne Anführungszeichen! owT
08.04.2010 14:21:56
Björn
owt = ohne weiteren Text
Sorry, war Blödsinn von mir...
08.04.2010 14:27:14
mir...
Hallo Peter,
vergiss meine erste Antwort.
Eigentlich ist Deine Formel richtig, außer, dass im Else plötzlich mp_ambob, das muss wahrscheinlich mp_amob heißen.
Bei mir funktioniert das.
Gruß
Björn B.
AW: Formeln in VBA
08.04.2010 14:28:22
BoskoBiati
Option Explicit
Hallo Peter,
mit definierten Bereichen kannst Du hier nichts anfangen, die musst Du in VBA definieren. Ein Beispiel:
Option Explicit
Sub test()
Dim amob As Range
Dim mp_amob As Range
Set amob = Range("E16")
Set mp_amob = Range("F16")
Debug.Print amob.Value
If Cells(16, 2) / 1000 * amob > mp_amob Then
MsgBox "klappt"
End If
End Sub
Gruß
Bosko
Anzeige
Warum nicht?
08.04.2010 14:31:12
Björn
Hallo Bosko,
warum soll man mit Namen, also definierten Bereichen in VBA nichts anfangen können?
Das mache ich andauernd....
Gruß
Björn B.
Anschlussfrage
08.04.2010 15:01:33
PeterO
Erst mal Dank euch beiden. Es funktioniert soweit.
Ich habe aber noch zwei Fragen:
1. Muss "Option Explicit" immer vorangestellt werden und was bewirkt das?
2. ICh habe die Namen/Bereiche vorher über das Excel-Menü definiert. Ist es korrekt, dass ich sie unter VBA neu definieren muss? (scheint zumindest so)
Gruß Peter
AW: Anschlussfrage
08.04.2010 16:28:07
PeterO
noch offen
Antwort ...
08.04.2010 18:47:39
Matthias
Hallo
Option Explicit erwirkt Deklarationszwang für Variablen
siehe auch in der Hilfe
Userbild
Wenn Du das Häkchen in den Optionen aktivierst schreibt Excel automatisch
vor die Prozeduren bzw. Module, Tabellen Option Explicit


Und natürlich kannst Du auch gesetzte Namen benutzen in Deinen Makros.
z.B. 2 Namen "Test1" und "Test2"
ActiveCell = Range("Test1") + Range("Test2")
Gruß Matthias
Anzeige
AW: Warum nicht?
08.04.2010 15:42:50
BoskoBiati
Hallo Björn,
stimmt, da bin ich doch glatt meinen eigenen Fehleingaben aufgesessen.
Gruß
Bosko
Thx to all - owT
09.04.2010 13:00:15
PeterO

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige