Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel-VBA - ActiveX Steuerelent BILD aktualisieren
#1
Gleich vorweg : unter der Rubrik "Excel mit VBA" konnte ich leider nichts posten, deshalb hier. Falls es falsch ist, bitte entsprechend verschieben.

Hallo Gemeinde,

ich sitze seit einigen Stunden vor meinem Problem und komme nicht wirklich weiter. Ich habe eine halbwegs umfangreiche Excel-Datei mit 2 Tabellenblättern. In dem 1. Tabellenblatt befinden sich die Daten, welche ich benötige. Im 2. Tabellenblatt wird ein Dokument erzeugt, welches Daten aus vom 1. Tabellenblatt übernimmt.

Im 1. Tabellenblatt habe ich unter anderem 8 Spalten, welche bei Notwendigkeit mit einem X markiert werden. Im Formular auf dem 2. Tabellenblatt wird nun bei Auswahl eines bestimmten Standortes geprüft, ob in den der entsprechenden Zelle eine Markierung (X) vorhanden ist. Ist zum Beispiel am Standort XYZ die Zelle "Umgang mit offenem Feuer" markiert, dann soll das Formular das entsprechende Icon laden.
Grundsätzlich funktioniert auch alles, jedoch nicht in Echtzeit. Gehe ich meinen VBA-Code Schritt für Schritt durch, dann wird das Bild sofort aktualisiert, oder eben, falls in der entsprechenden Zelle keine Markierung ist, durch ein leeres Bild ersetzt.

Gibt es denn in VBA einen Befehl / Methode, welcher genutzt werden kann, um sämtliche Formular-Daten sofort zu aktualisieren?
Hier mal der entsprechende Code-Ausschnitt dazu (sorry, ich habe gestern erst mit VBA angefangen, weil ich ein Projekt in Excel umsetzen möchte!) :

Code:
Private Sub Worksheet_Activate()

Dim strPfad As String
Dim strDatei As String
Dim strDateiLeer As String

'aktueller Pfad des Excel-Worksheets
strPfad = Workbooks("Basisdaten.xlsm").Path

'Pfad zur Datei FEUER.BMP
strDatei = ThisWorkbook.Path & "\feuer.bmp"

'Pfad zu leerem BMP-Bild
strDateiLeer = ThisWorkbook.Path & "\leer.bmp"

'Abfrage, ob X im 1. Tabellenblatt gesetzt ist --> Ja: feuer.bmp / Nein: leer.bmp
If Tabelle2.Range("O2").Value = "x" Then
   Bild1_1.Picture = LoadPicture(strDatei)
Else
   Bild1_1.Picture = LoadPicture(strDateiLeer)
End If

'Hier würde ich gerne alles aktualisieren lassen

End Sub
Antworten Top
#2
Hallo, :19:

"Private Sub Worksheet_Activate()" ist ein Ereignismakro, das eintritt, wenn es an der richtigen Stelle ist und wenn dann auf das Tabellenblatt gewechselt wird. :21:

Soll bei Eingabe des "X" etwas passieren, musst du das "Private Sub Worksheet_Change(ByVal Target As Range)" nehmen. Das gehört in das Tabellenblatt, in welchem du das "X" eingibst - siehe hier... Exclamation
________
Servus
Case
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste