AW: Worksheet_calculate
26.06.2014 09:27:37
Hajo_Zi
VBA Editor DieseArbeitsmappe
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf DieseArbeitsmappe, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt in der gesamten Datei.
VBA Editor Modul
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, gehe auf Deine Datei, rechte Maustaste, Einfügen Modul, Code ins rechte Fenster kopieren, VBA Editor schließen.
Register Ansicht, Befehlsgruppe Makros, auf Makro klicken, Makros anzeigen, Makro auswählen und ausführen.
VBA Editor Tabelle
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
unter DieseArbeitsmappe
Option Explicit ' Variablendefinition erforderlich
Private Sub Workbook_Open()
'* H. Ziplies *
'* 16.01.10 *
'* erstellt von HajoZiplies@web.de *
'* http://Hajo-Excel.de/
'* und von Karin, http://Excel-Inn.de
'* Beverly_Forums@web.de *
' Array mit Adressen und eingetragen Werte füllen
' da Bilder schon eingefügt wurden müssen die
' nicht eingefügt werden
StArray = Array(Array("", "", "", "", "", ""), _
Array("A10", "A20", "A30", "A40", "A50", "A60"))
With Worksheets("Tabelle1")
For Loi = 0 To UBound(StArray(0), 1)
If Range(StArray(1)(Loi)) "" Then
' Zellinhalt auf Variable
StArray(0)(Loi) = Range(StArray(1)(Loi))
End If
Next Loi
End With
End Sub
unter der Tabelle
Option Explicit ' Variablendefinition erforderlich
Private Sub Worksheet_Calculate()
'* H. Ziplies *
'* 24.01.10 *
'* erstellt von HajoZiplies@web.de *
'* http://Hajo-Excel.de/
Dim StBild As String ' Variable für Bildname
Application.ScreenUpdating = False ' Bildschimaktualisierung aus
With Worksheets("Tabelle1")
For Loi = 0 To UBound(StArray(0), 1) ' Schleife über überwachte Zellen
If Range(StArray(1)(Loi)) "" _
And Range(StArray(1)(Loi)) StArray(0)(Loi) Then
' Zelle geändert
MsgBox 1
StArray(0)(Loi) = Range(StArray(1)(Loi))
End If
Next Loi
End With
Application.ScreenUpdating = True ' Bildschimaktualisierung ein
End Sub
in einem Modul
Option Explicit ' Variablendefinition erforderlich
Public StArray ' Variable für überwachte Zelladressen
Public Loi As Long ' Schleifenvariable