Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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


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


________________________________________

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige