Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1100to1104
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
Inhaltsverzeichnis

Makro ausführen wenn Zellwert sich ändert

Makro ausführen wenn Zellwert sich ändert
joko
Hallo alle zusammen,
ich hab da leider ein Problem.
Das Makro läuft, wenn ich es manuell starte richtig, wenn ich es per Atuomatik starte falsch.
Ich möchte:
Im Blatt 2 (FEB) die Spalte für den 29. Tag Jahreszahlabhängig ein und ausblenden.
Jahreszahl wird veränder im Blatt1 Zelle A6.
Wäre schön wenn mir jemand helfen könnte das hin zu kriegen.
Im voraus schon mal herzlichen Dank.
John
Folgende Mkros habe ich eingestellt:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$6" Then
SpaltenAusblenden
End If
End Sub

und
Sub SpaltenAusblenden()
Application.ScreenUpdating = False
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
For blatt = 1 To Sheets.Count - 1
i = 29
Sheets(blatt).Select
For i = 29 To 31
On Error Resume Next
If Month(Cells(8, 3))  Month(Cells(8, i + 2)) Then Cells(8, i + 2).EntireColumn. _
Hidden = True Else
If Month(Cells(8, 3)) = Month(Cells(8, i + 2)) Then Cells(8, i + 2).EntireColumn.Hidden  _
_
= False
Next i
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Next blatt
'   Sheets(1).Select
Application.ScreenUpdating = True
End Sub

AW: Makro ausführen wenn Zellwert sich ändert
04.09.2009 20:53:15
Werner
Hi,
was genau läuft denn falsch?
Auf den ersten Blick sehe ich, dass du nur am Anfang den Schutz für das aktive Blatt (umständlich) aufhebst.
mfg Werner
AW: Makro ausführen wenn Zellwert sich ändert
04.09.2009 21:05:18
joko
Hallo Werner,
ich will es noch mal ausführlicher beschreiben.
Ich habe nen Kalender, 12 Blätter. Alle Blätter schreibgeschützt.
Wenn ich ein Schaltjahr habe, hat der Februar Blatt2 ja 29 Tage, sonst eben 28.
Im 1. Blatt verändere ich die Jahreszahl für alle 12 Blätter.
Tricki ist, dass das Makro manuell gestartet toll läuft.
Leider aber nicht, wenn ich es per Veränderung der Zelle A6 im Blatt 1 laufen lasse.
Ich hänge die Tabelle mal an.

Die Datei https://www.herber.de/bbs/user/64224.xls wurde aus Datenschutzgründen gelöscht

Gruß
John
Anzeige
AW: Makro ausführen wenn Zellwert sich ändert
04.09.2009 21:18:18
Werner
Hi,
verstehe ich nicht, du musst doch nur das Blatt Februar ändern, wozu dann alle Blätter durchlaufen?
mfg Werner
Lösungsvorschlag?
04.09.2009 21:27:06
joko
Danke für den Hinweis,
das löst aber leider mein Problem nicht.
Hast du einen Lösungsansatz?
Gruß
Joko
AW: Lösungsvorschlag?
04.09.2009 21:37:46
Werner
Hi,
Code ins Modul vom Blatt Januar:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$6" Then
With Tabelle2
.Unprotect
.Columns(31).Hidden = [a6] Mod 4  0
.Protect
End With
End If
End Sub
mfg Werner
wow - super - danke
04.09.2009 22:39:19
joko
danke Werner
Danke Sepp - was war falsch?
04.09.2009 21:37:27
joko
Hallo Sepp,
danke für die Antwort.
Die Datei hab ich runter geladen und es funzt prima.
Um was zu lernen wäre es hilfreich, wenn du mir noch sagen könntest was ich falsch hatte.
Danke
John
AW: Danke Sepp - was war falsch?
04.09.2009 21:55:53
Josef
Hallo John,
erstens brauchst du nicht alle Tabellen durchlaufen, wenn du nur in einer etwas ändern willst.
Zweitens sind die Spalten für 30./31. im Februar sinnlos.
Drittens kann man gleich das Datum der entsprechenden Zelle auswerten und je nach Monat die Spalte ein/aus-Blenden.
Gruß Sepp

Anzeige
thx
04.09.2009 22:37:41
joko
thx

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige