Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1252to1256
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

Bitte um VBA Korrektur

Bitte um VBA Korrektur
Excelfloh

Hallo liebe Excel Fans,ich habe eine komplexe Tabelle mit umfangreichen Formeln,Verweisen und Formatierungen aufgebaut - und sie funktioniert ! Sie beinhaltet meine ersten VBA Versuche ( Aus dem Netz zusammen -gestoppelt ) diese funktionieren auch - sind aber stümperhaft.Vielleicht kann mir jemand behilflich sei und mein VBA z.B. mit Korrekturen oder Zusammenfassungen etc.etwas optimieren.
Herzlichen Dank im Voraus -
Im Sinne dieses Wortes -Excelfloh
------------------------------------------------------------------------------------------------------------------------
Option Explicit

Private Sub Worksheet_change(ByVal Target As Range)
Application.ScreenUpdating = False
If Range("D15").Text  "Bitte einen Tag wählen" Then Range("F15").Select               Das dü  _
_
rfte ok sein
If Range("F15").Text  "Bitte einen Monat wählen" Then Range("H15").Select           Das dü _
rfte ok sein
If Range("H15").Text  "Bitte ein Jahr wählen" Then Range("A70").Select                  Das dü _
_
rfte ok sein
If Range("D69").Text = 1 Then Rows("10").Hidden = False                                          _
_
Hier geht es los :
If Range("D69").Text = 1 Then Range("9:9,11:11").EntireRow.Hidden = True              Die  _
nachstehenden
If Range("D69").Text = 2 Then Rows("11").Hidden = False                                          _
_
Werte (Text =1) usw.
If Range("D69").Text = 2 Then Range("9:9,10:10").EntireRow.Hidden = True              werden  _
mit Formeln
If Range("G64").Text = 4 Then Rows("9").Hidden = False                                           _
_
iniziiert.Diedazugehörigen
If Range("G64").Text = 4 Then Range("10:10,11:11").EntireRow.Hidden = True           Ereignisse  _
_
sollen nur bei
If Range("D83").Text = 1 Then Range("38:38,40:40,41:41").EntireRow.Hidden = True  einer Wertä _
nderung ein
_
_
treten und NICHT bei
If Range("H73").Text = 1 Then Call Makro_Grafik_ein                                              _
_
jedem Target Ereignis. !!!
If Range("H73").Text  1 Then Call Makro_Grafik_aus  (Grafikbelange evtl.mit Iif ?)
If Target.Address = "$F$2" Then					   Das dürfte ok sein
If Range("D3").Value = 1 Then Call Makro_Archiv_neutralisieren			   Das dürfte ok sein
If Range("D2").Value = 1 Then Call Makro_Datencopy_Familienarchiv                             _
Das dürfte ok sein
End If
End Sub

------------------------------------------------------------------------------------------------ _
------------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)				 Application.ScreenUpdating =   _
_
False
If Target.Address = "$D$49" Then Call Makro_nächster_Geburtstag
If Target.Address = "$B$49" Then Call auto_open
If Target.Address = "$H$49" Then Call Makro_Kommentar_einsehen
If Target.Address = "$K$49" Then Call auto_close
If Target.Address = "$F$49" Then Call Makro_alter_in_Tagen
If Target.Address = "$F$2" Then Call Makro_Zeilensteuerung                                      _
_
Lässt sich hier etwas
If Target.Address = "$D$15" Then Call Makro_Zeilensteuerung                                     _
_
zusammenfassen ?
If Target.Address = "$F$15" Then Call Makro_Zeilensteuerung
If Target.Address = "$H$15" Then Call Makro_Zeilensteuerung
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bitte um VBA Korrektur
17.03.2012 12:53:59
Hajo_Zi
Du solltest den Code schon so posten das der VBA Editor nicht meckert Also mit '

AW: Bitte um VBA Korrektur
17.03.2012 13:15:48
Excelfloh
Hallo Hajo ,
danke für Deine schnelle Antwort.
Wann und wo muß denn dieses Zeichen ' gesetzt werden ?
Gruß Excelfloh
AW: Bitte um VBA Korrektur
17.03.2012 13:17:21
Hajo_Zi
vorv Kommentaren damit die Code Zeile nicht rot ist. Oder sehe ich das Falsch, das der gepostete Code bei Dir nicht läuft?
Gruß Hajo
AW: Bitte um VBA Korrektur
17.03.2012 14:56:17
Hajo_Zi
ich sehe es ein das ist zu kmpliziert diese Zeichen einzufügen. Dann mal ohne Kommentare.
Option Explicit
Private Sub Worksheet_change(ByVal Target As Range)
Application.ScreenUpdating = False
If Range("D15").Text  "Bitte einen Tag wählen" Then
Range("F15").Select
ElseIf Range("F15").Text  "Bitte einen Monat wählen" Then
Range("H15").Select
ElseIf Range("H15").Text  "Bitte ein Jahr wählen" Then
Range("A70").Select
End If
If Range("D69").Text = 1 Then
Rows("10").Hidden = False
Range("9:9,11:11").EntireRow.Hidden = True
ElseIf Range("D69").Text = 2 Then
Rows("11").Hidden = False
Range("9:9,10:10").EntireRow.Hidden = True
End If
If Range("G64").Text = 4 Then
Rows("9").Hidden = False
ElseIf Range("G64").Text = 4 Then
Range("10:10,11:11").EntireRow.Hidden = True
End If
If Range("D83").Text = 1 Then Range("38:38,40:40,41:41").EntireRow.Hidden = True
If Range("H73").Text = 1 Then
Call Makro_Grafik_ein
ElseIf Range("H73").Text  1 Then
Call Makro_Grafik_aus
End If
If Target.Address = "$F$2" Then
If Range("D3").Value = 1 Then Call Makro_Archiv_neutralisieren
If Range("D2").Value = 1 Then Call Makro_Datencopy_Familienarchiv
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = "$D$49" Then
Call Makro_nächster_Geburtstag
ElseIf Target.Address = "$B$49" Then
Call auto_open
ElseIf Target.Address = "$H$49" Then
Call Makro_Kommentar_einsehen
ElseIf Target.Address = "$K$49" Then
Call auto_close
ElseIf Target.Address = "$F$49" Then
Call Makro_alter_in_Tagen
ElseIf Target.Address = "$F$2" Or Target.Address = "$D$15" _
Or Target.Address = "$F$15" Or Target.Address = "$H$15" Then
Call Makro_Zeilensteuerung
End If
End Sub
Gruß Hajo
Anzeige
AW: Bitte um VBA Korrektur
17.03.2012 15:43:36
Excelfloh
Hallo Hajo,
habe herzlichen Dank für Deine postwendende Lösung.
Diese professionellen Zusammenfassungen sind genau das was ich erhofft hatte.
Ich werde DeineKorrekturen heute abend gleich umsetzen.
Erlaube mir bis dahin noch eine Frage :
Ist 'Private Sub Worksheet_change(ByVal Target As Range)
wirklich die optimale Syntax für die enthaltenen Zeilensteuerungen ?
Die Zeilensteuerungen sollen doch nur bei formelbedingten
Wertänderungen ausgeführt werden und nicht jedesmal bei jedem Klick
in irgendeine Zelle abgefragt werden.
Freundliche Grüße Excelfloh
Anzeige
AW: Bitte um VBA Korrektur
17.03.2012 15:51:41
Hajo_Zi
das geht nicht über Change, da mußt Du
Private Sub Worksheet_Calculate()
einsetzen, was aufwendiger ist.
Gruß Hajo
AW: Bitte um VBA Korrektur
17.03.2012 16:44:49
Excelfloh
Hallo Hajo,
ganz herzlichen Dank für Deine Bemühungen !!!
Freundliche Grüße und noch ein schönes Wochenende.
Excelfloh

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige