VLOOKUP...automaticky posun o dalsi stlpec Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

marek26
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: duben 08
Pohlaví: Nespecifikováno
Stav:
Offline

VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod marek26 » 05 bře 2012 21:30

ahoj

toto makro urobi to ze funkciu vlookup pouzije v bunke D2 a potiahne dole nakoniec tab.
Ako zabezpecit to ze nech automaticky o dalsi mesiac bude robit presne to iste s tym ze vlookup zacne na bunke marec cize E2.
Range("D2").Select by malo byt inak definovane napr. select first free cell after D2? neviem vsetko ostatne sa nemeni.
Najprv vlookup je za januar potom febr. .....dec 12x to musim robit. preto ak sa to da osetrit nejakou formulaciou "dalsia volna bunka v poradi"
dik

Workbooks.Open Filename:="C:\Users\marek\Desktop\ciel.xls"
Workbooks.Open Filename:="C:\Users\marek\Desktop\zdroj.xls"
Windows("ciel.xls").Activate
Range("D2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(C[-2],[zdroj.xls]zakaznik!C1:C2,2,0)"
Selection.AutoFill Destination:=Range("D2:D12")
Range("D2:D12").Select
Range("D2").Select
End Sub
Přílohy
zdroj.xls
(18.5 KiB) Staženo 41 x
ciel.xls
(18.5 KiB) Staženo 24 x
Naposledy upravil(a) marek26 dne 06 bře 2012 08:11, celkem upraveno 1 x.

Reklama
d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod d1amond » 05 bře 2012 23:05

POkud budeš chtít automatiku v posunu na další volnou buňku a následné doplnění, neobejde se to bez definice proměnných. Bylo by lepší dát sem příklad v excelovských sešitech. Jinak tu nahážem 10 procedur, protože to každý pochopí jinak a po svém.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

marek26
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: duben 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod marek26 » 06 bře 2012 08:14

tak som prilozil, prilohy (zdroj- odkial sa tahaju data) a (ciel - prihadzuju sa data na zaklade stlpca ico -bunka A) ale povode som myslel ze namiesto Range(D2) select bude formula +1 cell alebo tak ze to bude stacit.

dakujem

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod d1amond » 06 bře 2012 10:24

Ano, to by stačilo, ale jen pro aktivaci buňky. Jak by se informace o "začátku" předala dál? Nyní jsou všechny hodnoty Range napevno danné. Ale my je potřebujeme měnit podle první prázdně buňky.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

marek26
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: duben 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod marek26 » 06 bře 2012 10:48

existuje takova moznost?

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod d1amond » 06 bře 2012 12:37

Jinak bych to tu nepsal :wink: Podívám se na to večer.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

marek26
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: duben 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod marek26 » 07 bře 2012 22:07

asi je to troska slozitejsie

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod d1amond » 08 bře 2012 07:32

Není, jen jsem na to jetě nedostal :oops: Napravím to co nejdříve :wink:
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

marek26
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: duben 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod marek26 » 08 bře 2012 19:13

dakujem ti d1amond budem rad

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod d1amond » 08 bře 2012 19:35

Teď jsem na to koukal. Používáš VLOOKUP proč? Nebude někdy souhlasit Název položky ze sešitu zdroj s názvem položky v sešitu cíl neo opačně(počtem nebo názvem)? Pokud by to mělo kopírovat data 1:1, bylo by to opravdu jednoduché procházení a kopírování. Jinak to samozřejmě lze kontrolovat, zda název položky zdroje odpovídá názvu z cíle.
Rovněž by nebylo nutné hledat zdlouhavě následující prázdný sloupec, když jde o pravidelný měsíc. Stačí zjistit číslo aktuální měsíce a podle toho vybrat sloupec který se naplní daty.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

marek26
Level 1.5
Level 1.5
Příspěvky: 115
Registrován: duben 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod marek26 » 09 bře 2012 09:40

no potesim ta, nie podla nazvu ale podla pola "ico" stlpec A bude porovnanaci, (ico bude synchronizacny stlpec ), dalej
ano mas pravdu, januar je pevne stanoveny napr. stlpec "C" (febr="D", marec="E" ......dec="N")
tu dole su 2 prilohy aktualne ako by to mohlo byt:

v tab. CIEL su 2 listy(zosity) = "obrat" , "vynos"
prosim skus to nasledovne:
nech "obrat" (zdroj.xls stlp. "C") da do zosita "obrat" v ciel.xls stlp.C
nech "vynos" (zdroj.xls stlp. "D") da do zosita "vynos" v ciel.xls stlp.C

zdroj.xls stlp. "C"a"D" sa nemeni pozicne, v kazdom mesiaci je na rovnkej pozicii (februar bude tiez C,D,) tie udaje sa len aktualizuju

dufam ze je to zrozumitelne

dakujem
Přílohy
ciel.xls
(19.5 KiB) Staženo 17 x
zdroj.xls
(18.5 KiB) Staženo 36 x

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VLOOKUP...automaticky posun o dalsi stlpec

Příspěvekod d1amond » 09 bře 2012 23:37

ObratVynos.zip
(21.08 KiB) Staženo 17 x

Hotovo. Pro otestování jsem v ciel.xls na listu obrat dal do buňky B1 datum, který si můžeš zkusit měnit a zjišťovat co se děje.
Procedura je v sešitu ciel.xls. Na začátek je kontrola, zda je otevřený sešit zdroj.xlx (když ne, končí hláškou) a zda existují listy "obrat" a "vynos". Z datumu se vezme číslo měsíce = číslo sloupce pro naplnění daty.
Nezajímá mě počet ICO ve zdroj.xls, primárně procházím sloupec A v ciel.xls a následně hledám tyto hodnoty ve zdroj.xls - sloupec A. Pokud nenajdu shodu, pokračuji dalším řádkem(ICO) v ciel.xls. Lze libovolne do obou sešitů přidávat firmy, při neshodě se údaj přeskakuje.
pokud vše pojede jak má, smaž v kódu mes = Month(wsh2.Cells(1, 2).Value) ' a bude se brát aktuální měsíc - lze provádět v jednom měsíci opakovaně, naplnění se vždy aktuální hodnoty.

Kód: Vybrat vše

Option Explicit
Sub VynosyObraty()
Dim col As Byte 'radek pro doplneni
Dim mes As Byte 'mesic
Dim wbk1 As Workbook
Dim wbk2 As Workbook
Dim wsh1 As Worksheet 'zdroj
Dim wsh2 As Worksheet 'obrat
Dim wsh3 As Worksheet 'vynos
Dim r1 As Integer
Dim r2 As Integer
Dim ico As String
Dim rng As Range
Dim obrat As Variant
Dim vynos As Variant

Dim errMsg As String

Application.ScreenUpdating = False
On Error Resume Next

errMsg = ""

'nastaveni souboru
Set wbk1 = Workbooks("zdroj.xls")
Set wbk2 = ThisWorkbook

'nastaveni listu
Set wsh1 = wbk1.Worksheets(1)
Set wsh2 = wbk2.Worksheets("obrat")
Set wsh3 = wbk2.Worksheets("vynos")

On Error GoTo err
'kontroly sesitu a listu
If wbk1 Is Nothing Then
    errMsg = errMsg & Chr(10) & Chr(13) & "Nie je otvoreny zdrojovy zosit!"
    GoTo err
End If
If wsh2 Is Nothing Then
    errMsg = errMsg & Chr(10) & Chr(13) & "Harok obrat neexistuje!"
    GoTo err
End If
If wsh3 Is Nothing Then
    errMsg = errMsg & Chr(10) & Chr(13) & "Harok vynos neexistuje!"
    GoTo err
End If


mes = Month(wsh2.Cells(1, 2).Value) 'mes = CByte(Month(Date)) 'aktualni mesic

'podle mesice se nastavi cislo sloupce col
Select Case mes
Case 1: col = 4
Case 2: col = 5
Case 3: col = 6
Case 4: col = 7
Case 5: col = 8
Case 6: col = 9
Case 7: col = 10
Case 8: col = 11
Case 9: col = 12
Case 10: col = 13
Case 11: col = 14
Case 12: col = 15
End Select

'najde prvni radek s ico od konce
r2 = wsh2.Cells(Rows.Count, 1).End(xlUp).Row

Do While r2 > 1
    ico = Trim(CStr(wsh2.Cells(r2, 1).Value))
   
    'hleda shodu ico ve zdroji
    wsh1.Activate
    With wsh1.Range("A:A")
        Set rng = .Find(What:=ico, _
                  After:=.Cells(1), _
                  LookIn:=xlValues, _
                  LookAt:=xlWhole, _
                  SearchOrder:=xlByRows, _
                  SearchDirection:=xlPrevious, _
                  MatchCase:=False)
       
        If Not rng Is Nothing Then 'je nalezena shoda
            r1 = rng.Row
            obrat = .Cells(r1, 3).Value
            vynos = .Cells(r1, 4).Value
        Else: GoTo dalsi 'neni nalezena shoda - dalsi ico
        End If
    End With
   
    'doplneni vynosu a obratu do cilovych listu
    wsh2.Activate
    wsh2.Cells(r2, col).Value = obrat
    wsh3.Activate
    wsh3.Cells(r2, col).Value = vynos
       
    GoTo dalsi

dalsi:
    r2 = r2 - 1
Loop

Application.ScreenUpdating = True
wsh2.Activate

'regulerni konec procedury
Exit Sub

'konec procedury s chybou
err:
MsgBox errMsg, vbCritical
Exit Sub

End Sub


//nevěděl jsem jak chceš proceduru pouštět, takže zatím ručně přes Spustit makro. Dá se to doplnit na tlačítko, otevření sešitu, změny, atd...
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Windows Update automaticky přepisuje ovladače grafiky. Příloha(y)
    od kellne » 19 led 2025 17:02 » v Windows 11, 10, 8...
    9
    4670
    od kecalek Zobrazit poslední příspěvek
    22 led 2025 11:01
  • Telefon s opětovně automaticky nepřipojí přes Bluetooth k autu
    od Peťa » 12 pro 2024 13:55 » v Vše ostatní (z oblasti IT)
    0
    18545
    od Peťa Zobrazit poslední příspěvek
    12 pro 2024 13:55
  • NB DELL Latitude 7440,ale i někteé další problém s lepením.
    od Ketty02 » 10 črc 2024 18:55 » v Vše ostatní (hw)
    1
    2683
    od liborek Zobrazit poslední příspěvek
    10 črc 2024 19:52

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů