Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makros mittels Buttons kontrollieren





Frage

Sehr geehrte Damen und Herren, ich programmiere zurzeit an einem Excel-Auswertung-Programm. Folgendes erstmal zur Funktion dieses Programmes. Das Programm besitzt insgesamt 2 Datenblätter. In einem Datenblatt stehen die zu auswertenden Daten ( werden mittels einen Exportbefehl in die Excel-Datei geladen). Im zweiten Datenblatt werden die Auswertungen durchgeführt. Simple SUMMEWENNE und SUMME Befehle welche die Gesamtkosten für beliebige User ausrechnen. Das zweite Datenblatt enthält außerdem noch 12 Buttons -> Januar..Februar.......... bis zu Dezember halt. Diese Buttons sind alle identisch.Führen also die selben Berechnungen durch. Allerdings werden die ausgegeben werte ständig aktualisiert und gerade dass soll verhindert werden. DIe werte von zB Januar sollen nur dann aktualisiert werden, wenn ich auf die Schaltfläche Januar klicke. ( Zur infos - jede Schaltfläche besitzt ein Makro. der JanuarButton besitzt beispielweise den JanaurMakro usw. ) Nun zu meiner Frage - wie kann ich die Makros so umändern, dass sie auf das Klicken des Buttons warten bis sie sich aktivieren? Außerdem wie verhindere ich es dass die Makros ständig die Werte überschrieben? SIe sollen es halt nur machen, wenn man auf die Schaltfläche klickt. Ich bedanke mich schonmal im vorraus für die Antworten. MfG

Antwort 1 von Praktikantgrpr

weitere Info: Makros wurden alle "aufgezeichnet"

Antwort 2 von Hazgalad

/shrug
hm... es ist kurz nach Mittag und ich steig da noch nicht ganz durch (Zu meiner Verteidigung: es ist Montag und ich hab noch nix gegessen!)


Zitat:
Allerdings werden die ausgegeben werte ständig aktualisiert und gerade dass soll verhindert werden. DIe werte von zB Januar sollen nur dann aktualisiert werden, wenn ich auf die Schaltfläche Januar klicke.


Welche Werte sind hiermit gemeint? Die die von den Makros berechnet worden sind?

Zitat:
Das zweite Datenblatt enthält außerdem noch 12 Buttons -> Januar..Februar.......... bis zu Dezember halt. Diese Buttons sind alle identisch.Führen also die selben Berechnungen durch.

Zitat:
wie kann ich die Makros so umändern, dass sie auf das Klicken des Buttons warten bis sie sich aktivieren?


Hört sich irgendwie widersprüchlich an. Sie führen also nicht die Berechnungen durch sondern schon vorher? Aber sie wurden den Buttons zugewiesen?

Und wie sehen die Makros aus bzw was sollen sie genau tun?
Kann mir den Aufbau der Tabellenblätter, der Makros und deren Funktion noch nicht so wirklich vorstellen.

Ein paar mehr Worte dazu würden meinen grauen Zellen event. helfen.

Antwort 3 von Praktikantgrpr

Ok - ich versuch mich mal besser auszudrücken.
Also die Makros führen die Berechnungen vor. Jeder Makro ist einer bestimmten Schaltfläche ( button ) zugeordnet - mittels "Makro zuordnen halt"

zu Datenblatt eins:
Hier stehen halt verschiedene Daten
die Tabelle enthält ca 9 verschiedene Spalten. In diesem Datenblatt werden KEINE berechnungen durchgeführt. Also Datenblatt 2 greift auf Datenblatt 1 zu.

zum Hauptproblem ( Datenblatt 2 )

Ich versuch mal die Problemlage anhand eines Beispieles zu verdeutlichen.

In Datenblatt 1 befinden sich beispielweise Daten vom Januar ( Irgendwelche Rechnungen.. Abbuchen etc )

ALLE Makros greifen darauf zu..und schreiben halt den inhalt. was SCHON FALSCH IST - da...

1.) DIE makros nur arbeiten sollen, wenn die Schaltfläche gedrückt wurde

2. )Zurzeit hat der April ( oder welcher auch immer Makro ) den selben wer wie zB der Januar Button.. leider.. weil er halt ohne meine zustimmung zugreift und somit zB die Aprilwerte mit den Januarwerten überschreibt. um dieses Problem zu umgehen, müssen die Makros halt immer auf den Klick auf der Benutzerfläche reagieren. NUR wenn JANUARbutton anklickt wurde SOLL AUCH NUR der Januarmakro aktiviert werden. DIe anderen sollen nichts machen.

Also die makros sollen nur auf den KLICK reagieren.
Januarmakro aktivierrt sich nur wenn der januarbutton vom user angeklickt wurde.

Ich hoffe ich konnte deine Fragen / zweifel beantworten/ aus der welt schaffen

Antwort 4 von Praktikantgrpr

Ja und am anfang soll halt nichts passieren, weil meine makros reagieren schon beim öffnen des ecel dokuments.. was natürlich auch falsch ist. da man natürlich erst die neuen daten in das Datenblatt 1 laden muss..

Antwort 5 von Hazgalad

Hört sich für mich danach an als stünden die Makros unter einem "WorkbookOpen" Ereignis.

Schonmal selbst ein Makro zurecht geschnitzt oder per Hand erstellt?
Wie gut sind deine VBA Kenntnisse?

Ich könnte dich natürlich bitten mittels Alt+F11 im Code nachzuschaun ob die ganzen Anweisungen wirklich unter einem Private Sub ButtonXY_Click() stehen. Das gilt es jetzt eigenlich herauszufinden.

Da scheint die Zuweisung ja nit ganz geklappt zu haben. Oder zumindest nicht so wie du es dir vorgestellt hast.

Um mal einen anderen Weg zu beschreiben:
-makro aufnehmen und z.B. test nennen
-mit alt+f11 in den vba editor wechseln und alles das was zwischen "Private Sub test()" und dem nächsten "End Sub" steht kopieren
-mit erneutem alt+f11 zu excel wechseln und Ansicht->Sybmbolleisten ->Visual Basic erscheinen lassen.
- dort in den Entwurfsmodus gehen
- auf eine schlatfläche doppelklicken
- dort dann den Kram wieder einfügen

Das könnte man auch mit den anderen Makros machen um sicherzustellen das alles unter einem _Click Ereignis steht.

Viel Erfolg beim Tüfteln .... backups nicht vergessen.

Antwort 6 von Praktikantgrpr

Ich kann Kein VBA. Ich hab die Makros nicht programmiert, sondern aufgenommen.

die komischen button heißen bei mir zB
schaltfläche14_BeiKlick

- ich kann versuchen dir heute nachmittag den code hier reinzukopieren, sobald ich zuhause bin. dass wird dann so gegen 17 uhr sein - vl kannst du mir ja dann besser helfen

Antwort 7 von Event

Hallo

Was versteht der Praktikant unter einem Button?

Gruß

Antwort 8 von Praktikantgrpr

eine beschriftete schaltfläche auf die man klicken kann

Antwort 9 von Hazgalad

Ja das würde wahrscheinlich ehr helfen.
Werde erst gegen 18:00 @home sein und dann noch mal reinschaun.

@event
Zitat:
schaltfläche14_BeiKlick

Ich denke das sagt schon alles (er hat dich wohl beim posten überholt;-)

Antwort 10 von Event

Hat er wohl ;-)

Antwort 11 von Praktikantgrpr

Koennt ihr mit eure Emailadressen geben? Dann kann ich euch das Programm schicken

vielen dank

Antwort 12 von Hazgalad

j.r@public-files.xyde ohne das xy

Wenns heut zu spät eintrudelt versuch ich mich mal damit morgen in der Mittagspause dranzusetzten.

Antwort 13 von praktikantgrpr

habs dir geschickt

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: