11.10.2019, 14:54
Hallo erstmal,
jetzt mache ich hier ein umfassendes neues Thema auf indem ich gerne mit eurer Hilfe an meinem Projekt VBA besser verstehen und erlernen möchte.
Ich hatte davor noch nichts mit VBA zu tun, bin aber immer wieder damit in Berührung gekommen. Ein paar Basics konnte ich mir dank youtube und dem Buch "Excel Formeln und Funktionen von Eckl, Erß usw" bereits aneignen.
Ich hoffe ich stelle nicht zu viele Fragen auf einmal.
Also wie bereits erwähnt habe ich ein Projekt das ich gerne mit VBA vereinfachen möchte, in meiner Excel-Mappe befinden sich 30 Tabellenblätter die alle funktionieren und für mich auch so zur Bedienung ausreichen würden. Dennoch möchte ich die Mappe so vereinfachen das es ein Selbstläufer wird und sie auch von anderen gerne Benutzt wird die leider aktuell noch davor etwas zurückschrecken und lieber den gewohnten umständlichen weg nehmen.
Meine Projekt ist so aufgebaut das in Tabelle1 die wichtigsten Daten stehen wie die Fakten.
Jetzt kommt meine erste Frage:
Kann ich ein Makro auch aktivieren/ausführen wenn ich etwas in eine Zelle eintippe und dann mit Enter bestätige oder noch besser einfach durch wechseln oder anklicken einer anderen Zelle?
Ist die Zellenüberwachung hier eine sinnvolle Möglichkeit oder gibt es bessere?
Das habe ich gefunden
sub worksheet_Change(ByVal Target As Excel.Range)
if target.adress = $A$1 or ... then
'ausführen von dem Makro
End If
End Sub
Ich möchte mit der Dropdown-Auswahl in dieser Zelle Tabellenblätter einblenden. Sprich man sieht wenn man die Excel-Datei aufmacht nur Tabelle 1 damit man nicht erschlagen wird.
wo ist der unterschied zwischen sub und private sub ?
in dem Buch hätte ich dazu gefunden:
In Tabelle1 eingetragen:
private sub worksheet_change (ByVal Target As Range)
if range ($A$1) = "Kakaozeremonie" Then Call AuswahlKakao
if range ($A$1) ="Gehe in dich" Then Call AuswahlGid
'usw.
End Sub
was trage ich jetzt in Modul1 ein?
soweit ich das verstanden habe brauche ich jetzt boolean
Worksheets("Tabelle7").Visible = True
hier sollte ich auch alle eintippen die False sind weil die sonst auch sichtbar bleiben wenn ich den Wert in A1 wieder änder. Ist das richtig?
ist es besser für jede Auswahl ein eigenes Modul machen oder schreibt man alles in ein Modul?
Ich freue mich sehr auf eure Unterstützung! Und ich bin besonders dankbar für ein paar erklärende Worte damit ich das verstehen kann.
Danke
co-moi
jetzt mache ich hier ein umfassendes neues Thema auf indem ich gerne mit eurer Hilfe an meinem Projekt VBA besser verstehen und erlernen möchte.
Ich hatte davor noch nichts mit VBA zu tun, bin aber immer wieder damit in Berührung gekommen. Ein paar Basics konnte ich mir dank youtube und dem Buch "Excel Formeln und Funktionen von Eckl, Erß usw" bereits aneignen.
Ich hoffe ich stelle nicht zu viele Fragen auf einmal.
Also wie bereits erwähnt habe ich ein Projekt das ich gerne mit VBA vereinfachen möchte, in meiner Excel-Mappe befinden sich 30 Tabellenblätter die alle funktionieren und für mich auch so zur Bedienung ausreichen würden. Dennoch möchte ich die Mappe so vereinfachen das es ein Selbstläufer wird und sie auch von anderen gerne Benutzt wird die leider aktuell noch davor etwas zurückschrecken und lieber den gewohnten umständlichen weg nehmen.
Meine Projekt ist so aufgebaut das in Tabelle1 die wichtigsten Daten stehen wie die Fakten.
Jetzt kommt meine erste Frage:
Kann ich ein Makro auch aktivieren/ausführen wenn ich etwas in eine Zelle eintippe und dann mit Enter bestätige oder noch besser einfach durch wechseln oder anklicken einer anderen Zelle?
Ist die Zellenüberwachung hier eine sinnvolle Möglichkeit oder gibt es bessere?
Das habe ich gefunden
sub worksheet_Change(ByVal Target As Excel.Range)
if target.adress = $A$1 or ... then
'ausführen von dem Makro
End If
End Sub
Ich möchte mit der Dropdown-Auswahl in dieser Zelle Tabellenblätter einblenden. Sprich man sieht wenn man die Excel-Datei aufmacht nur Tabelle 1 damit man nicht erschlagen wird.
wo ist der unterschied zwischen sub und private sub ?
in dem Buch hätte ich dazu gefunden:
In Tabelle1 eingetragen:
private sub worksheet_change (ByVal Target As Range)
if range ($A$1) = "Kakaozeremonie" Then Call AuswahlKakao
if range ($A$1) ="Gehe in dich" Then Call AuswahlGid
'usw.
End Sub
was trage ich jetzt in Modul1 ein?
soweit ich das verstanden habe brauche ich jetzt boolean
Worksheets("Tabelle7").Visible = True
hier sollte ich auch alle eintippen die False sind weil die sonst auch sichtbar bleiben wenn ich den Wert in A1 wieder änder. Ist das richtig?
ist es besser für jede Auswahl ein eigenes Modul machen oder schreibt man alles in ein Modul?
Ich freue mich sehr auf eure Unterstützung! Und ich bin besonders dankbar für ein paar erklärende Worte damit ich das verstehen kann.
Danke
co-moi