Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno excel makro

Dobrý den všem,

prosím Vás o pomoc s vytvořením makra

mám 2 sloupce s daty na listu "Díly"
v 1. sloupci je kód zákazníka (například sloupec A)
v 2. sloupci číslo dílu (například sloupec B)

chtěl bych na druhém listu pomocí vyhledávání hledat v listu "díly":
uživatel zadá kód zákazníka například do buňky C5 a po stisku ikony (obrázku s lupou) makro vyhledá a vyplivne do buňky vedle číslo dílu (například do buňky C6).

kód zákazníka a číslo dílu je ve stejném řádku

ev3notze3

Děkuji

Předmět Autor Datum
Tak už to z větší části mám, ale nechci vybírat data z aktivního listu nábrž z jiného ale stále mi t…
Brouk11 26.09.2016 12:12
Brouk11
načo je k tomuto účelu dobré makro, keď je na to funkcia SVYHLEDAT (VLOOKUP)?
robert13 26.09.2016 13:52
robert13
Protoze to chce az po zmacknuti cudlitka?
Dwane Dibbley 26.09.2016 13:54
Dwane Dibbley
tak nech si nadefinuje výsledkový stĺpec neviditeľný a na čudlík ho zviditeľní. Keď už silou mocou m…
robert13 26.09.2016 13:55
robert13
Moc to komplikujes :D Zvládneš mi to předělat tak aby mi to hledalo na určitém sešitu ne na tom akti…
Brouk11 26.09.2016 14:34
Brouk11
http://smallbusiness.chron.com/use-vlookup-differe nt-sheets-excel-40058.html (pokud to chces bez cu…
Dwane Dibbley 26.09.2016 14:41
Dwane Dibbley
nie, to je moc komplikované ;-)
robert13 26.09.2016 15:01
robert13
Toto nefunguje ani na aktívnom hárku, nieto ešte na inom... A sorry, sotvakto sa bude kvôli tebe reg…
robert13 26.09.2016 15:00
robert13
už to mám hotové :) poslední
Brouk11 28.09.2016 06:04
Brouk11

Tak už to z větší části mám, ale nechci vybírat data z aktivního listu nábrž z jiného ale stále mi to bere z aktivního, nevíte jak to upravit aby to bralo z jiného?

Děkuji

Sub díly()

Dim rngVis As Range
Dim VisCell As Range
Dim sFind As String

sFind = InputBox("Naskenujte zákaznické číslo.")

If Len(Trim(sFind)) = 0 Then Exit Sub 'Pressed cancel

Application.ScreenUpdating = False
With Intersect(Sheets("Díly").UsedRange, Sheets("Díly").Columns("A"))
.AutoFilter 1, sFind
On Error Resume Next
Set rngVis = .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
.AutoFilter
End With
Application.ScreenUpdating = True

If rngVis Is Nothing Then
MsgBox sFind & " Nenalezeno."
Else
For Each VisCell In rngVis.Cells
MsgBox "Naskenované číslo: " & VisCell.Sheets("Díly").Cells(VisCell.Row, "A").Text & vbNewLine & _
"Vyhledáno: " & VisCell.Sheets("Díly").Cells(VisCell.Row, "B").Text
Next VisCell
End If

End Sub

tak nech si nadefinuje výsledkový stĺpec neviditeľný a na čudlík ho zviditeľní. Keď už silou mocou mačkať čudlík...
Alebo si určí napr bunku A1 na zápis "scanovaného" čísla a čudlíkom spustí makro, ktoré naplní scanované číslo do prvej prázdnej bunky stĺpca A a do stĺpca B k tomu naplní vzorec SVYHLEDAT... a je to aj s mačkaním :-D a keď veľmi chce, môže zároveň prelepiť výsledok vzorca jeho vlastnou hodnotou

Zpět do poradny Odpovědět na původní otázku Nahoru