< návrat zpět

MS Excel


Téma: priradenie rss

Zaslal/a 3.10.2016 15:12

ahojte
nebudem to nejako rozpisovat , priloha prezradi vsetko
da sa to nejakym jednoduchym vzorcekom , alebo si budem musiet vymysliet makricko? (ak tam bude nejaky posun a index tak idem do makra)
vopred dakujem

Příloha: zip32957_wall.zip (7kB, staženo 30x)
Zaslat odpověď >

icon #032958
eLCHa
ak tam bude nejaky posun a index tak idem do makra

budecitovat
#032959
avatar
Zdravim,

zkus nasledujici:
Sub test()
Dim ws As Worksheet, a, b, i As Long, m As Long, lr As Long, rng As Range
Set ws = ActiveSheet
On Error GoTo ER
Application.ScreenUpdating = False
With ws
a = .Range("F3:I3")
Set rng = .Cells(4, 6)
lr = .Range("B" & .Rows.Count).End(xlUp).Row
For i = 1 To UBound(a, 2)
.Range("A3:B3").AutoFilter field:=1, Criteria1:=a(1, i)
b = .Range("B4:B" & lr).SpecialCells(12).Cells.Value
m = UBound(b, 1)
Set rng = rng.Resize(m, 1)
.ShowAllData
rng = b
Set rng = rng.Resize(1, 1).Offset(0, 1)
Next i
.AutoFilterMode = False
End With
Application.ScreenUpdating = True
Exit Sub
ER:
Application.ScreenUpdating = True
MsgBox ("Chyba: " & Err.Number & " - " & Err.Description), vbCritical, "Konec"
End Sub
citovat
#032960
avatar
dakujem

idem teda do makra, skusim to od syda, pripadne si spravim svojecitovat
#032961
avatar
Nedá mi to, musím se zeptat ;-).
Proč nechceš využít funkce POSUN a INDEX?
P.

Jedno z možných maticových řešení:
{=IFERROR(INDEX($B:$B;SMALL(KDYŽ($A:$A=F$3;ŘÁDEK($A:$A));ŘÁDEK($A1)));"")}citovat
#032975
avatar
pretoze tymto vzorcom vobec nerozumiem, nedokazal som ich pochopit tak aby som s nimy mohol robit a ak sa nieco take vyskytne , urobim radsej makro.
trochu som nad tym este premyslal, uz aj tie data si pripravujem makrom, tak ich pripravim lepsie - uz predspracovane pre zjednosunie tejto operacie. asi som len potreboval nechat si to prejst hlavou.
dakujem teda za nakopnutia 1citovat
#033029
avatar
Tady jeste jedno nakopnuti...
Lepsi reseni nez prve makro (kt. bych radsi smazal, ale nejde to..):


Sub test1()
Dim ws As Worksheet, a, el, lr As Long, target As Range
Application.ScreenUpdating = 0
Set ws = ActiveSheet
a = ws.Range("F3:I3")
lr = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
Set target = ws.Range("F4")
For Each el In a
With ws.Range("A3:B" & lr)
.AutoFilter field:=1, Criteria1:=el
.Resize(.Rows.Count - 1, 2).Offset(1, 0).Columns(2).Copy
target.PasteSpecial xlPasteValues
.AutoFilter
Set target = target.Offset(0, 1)
End With
Next el
Application.ScreenUpdating = 1
End Sub
citovat
#033031
avatar
este raz diki, uz som to vsak vyriesil samotnou pripravou dat a nikdy by ma nenapadlo pouzit filter. ked budem v praci, mozem poslat to ako som to nakoniec dal ja, sice tam mam trochu rozmyslania, ale pouzivam iba to co viem pouzit (ziadne offset ani bodky na zaciatku riadku, to je pre programatorov, ja som v tomto stary drevorubac a z pohladu na ktorykolvek riadok musi byt jasne o co ide 1 )citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje