Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
280to284
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
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro ausführen wenn .....

Makro ausführen wenn .....
22.07.2003 08:23:11
sigi
Hallo Spezialisten,
ich möchte gerne ein Makro ausführen lassen, wenn in einer Zelle
eine Eingabe getätigt wird.
In der Tabelle "Eingabe" wird in Zelle C4 entweder ein Text eingeben
dann soll sich das Blatt "Haus5 Mieten" einblenden, steht in der Zelle C4
kein Eintrag oder 0, soll sich das Blatt "Haus5 Mieten" ausblenden.
Leider funktioniert das nachstehende Makro nicht.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Eingaben.[C4] = " " Then
Sub Haus5_ausblenden()
Sheets("Haus5 Mieten").Visible = True
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Eingaben").Select
Range("D5").Select
End If
If Eingaben.[C4] = 0 Then
Sub Haus5_ausblenden()
Sheets("Haus5 Mieten").Visible = false
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Eingaben").Select
Range("D5").Select
End If
End Sub

Vielen Dank für eure Hilfe.
Gruß
Sigi

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen wenn .....
22.07.2003 10:25:01
sigi
Hallo Werner,
das Makro funktioniert doch, danke!
Was ist nun, wenn ich mehrere Zeilen mit so einem Makro ausführen lassen möchte, zum Beispeil c5;c6 usw.
Muss ich dann den Code jedesmal neu eingeben, bzw. in den vorhanden Code mit dazuschreiben.
Gruß
Sigi

AW: Makro ausführen wenn .....
22.07.2003 11:36:43
Sigi
Hallo Werner,
vielen Dank für Deine Hilfe,
funktioniert prima.
Gruß
Sigi

AW: Makro ausführen wenn .....
22.07.2003 11:09:05
WernerB.
Hallo Sigi,
Du könntest Dir das Makro z.B. nach folgendem "Strickmuster" gestalten, wobei die aufzurufenden Makros "Haus5_einblenden", "Haus5_ausblenden" u.ä. in einem normalen Standard-Modul (also nicht im Tabellenblatt-Modul abzulegen sind):

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim pruef As Boolean
If Intersect(Target, Range("C4:C6")) Is Nothing Then Exit Sub
If Target.Value <> "" And Not IsNumeric(Target.Value) Then pruef = True
If Target.Value = "" Or Target.Value = 0 Then pruef = False
Select Case Target.Address(False, False)
Case "C4"
If pruef = True Then Call Haus5_einblenden
If pruef = False Then Call Haus5_ausblenden
Case "C5"
If pruef = True Then Call Haus6_einblenden
If pruef = False Then Call Haus6_ausblenden
Case "C6"
If pruef = True Then Call Haus7_einblenden
If pruef = False Then Call Haus7_ausblenden
End Select
End Sub

Gruß WernerB.

Anzeige
AW: Makro ausführen wenn .....
22.07.2003 10:11:12
sigi
Hallo Werner B.
leider kann ich jetzt bei der Tabelle "Eingaben" nicht mehr in die Zelle c4 gehen, wenn ich es versuche springt der courser sofort zur Zelle D5 im selben Blatt.
Was mache ich nun?
Danke; für deine Hilfe
Gruß
Sigi

Korrektur
22.07.2003 09:24:49
WernerB.
Hallo Sigi,
nur die Makro-Überschrift mußte noch geändert werden (ohne "Selection"):

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address <> "$C$4" Then Exit Sub
If Range("C4").Value <> "" And Not IsNumeric(Range("C4").Value) Then
Sheets("Haus5 Mieten").Visible = True
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Eingaben").Select
Range("D5").Select
Exit Sub
End If
If Range("C4").Value = "" Or Range("C4").Value = 0 Then
Sheets("Haus5 Mieten").Visible = False
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Eingaben").Select
Range("D5").Select
End If
End Sub

Gruß WernerB.

Anzeige
AW: Korrektur
22.07.2003 09:38:42
Hajo_Zi
Hallo Werner
ich habe mir angewöhnt Code zu testen bevor ich ihn Poste (jedenfalls meistens).
Das solltest Du auch mal in betracht ziehen.
Sheets("Eingaben") ist nicht die aktive Tabelle.
Gruß Hajo

@Hajo
22.07.2003 09:49:55
WernerB.
Hallo Hajo
vielen Dank für Deinen hilfreichen Beitrag.
Ich habe mir seit meinem ersten Forumumsbeitrag ebenfalls angewöhnt, meinen Code zu testen, bevor ich ihn poste (jedenfalls meistens).
Hier war das aus zeitlichen Gründen leider nicht der Fall, deshalb habe ich dies auch entsprechend angemerkt.
Ich bitte diesbezüglich um Verständnis. Soll nie wieder vorkommen (jedenfalls meistens).
Gruß WernerB.

Anzeige
AW: Code testen
22.07.2003 09:56:06
Hajo_Zi
Hallo Werner
es ging nicht um die Korrektur sondern darum das der Code nicht läuft.
Sheets("Eingaben") ist nicht die aktive Tabelle.
Gruß Hajo

@Hajo
22.07.2003 11:14:43
WernerB.
Hallo Hajo,
wenn ich nicht ganz daneben liege, so hatte ich mich für Deinen ausgesprochen hilfreichen Beitrag bereits bedankt.
Gruß WernerB.

AW: @Code
22.07.2003 11:23:01
Hajo_Zi
Hallo Werner
ich wollte es nur noch mal wiedeholen das es keine Kritik an Deiner Korrektur war.
Der läuft nicht wenn Sheets("Eingaben") nicht die aktive tabelle ist. Diese Problem hat sich aber erledigt da ja geschrieben wurde das der Code läuft. In diesem Fall hätte die Tabelle nicht angegeben werden müssen.
Gruß Hajo

Anzeige
AW: Makro ausführen wenn .....
22.07.2003 08:51:21
WernerB.
Hallo Sigi,
versuchs mal so (ungetestet):

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address <> "$C$4" Then Exit Sub
If Range("C4").Value <> "" And Not IsNumeric(Range("C4").Value) Then
Sheets("Haus5 Mieten").Visible = True
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Eingaben").Select
Range("D5").Select
Exit Sub
End If
If Range("C4").Value = "" Or Range("C4").Value = 0 Then
Sheets("Haus5 Mieten").Visible = False
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Eingaben").Select
Range("D5").Select
End If
End Sub

Gruß WernerB.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige