Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Array Formel einer Variablen zuweisen???

Betrifft: Array Formel einer Variablen zuweisen??? von: R.Kunze
Geschrieben am: 14.08.2014 15:35:10

Hallo,

ich weise mehrere Variablne unterschiedliche Formeln und damit Ergebnisse zu z.B.:

var4 = "=MATCH(DATE(Parameter!R11C2,TEXT(DATE(,Parameter!R10C2,1),""MM""),1),Daten!C1,0)"

Jetzt habe ich aber eine Matrix formel:

Sheets("ECCS Eingabe").Cells(1, 2).FormulaArray = "=""Summe"" & "" ""&TEXT(DATE(,Parameter!R[9]C,1),""MMMM"")&"" kumuliert""

wie weise ich jetzt direkt meiner Variabel diese ArrayFormel zu???

Danke und vielen Dank für eure Hilfe im voraus

Gruß R.

  

Betrifft: Einfahc den Wert der Zelle zuweisen von: NoNet
Geschrieben am: 14.08.2014 15:43:47

Hallo R.,

mit der Codezeile weist Du ja lediglich einer Zelle eine ARRAY-Funktion zu, die wiederum ein Ergebnis (ein STRING-Wert) ausgibt.
Diesen STRING-Wert kannst Du einfach Deiner Variablen zuweisen - hier ein Beispiel :

Sub Wert_Zuweisen()
    Dim strVariable As String
    
    With Sheets("ECCS Eingabe").Cells(1, 2)
        .FormulaArray = _
            "=""Summe"" & "" ""&TEXT(DATE(,Parameter!R[9]C,1),""MMMM"")&"" kumuliert"""
        strVariable = .Value
    End With
    
    MsgBox strVariable
End Sub
Oder wolltest Du etwas anderes erreichen ?


Salut, NoNet


  

Betrifft: AW: Einfahc den Wert der Zelle zuweisen von: R.Kunze
Geschrieben am: 14.08.2014 15:54:42

Hallo NOnet,

ich wollte wissen ob es möglich ist eine Arrayformel auch ohne "zwischenparken" in einer zelle, es direkt einer Variablen zuzuordnen.

in meinem beispiel habe ich ja eine normale formel auch direkt einer variablen zugeordnet ohne das sie in einer zelle steht.


  

Betrifft: Genauso, denn wie es aussieht weist du ... von: Luc:-?
Geschrieben am: 14.08.2014 20:47:33

…einem Variant bzw einer String-Variablen nur einen FmlText zu, R.;
NoNet hat da schon weiter, nämlich an das Ergebnis aus dieser Fml gedacht. Für die Berechnung aller Fmln musst du in keinem Fall, auch nicht bei MatrixFmln, auf „ZwischenParken“ in einem TabBlatt zurückgreifen, sondern kannst den fertigen und auch gültigen (!) FmlText mit der vbFkt Evaluate auswerten. Falls es sich um eine (mehrzellige) MatrixFml handelt, wird das automatisch erkannt (wie bei benannten Fmln) und alle Ergebnisse als Datenfeld (Array) bereitgestellt. Eine das Ergebnis aufnehmende Variable sollte dann also vom DatenTyp Variant sein, denn nur der kann ein beliebiges Datenfeld aufnehmen.
Gruß, Luc :-?


  

Betrifft: Evaluate mit Arrayformel von: Erich G.
Geschrieben am: 15.08.2014 01:15:28

Hi R. (?),
probier mal

Sub Wert_Zuweisen()
    Dim strV As String
    
    strV = Evaluate("=""Summe ""&TEXT(DATE(,Parameter!B10,1),""[$-407]MMMM"")&"" kumuliert""")
    MsgBox strV
End Sub
Wenn du das Gebietsschema [$-407] für Deutschland weglässt, wirst du englische Monatsnamen erhalten -
VBA spricht englisch.

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


  

Betrifft: OT: Eben, Erich, und das wird oft vergessen, ... von: Luc:-?
Geschrieben am: 15.08.2014 01:50:18

…weil Xl das idR auf dem TabBlatt sehr schnell in die lokale Form bringt. Mitunter kann man noch kurzzeitig Dezimalpktt und TRUE statt WAHR sehen. Auch Fmln, die nur in lokaler Form vorzuliegen scheinen (wie die der DatenGültigkeit bzw der FormatRegeln) kann man so auf Englisch erhalten…
Ansonsten danke für die Ergänzung, denn das Englisch hatte ich nicht besonders betont, da die Fmln ohnehin in dieser Sprache vorliegen.
Morrn, Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "Array Formel einer Variablen zuweisen???"