Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
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
Inhaltsverzeichnis

Wie Formel in VBA umsetzen

Wie Formel in VBA umsetzen
31.08.2014 13:01:35
Udo Kowalleck

Hallo Freunde,
wie setze ich die Formel:
=INDEX($G$4:$G$309;VERGLEICH(1&$K4;$C$4:$C$309&$D$4:$D$309;0))
in VBA um?
In Exel selbst funktioniert sie. Nur an der Programierung in VBA scheitre ich.
Sicherlich kennt ihr die Lösung.
Gruß
Udo

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie Formel in VBA umsetzen
31.08.2014 13:03:42
Hajo_Zi
Hallo Udo,
schreibe die Formel in eine Zelle, füge ein neues Tabellenblatt Internationale Makro Vorlage ein und kopiere die Formel dort hin.

AW: Wie Formel in VBA umsetzen
31.08.2014 13:14:40
Udo Kowalleck
Hallo Hajo,
danke für deine schnelle Antwort. Mit der Antwort weiß ich als Anfänger überhaupt nichts anzufangen.
Ein neues Tabellenblatt geht überhaupt nicht, denn die Formel ist ein Bestandteil einer umfangreichen Progamierung in VBA in einem Tabellenblatt. Es sollen Daten von einer Zelle in einer anderen Zelle auf den gleichen Blatt übertragen werden.
Gruß
Udo

AW: Wie Formel in VBA umsetzen
31.08.2014 13:47:39
Daniel
Hi
Was möchtest du tun?
A) die Formel per VBA in eine Zelle schreiben.
B) in VBA das Ergebnis der Formel erhalten, ohne diese Formel selbst verwenden zu müssen.
Die Vergleichsformel sieht für mich etwas seltsam aus, indem du hier zwei Zellbereiche mir & verbindet.
Ist das eine Matrixformel?
Gruß Daniel

Anzeige
AW: Wie Formel in VBA umsetzen
31.08.2014 14:06:16
Udo Kowalleck
Hallo Daniel,
Ich möchte A, also diese Formel in VBA Code umwandeln.
Gruß
Udo

AW: Wie Formel in VBA umsetzen
31.08.2014 14:09:33
robert
Hi,
dann mach das, was Hajo dir geschrieben hat in einer neuen Datei,
dann siehst du die Formel im VBA-Code.
Gruß
robert

AW: Wie Formel in VBA umsetzen
31.08.2014 14:23:04
Udo Kowalleck
Hallo Robert,
die Lösung wäre einfach. Ein Makro aufzeichnen und dann den Code ansehen. Funktioniert leider nicht.
Jetzt bin ich ganz ratlos. Ich habe das komplette Tabellenblatt 1:1 kopiert. Beim Original funkt es, bei der Kopie bekomme ich die Fehlermeldung: Formel enthält einen Fehler.

AW: Wie Formel in VBA umsetzen
31.08.2014 14:14:35
Udo Kowalleck
Ps. Diese Frage habe ich schon von dir beantwortet bekommen. Das ist deine Formel die funkt. Allerdings nicht in VBA sondern ganz normale Formeleingabe in Exel.

Anzeige
AW: Wie Formel in VBA umsetzen
31.08.2014 14:31:50
Daniel
Hi
Kannst du mal eine Beispieldatei hoch laden, welche die funktionierende Formel enthält, außerdem noch deine nicht funktionierenden Codeversuche?
Gruß Daniel

AW: Wie Formel in VBA umsetzen
31.08.2014 14:35:05
Udo Kowalleck
Hallo Daniel,
ja, mache ich. Hatte es sowieso vor, denn in Erklärungen bin ich nicht der Stärkste. Kann aber etwa 30 Minuten dauern.

AW: Wie Formel in VBA umsetzen
31.08.2014 15:18:32
Udo Kowalleck
So, hier die beiden Dateien:
https://www.herber.de/bbs/user/92411.xlsx
https://www.herber.de/bbs/user/92412.xlsm
Das dieses ein absoluter Anfänger zusammen gebastelt hat, sieht man wohl.
Die Datentenbänke habe ich nicht hochgeladen. Sie sind auch nicht für den Programmablauf nötig.
Die Frage bezieht sich auf das Tabellenblatt "Ausrechnung" Spalten M5:AB22
Ich hoffe ihr kommt damit weiter.

Anzeige
AW: Wie Formel in VBA umsetzen
31.08.2014 15:41:15
Daniel
Hi
Nach Anfänger sieht das nicht aus.
Da die Formel eine Matrixformel ist, musst du sie so in die Tabelle eintragen:
with sheets("Ausrechnung")
.range("m4").FormulaArray = "=INDEX($G$4:$G$309,MATCH(M$3&$K4,$C$4:$C$309&$D$4:$D$309,0))"
.range("m4").copy .range("m5:ac21")
.range("m4").Copy .range("n4:ac4")
End with

Gruß Daniel

AW: Wie Formel in VBA umsetzen
31.08.2014 16:37:58
Udo Kowalleck
Vielen Dank, Daniel, für deine Mühe.
Leider funkt es bei mir nicht.
bevor ich dir Romane schreibe, füge die Formel doch einfach bei dir ein. Die Datei hast du ja.
Udo

AW: Wie Formel in VBA umsetzen
31.08.2014 19:25:39
Daniel
Hab ich gemacht, hat funktioniert.
Ich habe aber in deinem Makro nichts gefunden wo du diese Formeln schreibst und da ich mich in deinem Code nicht auskennt, wollte ich es auch nicht irgendwo einfügen, deswegen habe ich es in einem kleinen Testmakro ausprobiert und da geht es.
Gruß Daniel

Anzeige
AW: Das funktioniert doch ...
31.08.2014 23:48:00
Udo Kowalleck
Hallo Daniel, Hallo Matthias
das der Code von Daniel korrekt ist, daran habe ich keinen Zweifel. Ich wollte, ich hätte schon euer Fachwissen. Vielen Dank das ihr euch überhaupt diese Mühe macht mein Problem zu lösen.
Trotzdem funkt es bei mir nicht. Die Ursache könnte sein, das der Code an der falschen Stelle im Programm
erscheint; oder,oder,oder.
Es ist fast unverschämt von mir zu bitten, setzt den Code an letzter Stelle in meinem Programm ein und ihr müsst Zwangsläufig das gleiche Ergebnis haben. Ansonsten weiß ich auch nicht weiter.
Sinn und Zweck meines Programms ist die Sportwette. Wie viele Tore fallen im Spiel von Mannschaft A gegen B nach Wahrscheinlichkeit. Um die Wahrscheinlichkeit zu errechnen, brauche ich den Durchschnitt der erzielten Tore je Mannschaft in Heim- und Auswärtsspielen. Die Tendenz ergibt sich aus den gespielten Spiele (meiner Meinung). Das ist die Kurzform. Nur das ihr wisst um was es bei mir geht.
mit freundlichen und so
Udo

Anzeige
AW: Das funktioniert doch ...
01.09.2014 00:25:25
Daniel
Dein Code sieht nicht nach Anfänger aus.
Da du den Code geschrieben hast, solltest du am besten wissen, wo was passiert und an welcher stelle ed am sinnvollsten ist, die Formeln einzufügen.
Das ist eigentlich nur erforderlich, wenn du das Blatt neu aufbaust.
An welcher stelle passiert das im Code?
Gruß Daniel

AW: Das funktioniert doch ...
01.09.2014 01:17:42
Daniel
Dein Code sieht nicht nach Anfänger aus.
Da du den Code geschrieben hast, solltest du am besten wissen, wo was passiert und an welcher stelle ed am sinnvollsten ist, die Formeln einzufügen.
Das ist eigentlich nur erforderlich, wenn du das Blatt neu aufbaust.
An welcher stelle passiert das im Code?
Gruß Daniel

Anzeige
AW: Das funktioniert doch ...
01.09.2014 18:29:19
Udo Kowalleck
Buh-geschafft.
Der von mir eingesetzte Code:
i = 1
spalte = 13
For spalte = 13 To Anzahl + Anzahl - 8
For zeile = 5 To Anzahl + 4
Cells(zeile, spalte).Select
Selection.FormulaArray = _
"=INDEX(R5C7:R310C7,MATCH((" & i & ")&RC11,R5C3:R310C3&R5C4:R310C4,0))"
Next zeile
zeile = 5
i = i + 1
Next spalte
Ohne die Hilfe von Daniel hätte ich noch Tage herumgewurstelt. Noch einmal Dankeschön.
Bis zur nächsten Frage
Udo

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige