Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

wie erstelle ich in Excel eine Funktion mit Buttons

Mitglied: Viper23

Viper23 (Level 1) - Jetzt verbinden

24.05.2008, aktualisiert 27.05.2008, 15689 Aufrufe, 4 Kommentare

Guten Morgen,

ich will in Excel einen Button erstellen, der, wenn man drauf klickt, einen Wert in einem anderen Tabellenblatt hinzuaddiert.

also:

in Tabellenblatt 1 steht eine Liste mit Namen und Attributen
in Tabellenblatt 2 gebe ich nun einen Namen und einen Attributwert ein

wenn ich auf den Button klick, soll der Attributwert bei dem bestimmten Namen zu dem alten Attributwert addiert werden

Tabelle1:
NAME ATT
Hans 1
Marc 2
Timo 1

Tabelle 2:
NAME ATT
Hans 1 [BUTTON] <-- hier ist die eingabe

jetzt soll bei Hans 2 stehen...


bekommt man das so leicht hin?
ich weiß nicht mal, ob man einen Button einfügen kann.
danke schon mal im Vorraus
Mitglied: bastla
24.05.2008 um 13:25 Uhr
Hallo Viper23 und willkommen im Forum!

Unter der Annahme, dass es nur sinnvoll sein kann, zu bereits vorhandenen Namen den Attributwert zu verändern, böte sich eigentlich zur Auswahl des Namens ein Dropdown an. Die Umsetzung könnte so erfolgen (Annahme: Deine Beispiele für Tabelle1 und Tabelle2 beginnen jeweils in A1 mit der Überschrift "NAME"):
  1. Markiere in Tabelle1 alle Namen ohne die Überschrift, aber mit einer zusätzlichen Zelle am Ende der Liste (daher: A2:A5) und vergebe dafür den Bereichsnamen "Namen".

    Die leere Zelle mit aufzunehmen hat den Vorteil, dass Du die Namensliste leicht erweitern kannst, indem Du für einen neuen Namen diese Zelle (derzeit A5) markierst, über das Kontextmenü "Zellen einfügen ..." (oder mit Strg +) und die Auswahl "Zellen nach unten verschieben" wählst und so eine zusätzliche Zelle im benannten Bereich erhältst.

    Ist an keine Erweiterung gedacht, kannst Du auch nur die Namen (A2:A4) mit dem Bereichsnamen versehen - Vorteil: Damit vermeidest Du die ansonsten erscheinende leere Zeile am Ende des Dropdowns (wobei diese aber nicht allzu störend sein sollte).
     
  2. Benenne in Tabelle2 die Zelle A2 mit "Auswahl" und die Zelle B2 mit "Hinzu".
     
  3. Öffne die Symbolleiste "Formular" und "zeichne" in Tabelle2 ein "Kombinationsfeld" über der Zelle A2 ein (sodass diese und vor allem der später darin erscheindende Zahlenwert verdeckt werden) - dazu das entsprechende Symbol in der Symbolleiste anklicken und mit der Maus einen Rahmen aufziehen.
     
  4. Wähle nach einem Rechtsklick auf den Rahmen dieses Kombinationsfeldes das Register "Steuerung" (sollte ohnehin geöffnet sein) und trage dort ein: für "Eingabebereich": Namen und für "Zellverknüpfung": Auswahl
     
  5. Füge nun aus der "Format"-Symbolleiste noch eine "Schaltfläche" an der gewünschten Position hinzu, bestätige den mit "Schaltfläche1_BeiKlick" vorgeschlagenen "Makronamen" und ändere deren Beschriftung "Schaltfläche1" auf den gewünschten Text.
     
  6. Nach einem Rechtsklick auf den Rahmen des noch markierten Buttons kannst Du "Makro zuweisen..." und "Neu" wählen und so direkt in den VBA-Editor gelangen, wo Du zwischen "Sub Schaltfläche1_BeiKlick()" und "End Sub" nur noch den folgenden Code einfügen musst:
    01.
    Hinzu = Range("Hinzu").Value
    02.
    Auswahl = Range("Auswahl").Value
    03.
    Range("Namen").Offset(Auswahl-1,1).Cells(1).Value=Range("Namen").Offset(Auswahl-1,1).Cells(1).Value+Hinzu
    04.
    'Range("Auswahl").Value = 0
    05.
    'Range("Hinzu").Value = ""
Nach dem Schließen des VBA-Editors und einem Klick an eine beliebige Stelle der Tabelle2 (um die Markierung der Schaltfläche aufzuheben) solltest Du Namen auswählen und per Klick auf den Button den in B2 eingetragenen Wert in der Tabelle1 addieren können.

Da ich nicht weiß, wie Du diese Funktionaliltät einzusetzen gedenkst, gibt es (noch) keine Form der Rückmeldung - Du kannst aber zB nach der Ausführung der Aktion den gewählten Namen aus der Anzeige im Kombinationsfeld und/oder den in B2 eingetragenen Wert entfernen lassen, indem Du das Apostroph am Anfang der Zeile 4 und/oder Zeile 5 des VBSA-Codes entfernst (zum Code gelangst Du wieder - wie bei Schritt 6 beschrieben - über das Kontextmenü des Buttons, wobei dieses Mal "Bearbeiten" zu wählen ist; alternativ dazu kannst Du den VBA-Editor auch mit Alt-F11 direkt aufrufen).

Grüße
bastla

[Edit] Formatierung angepasst [/Edit]
Bitte warten ..
Mitglied: Viper23
27.05.2008 um 09:32 Uhr
vielen vielen dank...
Das ist ja ausführlicher als ausführlich..
hat mir sehr viel gebracht, ehrlich!



Jetzt hab ich nur ein Problem:

was ich, wenn ich ne ganze Tabelle hab.

also, in Spalte A stehen namen, in Spalte B Punkte in Spalte C Entfernungsangaben, in Spalte D..., etc..
und ich will dann beim Namen 1 nur den Wert B so verändern, beim Namen 3 nur Wert C....

Wie muss dann diese Funktion aussehen, und die Tabelle?

und geht das dann überhaupt mit so nem Button?

Grüßle Viper23
Bitte warten ..
Mitglied: bastla
27.05.2008 um 12:01 Uhr
Hallo Viper23!

In disem Fall könntest Du mehrere Buttons, von denen jeder ein eigenes Script aufruft, verwenden und die Änderungen nacheinander ausführen - also ersten Namen auswählen, Punkte ändern, nächsten Namen auswählen, Entfernung ändern, ...

Damit Du das Script anpassen kannst, eine kurze Erklärung dazu:

01.
Hinzu = Range("Hinzu").Value
Mit dieser Zeile wird der hinzuzufügende Wert aus der entsprechend benannten Zelle gelesen - Du könntest den Namen anpassen, sodass für Änderung der Punkte eine Zelle mit dem Namen "HinzuPunkte", für Änderung der Entfernung eine "HinzuEntfernung"-Zelle etc existieren. Den für dieses Script relevanten Namen gibst Du dann als "Range" an, also etwa
01.
 Hinzu = Range("HinzuEntfernung").Value
01.
Auswahl = Range("Auswahl").Value
Diese Zeile kann gleich bleiben - damit wird die laufende Nummer des gewählten Namens gelesen.

01.
Range("Namen").Offset(Auswahl-1,1).Cells(1).Value = Range("Namen").Offset(Auswahl-1,1).Cells(1).Value + Hinzu
Hier wird die Addition durchgeführt, wobei in der "Offset"-Angabe "Auswahl-1" gleich bleibt (wählt die richtige Zeile für den gewählten Namen aus). Der Wert 1 nach dem Komma legt die Spalte fest - wenn, wie im Beispiel, die Namen in Spalte A und die Entfernungen in Spalte C stünden, wäre zum Ändern der Entfernung hier 2 einzutragen (= Spaltenabstand in Tabelle2 zwischen Name und zu änderndem Wert).

Zusammenfassend:
Um auch Entfernungen (Spalte C) ändern zu können, erhält zunächst die Zelle Tabelle1!C2 den Namen "HinzuEntfernung", dann wird ein Button eingezeichnet und in das zugeordnete Makro eingetragen:
01.
Hinzu = Range("HinzuEntfernung").Value 
02.
Auswahl = Range("Auswahl").Value 
03.
Range("Namen").Offset(Auswahl-1,2).Cells(1).Value = Range("Namen").Offset(Auswahl-1,2).Cells(1).Value + Hinzu 
Das Ganze ließe sich zwar eleganter schreiben, aber so solltest Du eigentlich damit zurechtkommen können ...

Grüße
bastla
Bitte warten ..
Mitglied: Viper23
27.05.2008 um 12:07 Uhr
vielen vielen Dank...
ich werde es gleich mal versuchen...

danke für die detaillierte und vor allem schnelle Antwort...
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel Button
gelöst Frage von Florian86Microsoft Office5 Kommentare

Hallo, kann ich wie im Download rot markiert per Button die Ziffern aller Leerzellen automatisch mit der vorhergehenden füllen ...

Microsoft Office
Excel Button Makro
gelöst Frage von Florian86Microsoft Office3 Kommentare

Hallo, ich habe folgendes Problem. Wir haben uns einige Buttons erstellt und mit Macros hinterlegt. Jetzt gibt es einen ...

Microsoft Office
Excel Wenn-Funktion
gelöst Frage von freshman2017Microsoft Office2 Kommentare

Moin Moin und guten Abend, ich bräuchte da nochmal Eure Hilfe. Ich habe eine Exelliste mit verschiedenen Werten: Hier ...

Microsoft Office
Funktion SVERWEIS mit Excel
Frage von HevidarMicrosoft Office4 Kommentare

Hallo, Ich möchte mit Hilfe der Funktion SVERWEIS die Noten berechnen lassen. Leider klappt es nicht richtig. 1+ 15 1 14 ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 2 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 2 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 4 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 5 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
gelöst Frage von frosch2Windows Netzwerk33 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Hosting & Housing
VMware VM mit über 1TB RAM für S4HANA
gelöst Frage von Leo-leHosting & Housing24 Kommentare

Hallo zusammen, wer hat Erfahrng und kann mir einen Tipp zum sizing von S4HANA Systemen geben? Wir möchten, zunächst ...

LAN, WAN, Wireless
WLAN und Ausmessung - Eine Glaubensfrage?
Frage von ptr2brainLAN, WAN, Wireless23 Kommentare

Liebe Experten, als Sys-Admin habe ich mir schon öfter die Frage gestellt, ob es sich beim Thema WLAN und ...

Virtualisierung
Gebrauchte Server Hardware als Virtualisierungs-"Spielwiese"?
Frage von NixVerstehenVirtualisierung19 Kommentare

Einen wunderschönen guten Morgen zusammen, ich möchte mich gerne etwas tiefer mit dem Thema Virtualisierung beschäftigen und dazu ein ...