[VBA]Image on value

Pagina: 1
Acties:

Vraag


  • KipCurreh
  • Registratie: Oktober 2013
  • Laatst online: 08-10 10:36

KipCurreh

Nightcrawler

Topicstarter
Mijn vraag
Ik had graag in een excel sheet in een bepaalde cel afbeeldingen (vlaggen) gehad die veranderen naargelang een text (naam land) in een andere cel.

Hiervoor had ik graag een VBA code gebruikt, had eerst een manier zonder VBA maar naar het einde toe (meerdere afbeeldingen, wederkerende etc) kwam ik in de problemen..
Ik hoop het met een VBA code op te lossen

Relevante software en hardware die ik gebruik
Excel 2013 - Macro-enabled worksheets

Wat ik al gevonden of geprobeerd heb
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Public Function PictureLookup(Value As String, Location As Range)

Application.Volatile

Dim lookupPicture As Shape
Dim sheetName As String
Dim picTop As Double
Dim picLeft As Double

sheetName = Location.Parent.Name

'Delete current picture if exists
For Each lookupPicture In Sheets(sheetName).Shapes
    If lookupPicture.Name = "PictureLookup" Then
        lookupPicture.Delete
    End If
Next lookupPicture

'Get position of cell calling the UDF
picTop = Location.Top
picLeft = Location.Left

'Add the picture in the right location
Set lookupPicture = Sheets(sheetName).Shapes.AddPicture _
("C:\Users\marks\Documents\Flags\" & Value & ".png", msoFalse, msoTrue, picLeft, picTop, -1, -1)

'change the picture name
lookupPicture.Name = "PictureLookup"

PictureLookup = ""

End Function


met =Picturelookup(A2,B2) komt dan de vlag in B2 als A2 een naam van een land heeft.

Deze werkt eigenlijk heel goed, maar het enige probleem dat ik hier mee heb is de verwijzing naar de folder waar de vlaggen in staan..
Ik veronderstel dat dit niet zal werken wanneer de file op een andere pc staat ?

Ik heb de vlaggen en namen in een andere sheet staan, dus ik zou enkel de verwijzing willen veranderen. Dus niet naar een folder path, maar naar een tabel + afbeeldingen in een andere sheet binnen dezelfde workbook.
Is dit mogelijk ?

Momenteel heb ik de vlaggen in A1:A34 staan, landen in B1:B34 en de namen van de images (picture 1, etc) in C1:C34
Als ik =VLOOKUP(A1;PicTable;2;FALSE) gebruik, verandert de cel wel al maar enkel in text.
bv. Als ik in A1 Argentina invul, komt er in de cel picture 1 te staan, aangezien die in de tabel op 1 staat..
Nu dus enkel een vlagje ipv die picture 1 krijgen

Steam | Ryzen 7 3700X Sapphire Pulse RX7900 GRE 16GB Asus Prime X470 Pro