Stránka 1 z 1

načítání řádku z jiného než aktivního listu

Napsal: 18 bře 2015 20:43
od crgo77
Zdravím všechny,
prosím o radu s kterou si lámu hlavu.

v sešitu mám dva listy-každý list obsahuje jinou databázi,tedy mám dvě databáze jediný rozdíl bude v tom,že druhá databáze bude skryta.
V obou databázích mám shodný pouze první sloupec - sloupec A.

Nyní můj problém - potřeboval bych načíst do userformu řádek který mám v druhé databázi(ve skryté databázi).

Načíst hodnoty z řádku v aktivním listu dokážu,ale nevím jak si poradit s načítáním z jiného listu.

Nevěděl by někdo jak na to?

Předem děkuji za rady a pomoc.

Re: načítání řádku z jiného než aktivního listu

Napsal: 19 bře 2015 12:26
od Azuzula
Pro načítání dat z neaktivního listu je potřeba se odkazovat přímo na název listu (nebo na jeho index). Potom už lze snadno číst z buněk, zapisovat takhle přímo nejde.

Kód: Vybrat vše

promenna = Worksheets("List1").Range("A1")

Re: načítání řádku z jiného než aktivního listu

Napsal: 24 bře 2015 14:02
od crgo77
Zdravím,
snažím se porozumět kódu který mi byl nabídnut,ale vůbec jsem ho nepochopil.
Do jiného než aktivního listu dokážu zapsat,ale nevím jen jak načíst potřebný řádek.
Jak jsem již psal - společné budou jen sloupce "A" ale nebudou úplně stejně seřazeny proto nevím jak načítat hodnoty z jiného listu - nikdy nebudu vědět na kterém řádku se hledanýřádek nachází.
Děkuji za rady

Re: načítání řádku z jiného než aktivního listu

Napsal: 24 bře 2015 16:03
od cmuch
Nabízený kód udělá to, že do proměnné "promenna" vloží hodnotu z listu1 buňky A1.

Pokud se chce hledat určitá hodnota tak lze použít toto a upravit pro své potřeby.

Kód: Vybrat vše

Private Sub Find()
  Dim FBlk As Range, FCll As Range, Response As Byte
  Dim What As Variant
 
  What = Range("k3").Value      'co se bude hledat
 
  With Worksheets("List1")      'na jakem listu
 
      Set FBlk = .Range("A:A")  'kde se bude hledat
      Set FCll = FBlk.Find(What, LookIn:=xlValues, LookAt:=xlWhole)
 
      If Not FCll Is Nothing Then
        Response = MsgBox("Hledana hodnota je na " & FCll.Row & "radku.", vbInformation)
      Else
        Response = MsgBox("Hledana hodnota nebyla nalezena", vbInformation)
      End If
  End With
  Set FCll = Nothing
  Set FBlk = Nothing
End Sub

Re: načítání řádku z jiného než aktivního listu

Napsal: 24 bře 2015 16:18
od Azuzula
Jo takhle, no, cmuch už byl o něco rychlejší, takže nemá smysl abych sem dávala totéž.

Re: načítání řádku z jiného než aktivního listu

Napsal: 25 bře 2015 19:18
od crgo77
Zdravím,
děkuji za bleskovou reakci,ale pokud jsem pochopil správně napsaný kód,pak se mi zobrazí do msgboxu pouze číslo řádku a neřeší to můj problém s tím,že bych to potřeboval načíst do userform.
Přesto děkuji za radu a pokusím se o úpravu kódu podle mých potřeb.
Ještě jednou děkuji,jsem rád,že existuje takovéhle fórum kde dokážou poradit.

Re: načítání řádku z jiného než aktivního listu

Napsal: 25 bře 2015 19:49
od cmuch
O userformu nebyla nikde zmínka, neva.

Jinak tento kód si dej do userformu a místo msgboxu si dej třeba TextBox1.text

Re: načítání řádku z jiného než aktivního listu

Napsal: 25 bře 2015 20:27
od crgo77
Přesně takhle přemýšlím,že bych se to pokusil upravit.
Děkuji za reakci a radu.
O userformu jsem se zmínil ihned při založení tématu

"Nyní můj problém - potřeboval bych načíst do userformu řádek který mám v druhé databázi(ve skryté databázi)."

Přesto děkuji za pomoc a rady.