< návrat zpět

MS Excel


Téma: Max řádek v externím sešitě rss

Zaslal/a 8.6.2020 20:12

Merlin99Zdravím
mám ještě jednu otázku jestli někdo neporadí jak z jednoho sešitu zjistit poslední zaplněný řádek ve sloupci B v šešitu druhém který je zavřený a je úplně na jiné adrese v PC.
Myslel jsem nějak takto ale nedaří se mi tam vložit tu adresu k sešitu.

Na této adrese je druhý soubor ze kterého potřebuji dostat číslo posledního zaplněného řádku ve sloupci B.
MaxRadek = C:\Users\mer\OneDrive\Plocha\Data\....

((Bez cesty je to snadné..
MaxRadek = List1.Cells(Rows.Count, 2).End(xlUp).Row ))
Děkuji za radu 9

Zaslat odpověď >

#046831
Stalker
Ahoj Martine, není to sice úplně bez otevření sešitu (sešit se otevře skrytě na pozadí), ale mělo by to fungovat.
Samozřejmě si uprav cestu k souboru.
Sub Test1()

Dim Zdroj As Workbook
Dim MaxRadek As Long

Set Zdroj = GetObject("c:\Users\Intel i3\Desktop\test.xlsx")

MaxRadek = Zdroj.Worksheets("List1").Cells(Rows.Count, 2).End(xlUp).Row
Debug.Print MaxRadek

Zdroj.Close
Set Zdroj = Nothing
End Sub
citovat
#046832
Merlin99
Ahoooj Stalker
Funguje to perfektněěě a to se hodí
děkujuu mooc 5 5citovat
#046840
elninoslov
Toto bude rýchlejšie ako GetObject. Vytvorí si to dočasne definovaný názov, vypočíta, zmaže:
Sub Test2()
Dim Subor As String, Cesta As String, List As String, Stlpec As String, Posledny As Long

Cesta = "Z:\"
Subor = "Dostupnost.xlsx"
List = "Ověření"
Stlpec = "$B:$B"

With ThisWorkbook
On Error Resume Next
.Names("POSLEDNY_R").Delete
On Error GoTo 0
.Names.Add "POSLEDNY_R", "=LOOKUP(2,1/('" & Cesta & "[" & Subor & "]" & List & "'!" & Stlpec & "<>""""),ROW($A:$A))"
Posledny = ExecuteExcel4Macro("'" & .FullName & "'!" & "POSLEDNY_R")
.Names("POSLEDNY_R").Delete
End With

MsgBox Posledny
End Sub


a nemôžem zabudnúť na moje obľúbené "dolovanie dát" cez vzorec vložený do určenej bunky, prečítaný a zmazaný (to bude asi ešte rýchlejšie):
Sub Test3()
Dim Subor As String, Cesta As String, List As String, Stlpec As String, Posledny As Long

Cesta = "Z:\"
Subor = "Dostupnost.xlsx"
List = "Ověření"
Stlpec = "$B:$B"

With ThisWorkbook.ActiveSheet.Range("A1")
.Formula = "=LOOKUP(2,1/('" & Cesta & "[" & Subor & "]" & List & "'!" & Stlpec & "<>""""),ROW($A:$A))"
Posledny = .Value
.Clear
End With

MsgBox Posledny
End Sub
citovat
#046842
Merlin99
elninoslov
Test2 a Test3 funguje skvěle, DÍKY za nápad. Uložím do sbírky
DÍKY MOC 5citovat

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

rozpis zápasů hráčů pro utkání dvou týmů

Anonym • 25.5. 11:54

Hromadné přepsání

elninoslov • 24.5. 10:29

Hromadné přepsání

Nomi • 24.5. 8:32

Index - každý rok začít od 1 Power Query

Alfan • 23.5. 9:17

nepřímý odkaz

elninoslov • 23.5. 0:00

nepřímý odkaz

bordov • 22.5. 18:35

vrácené hodnoty

Anonym • 22.5. 15:46