Új hozzászólás Aktív témák

  • Mutt

    aktív tag

    válasz föccer #49346 üzenetére

    Szia,

    Mivel ez egy tömb-képlet (az új, előfizetéses változatban minden képlet tömb-képletként került feldolgozásra) azért a Formula2 tulajdonságot kell használni.

    Itt a példa:

    Sub ArrayFormula()
    Dim rngSzuro As Range
    Dim rngAdatok As Range
    Dim rngCel As Range

    Set rngSzuro = Range("A1:A10000")
    Set rngAdatok = Range("B1:B10000")
    Set rngCel = Range("G2:G4")

    'kézzel van megadva minden tartomány a képleten belül
    rngCel.Formula2 = "=TRANSPOSE(FILTER(B1:B10000,A1:A10000=F2))"
    'változókból jönnek a tartományok
    rngCel.Formula2 = "=TRANSPOSE(FILTER(" & rngAdatok.Address & "," & rngSzuro.Address & "=" & rngCel.Range("A1").Offset(, -1).Address(RowAbsolute:=False) & "))"
    'R1C1 változatban
    rngCel.Formula2R1C1 = "=TRANSPOSE(FILTER(" & rngAdatok.Address(ReferenceStyle:=xlR1C1) & "," & rngSzuro.Address(ReferenceStyle:=xlR1C1) & "=RC[-1]))"

    End Sub

    Microsoft365 verzió esetén javasolt csak a Formula2-t használni, a korábbiaknák pedig a Formula vagy FormulaArray-t attól függően hogy sima vagy CSE képletről van szó.

    üdv

    A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel

Új hozzászólás Aktív témák