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
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
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