Zavrieť

Porady

EXCEL VBA => prepojenie na iné excel zošity

Ahojte,
mám tabuľku, do ktorej potrebujem údaj z ďalších asi 50 excel zošitov.. snažila som sa to vyriešiť vzorcami, no nakoniec som sa rozhodla pre makro - ktoré ale bohužiaľ neovládam.. Našla som cez google nejaké makro, ktoré mi pomohlo, no nie úplne a potrebovala by som s ním pomôcť..

V skratke ide o to, že mi má makro vytvoriť cestu na prepojenie iných zošitov do dokumentu DOK-do buniek D6 : D13 (Stĺpec3)
=> vzorec je:
"C:\Users\Lenka\Desktop\[BR" & C6 & "_" & $B$3 & "_" & $B$2 & "_24h.xlsx]Spolu'!$A$2"
v prepojení sa má meniť iba bunka C6 (Stĺpec2).

Pre lepšie vysvetlenie pridávam aj prílohy:
"DOK" - dokument kde má byť makro
=> je tam makro, ktoré mi berie stále iba 1 číslo BR (C6)...
"BR20599_03_2020_24h" - excel zošit odkiaľ potrebujem údaj

ďalších cca 50 dokumentov sú rovnaké názvy, mení sa len číslo "BR20599"...

AKTUALIZACIA:
v prílohe je dokument "Mesačný prehľad zákaziek", kde sú 2 hárky a v nich popísané Info, aké makrá potrebujem.
taktiež sú v prílohe ďalšie potrebné dokumenty.
Naposledy upravil white_black : 03.04.20 at 02:49
Pravidlá a tipy
  • Každý móže napísať len 1 odpoveď. Neskor mozete svoju odpoveď vylepšiť.
  • Odpoveď má priniesť riešenie na otázku, vyvarujte sa hodnotenia otázky.
  • Odpoveď má byť viac o faktoch ako o názoroch.
Dalšie pravidla a tipy
    Ak potrebujete v otázke niečo upresniť, najskôr sa spýtajte na podrobnosti.
    Koncept slúži na uloženie rozpracovanej odpovede, koncept sa zobrazuje len Vám, až kým ho nezverejníte.
    Ak máte podobnú otázku, založte Novú otázku alebo Súvisiacu otázku.
    ❤ Buďte priateľskí ❤
    Sme súčasťou jednej komunity, ktorá si chce vzájomne pomáhať, rozdieľnosť je vítaná ak neubližuje!
    Usporiadať podľa času

    elninoslov je teraz online elninoslov

    elninoslov
    Code:
    Sub Auto_Open2()
    Dim BR()
    Dim MESIAC As String, ROK As String, ADRESAR As String, SUBOR As String
    Dim i As Long
    
    
    	Application.ScreenUpdating = False
    	Application.AutoCorrect.AutoFillFormulasInLists = False
    
    
    	ADRESAR = "C:\Users\Lenka\Desktop\"
    	
    	With ThisWorkbook.Worksheets("Hárok1")
    		MESIAC = Format(.Range("B3").Value, "00")
    		ROK = .Range("B2").Value
    
    
    		With .ListObjects("Tabuľka1").DataBodyRange
    			BR = .Columns(2).Value
    			With .Columns(3)
    				For i = 1 To UBound(BR, 1)
    					If Not IsEmpty(BR(i, 1)) Then
    						SUBOR = "BR" & BR(i, 1) & "_" & MESIAC & "_" & ROK & "_24h.xlsx"
    						If Len(Dir(ADRESAR & SUBOR, vbNormal)) > 0 Then
    							.Cells(i).Formula = "='" & ADRESAR & "[" & SUBOR & "]Spolu'!$A$2"
    						Else
    							.Cells(i).Formula = "nie je vytvorená tabuľka"
    						End If
    					Else
    						.Cells(i).Formula = " "
    					End If
    				Next i
    			End With
    		End With
    	End With
    
    
    	Application.ScreenUpdating = True
    	Application.AutoCorrect.AutoFillFormulasInLists = True
    End Sub
    EDIT:
    V prílohe je príklad pridania stĺpca F. Ak by to nebola Tabuľka, ale iba tabuľka, tak by sa vkladalo pole vzorcov naraz. Ale keďže je to Tabuľka (ListObject) tak v nej som neprišiel na rozumné riešenie vypnutia dopĺňania vzorcov v celom stĺpci, ktoré potom ruší vloženie rôznych vzorcov naraz. Aj keď popravde mi nieje jasné prečo sa tak objekt správa. Do voľných netabuľkových buniek to vloží kľudne pole vzorcov - vyskúšané. Ale do Tabuľky nie. Viac sa mi to skúmať nechce.
    Naposledy upravil elninoslov : 02.04.20 at 16:13
    4 komentáre - rozbaľ     zbaliť
    white_black Dakujem veeeeelmi pekne, funguje to =)
    white_black Ešte ma napadlo, dalo by sa pridať k makru to, že prepojenie "....Spolu'!$A$2" zada do stlpca 3, a do stlpca 4 prida toiste prepojenie akurát na konci by bola bunka F2 => "....Spolu'!$F$2"
    Budem ich tam potrebovat viac, len nech viem ako to tam mam zapisat....
    elninoslov Pridal som hore prílohu a info
    white_black Nespráva sa tak preto, že je to formátovaná Tabuľka? Každopádne ďakujem, veľmi mi to pomôže =) Prajem pekný deň
      zbaliť

    EXCEL VBA => prepojenie na iné excel zošity

    Porady, ktoré by vás mohli zaujímať

    Prihláste sa a sledujte len tie Porady, ktoré Vás zaujímajú.