Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro automatisch ausführen

Forumthread: Makro automatisch ausführen

Makro automatisch ausführen
27.06.2007 12:08:00
Wrobel
Hallo Excelprofi´s,
kann man das unten aufgeführte Makro automatisch ausführen lassen wenn man in die Zelle D9 kommt?
Gruß
André

Sub Formelkopieren()
Dim wks As Worksheet
Set wks = ActiveSheet
wks.Unprotect
wks.Range("E3").Copy
wks.Range("E4:E8").PasteSpecial Paste:=xlPasteFormulas
wks.Protect
wks.Range("J14").Select
End Sub


Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro automatisch ausführen
27.06.2007 12:12:00
Beverly
Hi André,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$9" Then
Formelkopieren
End Sub


________________________________________

Anzeige
AW: Makro automatisch ausführen
27.06.2007 12:14:00
Hajo_Zi
Hallo Wrobel,
schreib es unter der Tabelle unter
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

AW: Makro automatisch ausführen
27.06.2007 13:54:05
Wrobel
Hi!
Vielen Dank für die Hilfe, allerdings bekomme ich eine Fehlermeldung.
"Fehler beim Kompilieren:
Mehrdeutiger Name: Worksheet_Change"
Habe z.Z. folgendes in meiner Tabelle enthalten:
Option Explicit

Private Sub ToggleButton1_Click()
Range("i10").Value = 2 + ToggleButton1.Value
ToggleButton1.Caption = IIf(ToggleButton1.Value, "Preisanfrage", "Bestellung")
End Sub



Private Sub ToggleButton2_Click()
Range("i" & ActiveCell.Row).Value = 2 + ToggleButton1.Value
ToggleButton1.Caption = IIf(ToggleButton1.Value, "Preisanfrage", "Bestellung")
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
Dim ii As Integer
For ii = 4 To 8                                           ' Zeilen 4 bis 8
If Not Intersect(Cells(ii, 5), Target) Is Nothing Then ' Spalte 5 = E
If BlattNam_Pruefung(Cells(ii, 5)) Then
Sheets(ii + 1).Name = Cells(ii, 5)               ' Blätter 5 bis 9
Else
MsgBox "E" & ii & " enthält keinen gültigen Blattnamen: " & vbLf & Cells(ii, 5)
End If
End If
Next ii
End Sub


Function BlattNam_Pruefung(BlaNam As String) As Boolean
' www.excelformeln.de/formeln.html?welcher=96
' www.xlam.ch/pos/rules.htm#Richtlinien%20f%FCr%20Arbeitsblatt-Namen
If BlaNam = "" Or Len(BlaNam) > 31 Then Exit Function
If Application.Evaluate("=SUM((MID(""" & BlaNam & """,COLUMN(1:1),1)" & _
"={"":"";""/"";""\"";""?"";""*"";""]"";""[""})*1)") > 0 Then Exit Function
BlattNam_Pruefung = True
End Function



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$9" Then
Formelkopieren
End Sub


Anzeige
AW: Makro automatisch ausführen
27.06.2007 14:13:00
Rudi
Hallo,
es kann nur eine _Change-Prozedur geben.

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 4
If Target.Row = 9 Then formelkopieren
Case 5
Select Case Target.Row
Case 4 To 8
If BlattNam_Pruefung(Target) Then
Sheets(Target.Row + 1).Name = Target
Else
MsgBox Target.Address & " enthält keinen gültigen Blattnamen: " _
& vbLf & Target.Value
End If
End Select
End Select
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige