Thema Datum  Von Nutzer Rating
Antwort
13.04.2010 15:53:26 Alex182
NotSolved
14.04.2010 00:44:42 sigma
NotSolved
Rot Aw:Aw:Matrix Formel in Zelle einfügen
15.04.2010 00:05:24 Alex182
NotSolved

Ansicht des Beitrags:
Von:
Alex182
Datum:
15.04.2010 00:05:24
Views:
813
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Matrix Formel in Zelle einfügen
Vielen Dank für die ausführliche Antwort. Werde abe rnoch nicht so richtig schlau daraus.
Das Problem, wenn ich die einfach stehen lasse ist, dass er den Bezug zu den Zeilen ändert.

So soll der in Tabelle1 in Zeile 2:3000 danach suchen

Nun ändert er aber in der Formel alle 2:3000 in 2:"anzahl der in Tabelle beschriebenen Zeilen"

und dann funktioniert die Formel nicht mehr. Selbst wenn ich diese auf ein extra Tabellenblatt schreibe und dort hinkopiere, wird das nach einmal aktualisieren wieder geändert. Obwohl automatische Berechnung aus ist und ich nur das Tab Blatt aktualisiere wo die Formel hin kopiert wurde.

Das sieht dann so aus:

Soll:
{=WENN(F2="";"";WENN(MAX(ISTNV(VERGLEICH('SAP Januar'!$P$1:$P$30000;K2:K2;))*('SAP Januar'!$G$1:$G$30000='Auswertung Januar'!C1))=0;"";INDEX('SAP Januar'!P:P;MIN(WENN(ISTNV(VERGLEICH('SAP Januar'!$P$1:$P$30000;K2:K2;))*('SAP Januar'!$G$1:$G$30000='Auswertung Januar'!C1);ZEILE($2:$30000))))))}

Ist nach Aktualisierung:
{=WENN(F2="";"";WENN(MAX(ISTNV(VERGLEICH('SAP Januar'!$P$1:$P$4409;K2:K2;))*('SAP Januar'!$G$1:$G$4409='Auswertung Januar'!C1))=0;"";INDEX('SAP Januar'!P:P;MIN(WENN(ISTNV(VERGLEICH('SAP Januar'!$P$1:$P$4409;K2:K2;))*('SAP Januar'!$G$1:$G$4409='Auswertung Januar'!C1);ZEILE($3:$30000))))))}

Und das ist mein eigentliches Problem ! ...

Deswegen überhaupt der Versuch das über VBA zu gestalten! Weiß einfach nicht weiter und muss bis ende der Woche fertig sein....

Gruß
Alex






sigma schrieb am 14.04.2010 00:44:42:

Alex182 schrieb am 13.04.2010 15:53:26:

Guten Tag,

habe folgendes Problem:

Will eine Matrix Formel in eine Zelle kopieren, wenn die Zelle links davon nicht leer ist. Dies dann für 3000Zeilen dieser Spalte.

Ich bin bisher so weit (Kann kein VBA programmieren, mache alles über Makros, nur Formeln aufzeichnen geht nicht):

Das Beispiel hier funktioniert:

Option Explicit

Public Sub FormelnSchreiben1()
Dim oBlatt As Worksheet
Set oBlatt = ThisWorkbook.Worksheets("Tabelle1")
With oBlatt
.Range("e7").FormulaArray = "=SUM((B2:B5) * (C2:C5))" End With
Set oBlatt = Nothing
End Sub

Nun mit meiner Formel - Fehlermeldung "400"

Option Explicit

Public Sub FormelnSchreiben1()
Dim oBlatt As Worksheet
Set oBlatt = ThisWorkbook.Worksheets("Tabelle1")
With oBlatt
.Range("e7").FormulaArray = "=IF(F2="";"";IF(MAX(ISTNA(MATCH('SAP Januar'!$P$2:$P$50000;K2:K2;))*('SAP Januar'!$G$2:$G$50000='Auswertung Januar'!C2))=0;"";INDEX('SAP Januar'!P:P;MIN(IF(ISTNA(MATCH('SAP Januar'!$P$2:$P$50000;K2:K2;))*('SAP Januar'!$G$2:$G$50000='Auswertung Januar'!C2);ROW($2:$50000))))))" End With
Set oBlatt = Nothing
End Sub

Weiß einer was ich falsch mache? Oder kann vll sogar einer einen kompletten Code für mich schreiben, inclusive der Bedingung mit der leeren Zelle?!

Wäre super nett!

Lieben Gruß
Alex

------------------------------------------------------------------

Hallo Alex182,

der erste Code funktioniert bei mir auch. Bei dem zweiten liegt das Problem daran, das deine Formel mehr als 255 Zeichen enthält. Und zwar genau 272 Zeichen. Daraus resultiert die Fehlermeldung. Eine nähere Beschreibung des Fehlers findest du hier. Wobei ich gerade sehe das du 400 geschrieben hast. ist das ein Schreibfehler? hat ja rein garnix mit deiner FormulaArray zu tun.

Laufzeitfehler "400":
Formular wird bereits angezeigt und kann nicht modal angezeigt werden.

http://support.microsoft.com/kb/213181/de

Den kompletten Code will ich dir leider nicht schreiben. Vielleicht kannst du deine Formel noch etwas optimieren(verkürzen) oder in zwei Zwischenschritten berechnen in zwei Spalten.

mfg

sigma

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
13.04.2010 15:53:26 Alex182
NotSolved
14.04.2010 00:44:42 sigma
NotSolved
Rot Aw:Aw:Matrix Formel in Zelle einfügen
15.04.2010 00:05:24 Alex182
NotSolved