Anzeige
Archiv - Navigation
1004to1008
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

Matrix-formel via VB-Skript in die Zelle einfügen

Matrix-formel via VB-Skript in die Zelle einfügen
01.09.2008 12:08:24
Wladimir
Hallo zusammen,
ich soll via VB-Skript eine
Excel-Matrix-formel in die Zelle der
geschlossenen Datei einfügen.
Ich habe die Formel entsprechend
angepasst und versuchte sie mit
FormulaArray in die Zelle einzufügen,
aber erfolglos. Es kommt die Meldung:
"Die FormulaArray-Eigenschaft des
Range-Objektes kann nicht festgelegt
werden."
Mein Code:
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("c:\test.xls")
objExcel.Visible = False
objExcel.ActiveSheet.Cells(7,e46).FormulaArray = "=MIN(WENN(BEREICH.VERSCHIEBEN(B7,,MIN(WENN(B7:AF7=""K"",SPALTE(B7:AF7),""""))-1,,ANZAHL2(B7:Af7))""K"",SPALTE(BEREICH.VERSCHIEBEN(B7,,MIN(WENN(B7:AF7=""K"",SPALTE(B7:AF7),""""))-1,,ANZAHL2(B7:AF7))),""""))-1-VERGLEICH(""K"",B7:AF7,0)"
objWorkbook.Save
objWorkbook.Application.Quit
Was mache ich falsch? Oder .FormulaArray im VB-Skript funktioniert nicht wie in VBA?
Danke im Voraus
Freundliche Grüße
Wladimir

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Matrix-formel via VB-Skript in die Zelle einfügen
01.09.2008 12:28:41
Hary
Hallo Wladimir
Bin zwar noch Anfaenger in Sachen VBa, aber was mir auffaellt ist.
Cells(7,e46) muesste es nicht heissen Cells(7,46)
Gruss Hary
AW: Matrix-formel via VB-Skript in die Zelle einfügen
01.09.2008 12:36:00
Wladimir
Hallo Hary,
du hast Recht. Ich habe mich vertippt, aber im Skript selbst ist richtig eingegeben.
Freundliche Grüße
Wladimir
AW: Matrix-formel via VB-Skript in die Zelle einfügen
02.09.2008 20:44:28
Erich
Hi Wladimir,
die Formel liefert bei mir #BEZUG - ich habe ja nicht deine Daten, also ungetestet.
Aber probier doch trotzdem mal:

objExcel.ActiveSheet.Cells(7, 46).FormulaArray = _
"=MIN(IF(OFFSET(B7,,MIN(IF(B7:AF7=""K""," _
& "COLUMN(B7:AF7),""""))-1,,COUNTA(B7:AF7))""K""," _
& "COLUMN(OFFSET(B7,,MIN(IF(B7:AF7=""K"",COLUMN(B7:AF7)," _
& """""))-1,,COUNTA(B7:AF7))),""""))-1-MATCH(""K"",B7:AF7,0)"

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Matrix-formel via VB-Skript in die Zelle einfügen
02.09.2008 21:53:44
Tino
Hallo,
ich habe jetzt beide Formeln getestet, die von Wladimir in einer Zelle und die von Erich aus einem VBA Makro.
Beide Formeln haben irgendwelche Fehler, dadurch kann Excel die Formel nicht verarbeiten!
@Wladimir, kannst du mal eine Funktionierende Formel aus der Zelle hier rein stellen, ich bin leider kein Formelexperte und kann den Fehler nicht finden.
Gruß Tino

www.VBA-Excel.de


AW: Matrix-formel via VB-Skript in die Zelle einfügen
02.09.2008 22:24:05
Wladimir
Hallo Tino, Hallo Erich,
nochmals vielen Dank für Eure Hilfe.
Hier ist die funktionierende Formel, die ich zurzeit in meiner Tabelle nutze:
{=MIN(WENN(BEREICH.VERSCHIEBEN(B7;;MIN(WENN(B7:AF7="K";SPALTE(B7:AF7);""))-1;;ANZAHL2(B7:AF7))"K"; SPALTE(BEREICH.VERSCHIEBEN(B7;;MIN(WENN(B7:AF7="K";SPALTE(B7:AF7);""))-1;;ANZAHL2(B7:AF7)));"")) -1-VERGLEICH("K";B7:AF7;0) }
@Erich: Leider gibt Dein Vorschlag die folgende Meldung: "Die FormulaArray-Eigenschaft des Range-Objektes kann nicht festgelegt werden."
Freundliche Grüße
Wladimir
Anzeige
AW: Matrix-formel via VB-Skript in die Zelle einfügen
02.09.2008 22:31:38
Tino
Hallo,
konnte die Formel richtig stellen, diese Formel lässt sich nicht mit VBA in eine Zelle schreiben, Grund ist wahrscheinlich dass diese zu lang ist.
Also wirst du nicht drum rum kommen, diese mit VBA nachzubauen.
Vielleicht bekommt dies aber einer noch hin, lass die Frage mal offen.
Gruß Tino
AW: Matrix-formel via VB-Skript in die Zelle einfügen
02.09.2008 22:46:21
Wladimir
Hallo Tino,
Danke. Die Frage über Matrix-Formel via VBS lasse ich offen.
Aber es ist komisch, da die Formel keine 255 Zeichen ist... Und alles, was ich darüber schon gelesen habe, bezieht sich entweder auf die Formel-Länge, Koma-Zeichen statt Semikolon oder Formel auf englisch.
Freundliche Grüße und schönen Abend
Wladimir
Anzeige
AW: Matrix-formel via VB-Skript in die Zelle einfügen
02.09.2008 22:49:42
Tino
Hallo,
einigste Lösung die ich jetzt gefunden habe ist mit SendKeys.

Range("AT7").Formula = _
"=MIN(IF(OFFSET(B7,,MIN(IF(B7:AF7=""K""," & _
"COLUMN(B7:AF7),""""))-1,,COUNTA(B7:AF7))""K""," & _
"COLUMN(OFFSET(B7,,MIN(IF(B7:AF7=""K"",COLUMN(B7:AF7)" & _
",""""))-1,,COUNTA(B7:AF7))),"""")) -1-MATCH(""K"",B7:AF7,0)"
Range("AT7").Select
Application.SendKeys "{F2}"
Application.SendKeys "+^~"End Sub


SendKey hat aber den Nachteil, dass die Zelle aktiv sein muss!
Gruß Tino

AW: Matrix-formel via VB-Skript in die Zelle einfügen
03.09.2008 06:15:33
Wladimir
Hallo Tino,
vielen Dank für Deine Lösung. Die habe ich mir auch bereits gebastelt, aber für mich war es wichtig, dass die Datei dabei geschlossen bleibt, aber jetzt habe ich Erichs wunderbare Lösung, die schafft es.
Ich habe gerade viel bei Euch beiden gelernt.
Nochmals Danke für Deine Hilfe und Geduldt.
Freundliche Grüße und schönen Tag
Wladimir
Anzeige
AW: Matrix-formel via VB-Skript in die Zelle einfügen
03.09.2008 06:44:45
Tino
Hallo,
verstehe es nich falsch, die Datei wird geöffnet sie ist nur nicht sichtbar!
Gruß Tino
AW: Matrix-formel via VB-Skript in die Zelle einfügen
03.09.2008 07:51:56
Wladimir
Hallo Tino,
das meinte ich. :-)
Freundliche Grüße
Wladimir
AW: Matrix-formel via VB-Skript in die Zelle einfügen
03.09.2008 02:14:21
Erich
Hi zusammen,
späte Stunde verleitet manchmal zu einem Blick in die VBA-Hilfe.
FormulaArray möchte Z1S1-Schreibweise. Damit gehts dann auch:

objExcel.ActiveSheet.Cells(7, 46).FormulaArray = _
"=MIN(IF(OFFSET(RC2,,MIN(IF(RC2:RC32=""K""," _
& "COLUMN(RC2:RC32),""""))-1,,COUNTA(RC2:RC32))""K""," _
& "COLUMN(OFFSET(RC2,,MIN(IF(RC2:RC32=""K""," _
& "COLUMN(RC2:RC32),""""))-1,,COUNTA(RC2:RC32))),""""))" _
& "-1-MATCH(""K"",RC2:RC32,0)"

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Matrix-formel via VB-Skript in die Zelle einfügen
03.09.2008 06:20:58
Wladimir
Hallo Erich,
vielen Dank für Deine wunderbare Lösung.
Die habe ich gerade ausprobiert und es funktioniert einwandfrei.
Es war für mich wichtig, dass die Datei geschlossen bleibt, und jetzt habe ich es.
Ich habe gerade viel bei Dir und Tino gelernt.
Nochmals Danke für Deine Hilfe und Geduldt.
Freundliche Grüße und schönen Tag
Wladimir

350 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige