Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



filtrovani automaticky aktualizovanych dat

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: filtrovani automaticky aktualizovanych dat

Autor: timbir

15:55:17 09.07.2009

Díky, nakonec to stejně řeším přes msquery.

Citovat příspěvek

 

Re: filtrovani automaticky aktualizovanych dat

Autor: Gábina

16:07:27 17.06.2009

Zkuste Váš kód krokovat (F8)
a zjistit, kde je chyba.

Pokusím se přispět:

a)
Rozšířený filtr s možností kopírovat jinam
lze bohužel použít jen na stejném listě,
zadáte oblast kritérií a místo kopírování:

[code]
Worksheets("FiltrovanýList").Range(RangeToFilter).AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=KriteriaRange, _
CopyToRange:=OblastVýsledkyFiltru, Unique:=False
[/code]

Nastavíte kritéria v oblasti KriteriaRange,
řádek záhlaví a jeden (i dva) řádky pod ním
hodnoty filtrů pro požadované sloupce.
Filtrujete-li jeden sloupec bez použití
xlAnd či xlOr, tak jsou kritéria dvě buňky.
Výslednou oblast zadanou CopyToRange
si již překopírujete dle potřeby:

[code]
Worksheets("FiltrovanýList").Range("OblastVýsledkyFiltru").Copy _
Destination:=Worksheets("List1").Range("A10")
[/code]


b)
Další možnost je ADO, načíst data do Recordset,(Connection i na
zavřený sešit), použít Filter u Recordsetu,nebo sestavit výběrový
dotaz, dosazovat do něj kritéria anebo command s parametrem pro
kritéria.
QueryTable pošle výsledná data do listu
nebo vypíšete záhlaví procházením Fields
a použijete: Range.CopyFromRecordset

Citovat příspěvek

 

filtrovani automaticky aktualizovanych dat

Autor: Timbir

12:30:32 17.06.2009

Zdravim,
1)
Potreboval bych hlavne poradit, proc mi to po tomto kodu hlasi chybu "Run-time error '1004': metoda paste třídy worksheet selhala". Nekde jsem nasel, ze by to mohlo byt vyberem celeho listu az do 65536, ale nevim.:( Kazdopadne vyber funguje, akorat to hodi tu hlasku..)

Snazim se vyresit filtrovani dat, kdyz mam v jednotlivych listech cca 5000 radku? S tim ze na prvnim listu mam kriteria podle kterych vyhledavam v A2 - H2, kde pro jednotlive listy vyhledavam dle ruznych kriterii postupne (nejdrive treba B2 nebo D2 pro Finsko). Data v jednotlivych listech se mi automaticky obnovuji ze vzdaleneho zdroje. Tedy na list1 potrebuji dostat vyfiltrovana data z Finsko.
Pod tyto data pak budu davat vyfiltrovana data pro finsko pomoci klice D2, ale to uz nejak zvladnu.
Pokud vite o lepsim reseni, rad se priucim. Zkousel jsem to sice resit pomoci ms query, ale nejak mi to blblo.
Nepranyrujte me prosim za styl, teprve s makry zacinam(a vim ze to neni idealni).


Sub Vyhledani()
' Primarne vyvijeno na vyhledani dat ve Finsku
Dim vyhledano As Range
' Vyhledavani dle kriteria zadaneho na "List1" v bunce B2
Sheets("List1").Select
V bunce b2 je kod ATC
ATC = Range("B2")
' Vyber listu Finsko plus spusteni automatickeho filtru
Sheets("Finsko").Select
Range("A1").CurrentRegion.Select
Selection.AutoFilter Field:=4, Criteria1:=ATC, Operator:=xlAnd

' Vyhledani kopirovane oblasti
' Nejdrive opiseme hlavicku:
Range(Range("A1"), Range("IV" & ActiveCell.Row).End(xlToLeft)).Copy
Sheets("List1").Select
' Chci to zobrazit od 10 radku
Range("A10").Select
ActiveSheet.Paste
Range("A9").Select
ActiveCell.FormulaR1C1 = "Finsko, ATC"
' Nasledne vyhledane hodnoty v ruznych radcich, ktere muzou byt oddeleny
Sheets("Finsko").Select
lastCol = ActiveSheet.Range("a2").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a2:" & _
ActiveSheet.Cells(lastRow, lastCol).Address).Select
' Nekde jsem vycetl, ze by to mohlo byt tim, ze se berou i neviditelne bunky?....?
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("List1").Select
Range("A11").Select
ActiveSheet.Paste
End Sub

Díky moc, Ivo

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: