Betrifft: Makro startet nicht - Bezug auf eine Formel
von: Andreas Meier
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myPict As Picture
Dim PictureLoc As String
Dim myPict2 As Picture
Dim PictureLoc2 As String
If Target.Address = Range("D8").Address Then
ActiveSheet.Pictures.Delete
PictureLoc = "V:\ordner1\" & Range("D8").Value & ".jpg"
PictureLoc2 = "V:\ordner2\" & Range("D8").Value & ".jpg"
With Range("B27")
Set myPict = ActiveSheet.Pictures.Insert(PictureLoc)
'.RowHeight = myPict.Height
myPict.Top = .Top
myPict.Left = .Left
myPict.Height = 310
myPict.Width = 310
'myPict.Placement = xlMoveAndSize
End With
With Range("H27")
Set myPict2 = ActiveSheet.Pictures.Insert(PictureLoc2)
'.RowHeight = myPict2.Height
myPict2.Top = .Top
myPict2.Left = .Left
myPict2.Height = 120
myPict2.Width = 120
'myPict2.Placement = xlMoveAndSize
End With
End If
End Sub
Betrifft: AW: Makro startet nicht - Bezug auf eine Formel
von: 1712932.html
Geschrieben am: 13.09.2019 14:38:17
benutze
Private Sub Worksheet_Calculate()
was aufwendig ist.
Beispiele dazu
http://hajo-excel.de/vba_bild_auswahl.htm
Betrifft: AW: ActiveX-Textfeld
von: 1712933.html
Geschrieben am: 13.09.2019 14:40:54
Hallo,
bekanntlich startet der "Change-Event" nicht, wenn sich der Wert einer Zelle durch eine Formel ändert.
Ein Work-around ist, ein (unsichtbares) ActiveX-Textfeld anzulegen und mit der gewünschten Zelle zu verbinden. Das Text-Feld "Change-Event" erkennt Änderungen auch per Formel.
mfg
Betrifft: AW: Makro startet nicht - Bezug auf eine Formel
von: 1712934.html
Betrifft: AW: Makro startet nicht - Bezug auf eine Formel
von: 1712955.html
If Target.Address = Range("TextBox1").Address Then
ActiveSheet.Pictures.Delete
PictureLoc = "V:\ordner1\" & Range("TextBox1").Value & ".jpg"
Betrifft: AW: Change-Event der Textbox
von: 1712965.html
Geschrieben am: 13.09.2019 16:04:44
Hallo,
ein "Sheet_Change-Event" ist nicht möglich, aber die ActiveX-Textbox hat ebenfalls ein "Change-Event".
mfg
Betrifft: AW: Makro startet nicht - Bezug auf eine Formel
von: 1712966.html
Geschrieben am: 13.09.2019 16:06:40
HI
wenn du über die TextBox gehst, muss der Code natürlich ins ChangeEvent der TextBox
eine Prüfung a la "If Target.Address = ..." ist nicht erforderlich, weil du jetzt kein allgemeines Change-Event für alle Zellen mehr hast, sondern du hast ein Spezifisches Change-Event für genau diese eine TextBox, und wenn dieses auslöst, musst auch immer das Makro ausgeführt werden, weil sich dann diese Zelle geändert hat.
demzufolge gibt es auch keine TARGET-Variable mehr, weil ja eindeutig ist, was sich geändert hat, nämlich der Wert dieser TextBox.
Gruß Daniel