|
| Indsætte billede med formel Fra : ejay1982 | Vist : 911 gange 55 point Dato : 09-02-10 09:53 |
|
Jeg ville høre om det er muligt at f.eks. bruge en hvis formel, så excel sætter et billede ind alt efter hvilken værdi man vælger?
| |
| Kommentar Fra : Rosco40 |
Dato : 09-02-10 13:25 |
|
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim shpTemp As Shape, lTop As Long, lTeft As Long, lWidth As Long, lHeight As Long
If Target.Address = "$A$1" Then
lTop = Range("A1").Top
lleft = Range("A1").Left
lWidth = 50
lHeight = 50
ActiveSheet.Pictures.Delete
sti = ThisWorkbook.Path
Select Case Target
Case Is < 1, 0
Set shpTemp = ActiveSheet.Shapes.AddPicture("C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\" & "\Sunset.jpg", True, False, lleft, lTop, lWidth, lHeight)
Case Is > 1, 0
Set shpTemp = ActiveSheet.Shapes.AddPicture("C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\" & "\Winter.jpg", True, False, lleft, lTop, lWidth, lHeight)
Case Else
Exit Sub
End Select
Set shpTemp = Nothing
End If
End Sub
| |
| Kommentar Fra : ejay1982 |
Dato : 09-02-10 13:38 |
|
Men jeg kan ikke "bare" skrive alt det i en celle og så virker det, vel?
| |
| Kommentar Fra : Rosco40 |
Dato : 09-02-10 14:17 |
|
Denne kode skal indsættes i arkets kodemodul.
Højreklik på arkfanen "ark1" , vælg vis kode.
Indsæt koden i det tomme felt.
Har du evt. lidt flere oplysninger værdier, billeder mm
Så skal jeg nok hjælpe med at rette til.
| |
| Kommentar Fra : ejay1982 |
Dato : 09-02-10 14:41 |
|
Værdierne er Reflex SB/SF, Reflex SB/2, Reflex SF, Reflex LS, Reflex US, Andet
og billedernes koder er:
F:\VVB\SB.jpg
F:\VVB\SB2.jpg
F:\VVB\SF.jpg
F:\VVB\LS.jpg
F:\VVB\US.jpg
og ved andet skal den ikke vise et billede hvis det er muligt
Kan man og gøre så det blive placeret i celle M5 - AA22?
| |
| Kommentar Fra : Rosco40 |
Dato : 09-02-10 14:56 |
|
Fyraften.
Lidt hjælp
If Target.Address = "$A$1" Then denne linje henviser til den celle du skriver værdien i.
lTop = Range("A1").Top Det er den celle billedet skal placeres i.
lleft = Range("A1").Left
Case Is < 1, 0 den værdi der indsætter billedet.
AddPicture("C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\" & "\Sunset.jpg",
Hvor billedet ligger på computeren
Jeg kigger på det lidt senere i dag.
| |
| Kommentar Fra : ejay1982 |
Dato : 09-02-10 16:01 |
|
Jeg har prøvet men når jeg indtaster en værdi i feltet kommer der en fejl op:
Run-time error '6':
Overflow
| |
| Kommentar Fra : Rosco40 |
Dato : 09-02-10 20:28 |
|
M5 - AA22
Er det billedets str.
| |
| Kommentar Fra : Rosco40 |
Dato : 09-02-10 20:35 |
|
Prøv denne
[CODE][/Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim shpTemp As Shape, lTop As Long, lTeft As Long, lWidth As Long, lHeight As Long
If Target.Address = "$A$1" Then
lTop = Range("M5").Top
lleft = Range("M5").Left
lWidth = 710
lHeight = 280
ActiveSheet.Pictures.Delete
sti = ThisWorkbook.Path
Select Case Target
Case "Reflex SB/SF"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SB.jpg", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex SB/2"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SB2.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case Else
Exit Sub
End Select
Set shpTemp = Nothing
End If
End Sub]
| |
| Kommentar Fra : ejay1982 |
Dato : 10-02-10 09:29 |
|
Hvis jeg skriver den direkte ind laver den, den første og den sidste linje rød
| |
| Kommentar Fra : Rosco40 |
Dato : 10-02-10 10:14 |
|
Hej Jeg forsøgte at indsætte det i en kodesektion.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim shpTemp As Shape, lTop As Long, lTeft As Long, lWidth As Long, lHeight As Long
If Target.Address = "$M$5" Then
lTop = Range("AA22").Top
lleft = Range("AA22").Left
lWidth = 710
lHeight = 280
ActiveSheet.Pictures.Delete
sti = ThisWorkbook.Path
Select Case Target
Case "Reflex SB/SF"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SB.jpg", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex SB/2"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SB2.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case Else
Exit Sub
End Select
Set shpTemp = Nothing
End If
End Sub
Den er nu lavet så teksten skrives i M5
og billedet indsættes i AA22
| |
| Kommentar Fra : Rosco40 |
Dato : 10-02-10 10:24 |
|
Disse linjer styrer billedets størrelse.
lWidth = 710
lHeight = 280
| |
| Kommentar Fra : Rosco40 |
Dato : 10-02-10 10:34 |
|
Alle billeder
[Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim shpTemp As Shape, lTop As Long, lTeft As Long, lWidth As Long, lHeight As Long
If Target.Address = "$M$5" Then
lTop = Range("AA22").Top
lleft = Range("AA22").Left
lWidth = 450
lHeight = 260
ActiveSheet.Pictures.Delete
sti = ThisWorkbook.Path
Select Case Target
Case "Reflex SB/SF"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SB.jpg", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex SB/2"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SB2.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex SF"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SF.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex LS"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\LS.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex US"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\US.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case Else
Exit Sub
End Select
Set shpTemp = Nothing
End If
End Sub][/CODE]
| |
| Kommentar Fra : Rosco40 |
Dato : 10-02-10 10:34 |
|
Kode Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim shpTemp As Shape, lTop As Long, lTeft As Long, lWidth As Long, lHeight As Long
If Target.Address = "$M$5" Then
lTop = Range("AA22").Top
lleft = Range("AA22").Left
lWidth = 450
lHeight = 260
ActiveSheet.Pictures.Delete
sti = ThisWorkbook.Path
Select Case Target
Case "Reflex SB/SF"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SB.jpg", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex SB/2"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SB2.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex SF"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\SF.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex LS"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\LS.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case "Reflex US"
Set shpTemp = ActiveSheet.Shapes.AddPicture("F:\VVB\" & "\US.jpg ", True, False, lleft, lTop, lWidth, lHeight)
Case Else
Exit Sub
End Select
Set shpTemp = Nothing
End If
End Sub |
| |
| Kommentar Fra : ejay1982 |
Dato : 10-02-10 10:36 |
|
Hmmm.... det virker ikke helt, den kommer ikke med nogen fejl men den sætter heller ikke billedet ind
| |
| Kommentar Fra : ejay1982 |
Dato : 10-02-10 10:57 |
|
Virker stadig ikke.... tror jeg giver op
, men tak for hjælpen alligevel
| |
| Du har følgende muligheder | |
|
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
| |
|
|