Mismas
05.05.15,15:06
Ahoj, potreboval by som poradit. Chcel by som dosiahnut to, že keď sa bude hodnota v bunke A1 rovnať X, tak sa mi vedľa zobrazí obrázok z nejakej definovanej cesty s názvom X.jpg, ale pokial bude hodnota bunky Z, tak sa zobrazi obrazok z toho isteho umiestnenia ale uz Z.jpg atď.
excel.sk
05.05.15,13:37
1. pre malicko obrazkov, napríklad niečo takéto:




Private Sub Worksheet_Change(ByVal Target As Range)
Dim SkumanaBunka As Range
Set SkumanaBunka = Range("A1")
Select Case SkumanaBunka
Case "x"
ActiveSheet.Shapes("Obrázok 1").Visible = True
ActiveSheet.Shapes("Obrázok 2").Visible = False
Case "z"
ActiveSheet.Shapes("Obrázok 1").Visible = False
ActiveSheet.Shapes("Obrázok 2").Visible = True
Case Else
MsgBox "Nepoznám"
End Select
End Sub



atď., treba to podľa hodnôt a počtu obrázkov upraviť

makro dajte priamo do kódu hárku, kde sa to má meniť

2. ak je obrázkov viac, tak napríklad (cestu treba konkretne zmenit, tato je pre Pracovnú plochu Uzivatel123 a priečinok obrazky):



Private Sub Worksheet_Change(ByVal Target As Range)
Dim SkumanaBunka As Range
Dim Pic As Object
Set SkumanaBunka = Range("A1")
For Each Pic In ActiveSheet.Pictures
Pic.Delete
Next Pic
On Error Resume Next
ActiveSheet.Pictures.Insert ("C:\Users\Uzivatel123\Desktop\obrazky\" & SkumanaBunka.Value & ".jpg")
End Sub



.
PaloPa
06.05.15,09:44
Ak by šlo o načítanie obrázku z ext súboru, tak makrom, ako napísal Excel.sk.

Ak by však išlo o výber, už načítaných obrázkov, dá sa to spraviť i bez makier, cez vzorce. Viď príklad.

KROK A:
1) urobíš si nejakú databázu obrázkov (najlepšie, ak prispôsobíš veľkosť bunky, tak aby sa tam obrázok zmestil celý)
2) postavíš sa na prvú bunku s obrázkom a urobíš CTRL+C
3) postavíš sa na cieľovú bunku (môže byť i v inom liste)
4) XL 2003 hlavná ponuka: Úpravy / Prilepiť prepojenie obrázka,
XL 2007 a viac karta Domov / Skupina Schránka / Prilepiť - rozklik / Ďalšie možnosti prilepenia / Prepojený obrázok

Ak si potom klikneš na prilepený obrázok, môžeš si všimnúť, že v riadku vzorcov je odkaz na adresu bunky pôvodného obrázku.
Problém je v tom, že odkaz sa dá zmeniť iba manuálne (resp. makrom). Ale dá sa to oblafnúť použitím pomenovanej oblasti, ale dynamického typu (pomocou fn Offset)


KROK B:
1) do niektorej bunky zabezpečíš jednoznačnú identifikáciu požadovaného obrázku (napríklad cez Validáciu v bunke, ako je v príklade)
2) cez hlavnú ponuku: Vložiť / Názov / Definovať pridáš názov pomenovanej oblasti a použiješ funkciu OFFSET


http://pc-prog.eu/phpBB3/download/file.php?id=186
Pakrako
06.05.15,15:48
Ďalšie čo nepznám a budem riešiť