Zle!
Skúsim za Vás.
Takže, hovorím pravdu ak poviem takýto popis ?
Do tabuľky na liste Predná, potrebujem zapísať všetky čísla z poslednej ohraničenej oblasti zo stĺpca K na liste Zdroj. A to tak, že začnem v E12 postupujem dole po E18, a následne na ďalší stĺpec od F12 ... pokiaľ neminiem všetky čísla z poslednej ohraničenej skupiny.
Ak je to tak, tak vzorcom jedine, ak aktuálnu skupinu označíte nejak inak, tu vedľa písmenko "a". Ak naozaj iba orámovaním, tak jedine makrom.
(maticový vzorec)
=IFERROR(INDEX(Zdroj!$K:$K;SMALL(IF(OFFSET(Zdroj!$L$2;;;COUNTA(Zdroj!$K:$K))="a";ROW(OFFSET(Zdroj!$L$2;;;COUNTA(Zdroj!$K:$K))));ROW(A1)+(COLUMN(A1)-1)*7));"")
=IFERROR(INDEX(Zdroj!$K:$K;SMALL(KDYŽ(POSUN(Zdroj!$L$2;;;POČET2(Zdroj!$K:$K))="a";ŘÁDEK(POSUN(Zdroj!$L$2;;;POČET2(Zdroj!$K:$K))));ŘÁDEK(A1)+(SLOUPEC(A1)-1)*7));"")
Chcel som od Vás manuálne vytvorený príklad výsledku. A Váš popis spomína 2 čísla, no vo výsledku je jedno číslo dva krát !!!
EDIT: Prípadne UDF funkcia na zistenie oblasti
do modulu
Public Function POSL_ORAM_SKUPINA() As Range
Dim LR As Long, i As Long, Kon As Long, Zac As Long
Application.Volatile
With Worksheets("Zdroj")
LR = .Cells(Rows.Count, "K").End(xlUp).Row
For i = LR To 2 Step -1
If Kon = 0 Then
If .Cells(i, "K").Borders(xlBottom).ColorIndex <> -4142 Then Kon = i
Else
If .Cells(i, "K").Borders(xlTop).ColorIndex <> -4142 Then Zac = i: Exit For
End If
Next i
If Kon <> 0 And Zac <> 0 Then Set POSL_ORAM_SKUPINA = .Range(.Cells(Zac, "K"), .Cells(Kon, "K"))
End With
End Function
vzorec do oblasti (maticový vzorec)
=IFERROR(INDEX(Zdroj!$K:$K;SMALL(ROW(POSL_ORAM_SKUPINA());ROW(A1)+(COLUMN(A1)-1)*7));"")
a do modulu listu
Private Sub Worksheet_Activate()
Calculate
End Subcitovat