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

Frage Microsoft Microsoft Office

Mitglied: Viper23

Viper23 (Level 1) - Jetzt verbinden

24.05.2008, aktualisiert 27.05.2008, 15298 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 ...

Python
Python GUI Button funktionen?
gelöst Frage von ScuzzyPython7 Kommentare

Guten Tag, ich möchte ein Skript bauen welches eine GUI öffnet und ich die auswahl zwischen 3 Browsern habe. ...

Python
GTK Button führt funktion nur mit fehlermeldung aus
Frage von deinernstjetztPython

Hallo, in meinem GTK Programm (in Python)(GTK+3) werden in einem Teil einige Daten abgefragt, diese sollen dann über eine ...

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 ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 10 StundenWindows 101 Kommentar

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 11 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server12 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server12 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Netzwerkgrundlagen
Laufwerkszuordnung mit zwei IPs
Frage von Alex29Netzwerkgrundlagen11 Kommentare

Hallo in die Runde, Ich als Hobbyadmin hätte mal wieder eine Frage an die Profis. Ich habe ein Netzwerk ...