Herbers Excel-Forum - das Archiv

Excel Hilfe

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Excel Hilfe
von: kaufman

Geschrieben am: 20.12.2006 19:10:35
Hallo Herber
Ich hab da mal ne frage. könnten Sie mir mal einwenig Excel Programmierung und Visual basic erklären? Und hätten Sie ein paar ideen für ein Excel programm?
Vielen Dank
Adrian Kaufmann
Bild

Betrifft: AW: Excel Hilfe
von: ingUR

Geschrieben am: 20.12.2006 19:37:08
Nun, Adrian Kaufmann,
dann erkläre doch einfach einmal Deine Ideen zu EXCEL-Programmen, das scheint einfacher zu sein, als ein Abriss über die die Programmiermöglichkeiten von EXCEL und/oder VB, zumal es für Dich wohl auch günstiger und die Allgemeinheit eiinfacher ist, auf die zahlreich vorhandene Literatur zurückzugreifen.
Gruß,
Uwe
Bild

Betrifft: AW: Excel Hilfe
von: ChrisL

Geschrieben am: 20.12.2006 19:37:49
Hallo Adrian
Es ist selbstverständlich erlaubt, Herber persönlich Fragen zu stellen (er betreibt schliesslich das Forum), aber Deine Fragen werden vermutlich schneller beantwortet, wenn du diese an alle Forumsteilnehmer richtest.
Im Forum sprechen sich alle mit "Du" an, Du darfst auch :-)
Zur Frage: Excel Programmierung erfolgt in Visual Basic. Visual Basic ist die Programmiersprache:
http://de.wikipedia.org/wiki/Visual_Basic
Genauer erfolgt die Programmierung in VBA (Visual Basic for Applications - ist im Link auch kurz beschrieben).
Es gibt viele Bücher zum Thema und u.a. findest du spannendes über die Forums-Navigation oben z.B. unter "Services" oder generell im Internet.
Ich finde VBA ist eine tolle Sache, um mit Programmierung zu starten. Du kannst z.B. den Makrorekorder verwenden (unter Menü Extras zu finden). Bist du damit schon vertraut?
Generell, was interessiert Dich? Wie weit gehen Deine aktuellen Kenntnisse?
Gruss
Chris
Bild

Betrifft: AW: Excel Hilfe
von: Kaufmann

Geschrieben am: 21.12.2006 18:21:36
Also meine kenntnisse mit Visual Basic sind net viele.ich kann Buttons machen um tabellenblätter zu wenden. (sheets("tabelle2").select) z.B.
Was mich interessiert ist wie man z.B mit Visual Basic 6.0 so programme wie z.B. Word oder so macht. Ich kann nur so mit einer Hilfe im visual basic ein word/internet progrämmchen machen. Wie gesagt hab ich Visual Basic 6.0 habe aber auch Visual C++ und Visual J++. Hab die aber noch nie so richtig angeschaut. Für Visual C++ hätte ich ein Buch, aber als ich was testete ging es doch wieder nicht.
Gruss
Adrian
Bild

Betrifft: AW: Excel Hilfe
von: ChrisL

Geschrieben am: 21.12.2006 19:31:27
Hallo Adrian
Programme wie "Word" nachzubauen ist nicht ganz einfach.
Ich würde mir ein einfacheres Projekt aussuchen, um mit Programmierung zu starten. Z.B. folgendes Spiel. Du erzeugst eine Zufallszahl und der Benutzer muss die Zahl erraten. Es wird jeweils angezeigt, ob die eingegebene Zahl zu hoch oder zu tief ist. Wird die Zahl erraten gibt es als Belohnung ein Beep-Konzert oder ähnlich.
Ich glaube "Visual Basic" ist für Anfänger definitiv am Besten geeignet. Ob du Visual Basic 6.0 oder Excel (da ist Visual Basic auch enthalten) verwendest, ist für den Anfang eigentlich egal.
Gruss
Chris
Bild

Betrifft: AW: Excel Hilfe
von: kaufmann
Geschrieben am: 22.12.2006 12:51:10
Hallo
Wie kann man machen das im excel einfach irgend eine Zahl sagt?
Grüsschen
Adrin Kaufmann
Bild

Betrifft: AW: Excel Hilfe
von: kaufmann

Geschrieben am: 22.12.2006 13:09:01
Hallo
ich habe ein weiteres Problem. Ich probiere mal das mit der zufalls zahl. Ih schaff es aber nicht das es das zuhoch oder so in ein feld reinzutun. könntest mir sagen wie die formel dafür is?
Grüse
Adrian
Bild

Betrifft: AW: Excel Hilfe
von: kaufmann
Geschrieben am: 22.12.2006 16:36:30
Hallo
ist da richtig das für ne zufallszahl die formel =zufallszahl() ist?
Wie krieg ich sie dazu, das sie keine kommastellen mehr hat?
Mit freundlichen grüssen
Adrian
Bild

Betrifft: AW: Excel Hilfe
von: kaufmann
Geschrieben am: 22.12.2006 16:46:52
Hallo
also ich habe es fast geschaft. ich muss nur noch irgendwe machen können, das es nur zahlen ohne kommastellen gibt.
Grüsse
adrian
Bild

Betrifft: AW: Excel Hilfe
von: kaufmann

Geschrieben am: 22.12.2006 16:51:23
Hallo
Habe das programm mit de zufallszahl geschafft. Man kann jetzt oben eingeben zwischen welchen zahlen sie liegen soll und dann kan man darunter eine zahl eingeben und es kommt ob sie stimmt oder nicht.
Vielen dank für die Hilfe
Grüsschen
Adrian
Bild

Betrifft: AW: Excel Hilfe
von: kaufmann
Geschrieben am: 22.12.2006 17:45:44
Hallo
Hab immer noch ein problem. Immer wenn ich da im feld wo ich die zahl eingeben muss ne zahl eintippe und enter klicke, ändert sich die zufallszahl immer sofort. dadurch kann man gar nicht erst ne richtige antwort geben.
Viele Grüss
Adrian
Bild

Betrifft: AW: Excel Hilfe
von: ChrisL

Geschrieben am: 22.12.2006 18:55:19
Hallo Adrian
Das hängt mit der automatischen Aktualisierung zusammen. Unter Extras, Optionen, Berechnung, kannst du diese auf manuell umstellen. Die Befehlstaste, um manuell zu aktualisieren (wenn du das Spiel neu beginnen willst) lautet F9.
Eigentlich dachte ich eher an eine VBA Lösung:
Sub BeispielMakro()
Dim ZufallsZahl As Integer
Dim EingabeZahl As Variant
' Initialisiert den Zufallszahlengenerator
Randomize
' Zufallszahl wird generiert
ZufallsZahl = Int((10 * Rnd) + 1)
' Schleife bis die richtige Zahl erraten wurde
Do
' Benutzer wird aufgeforder eine Zahl einzugeben
EingabeZahl = Application.InputBox(prompt:="Bitte Zahl eingeben:", Type:=1)
' Wenn die Zahl richtig ist dann...
If EingabeZahl = ZufallsZahl Then
Beep
MsgBox "Gratulation!"
Exit Sub
End If
' Wenn die Zahl zu klein ist, dann... sonst...
If EingabeZahl < ZufallsZahl Then
MsgBox "Die Zahl ist zu klein."
Else
MsgBox "Die Zahl ist zu gross."
End If
Loop
End Sub

In Excel, Alt+F11 drücken, dann bist du im VBA-Editor. Anschliessend Menü Einfügen, Modul. Dort den Code reinkopieren und VBA-Editor wieder schliessen.
Starten kannst du über Menü Extras, Makros...
Oder du setzt eine Befehlsschaltfläche (CommandButton) in eine Tabelle. Der Aufruf geht so...
Call BeispielMakro
(oder auch ohne Call)
Das Makro ist noch ausbaufähig. Speziell wenn es darum geht das Spiel abzubrechen, dazu mal schauen was geschieht, wenn du auf die Taste abbrechen drückst:
Sub BeispielMakro()
Dim ZufallsZahl As Integer
Dim EingabeZahl As Variant
' Initialisiert den Zufallszahlengenerator
Randomize
' Zufallszahl wird generiert
ZufallsZahl = Int((10 * Rnd) + 1)
' Schleife bis die richtige Zahl erraten wurde
Do
' Benutzer wird aufgeforder eine Zahl einzugeben
EingabeZahl = Application.InputBox(prompt:="Bitte Zahl eingeben:", Type:=1)
MsgBox EingabeZahl
' Wenn die Zahl richtig ist dann...
If EingabeZahl = ZufallsZahl Then
Beep
MsgBox "Gratulation!"
Exit Sub
End If
' Wenn die Zahl zu klein ist, dann... sonst...
If EingabeZahl < ZufallsZahl Then
MsgBox "Die Zahl ist zu klein."
Else
MsgBox "Die Zahl ist zu gross."
End If
Loop
End Sub

Auch kannst du bei richtiger Eingabe nachfragen, ob das Spiel erneut gestartet werden soll.
If ... Then ... Else ...
Wenn ... Dann ... Sonst ...
Und vielleicht mal die Excel-Hilfe betr. MsgBox lesen.
Weiterhin viel Spass und Gruss
Chris
Bild

Betrifft: AW: Excel Hilfe
von: kaufmann
Geschrieben am: 22.12.2006 21:10:16
Hallo
Ich habe da ein weiteres problem. Ich kann keine makros einfügen.
Grüsschen und danke
adrian
Bild

Betrifft: AW: Excel Hilfe
von: ingUR

Geschrieben am: 22.12.2006 19:30:14
Hallo, Adrin,
neben dem Programmbeispiel von ChrisL, kann Dir vielleicht auch dieses Beispiel einen ersten Einblick in die VBA-Programmelemente/-struktur geben, denn die ist doch ein wenig anders, als bei VB6. Hier gibt es besonders einige Elemente, die sich z.B. auf Zellen und Zellenbereiche (Range) einer aktiven EXCEL-Tabellen beziehen.
https://www.herber.de/bbs/user/39168.xls
Ziel:
- Steuerelemente (Commandobutton)
- VBA-Zufallsgenerator aktivieren
- Ganzzahlige Zufallszahl 1 bis 9 erzeugen
- Zellen/Zellenbereiche eines Tabellenblattesa ansprechen
- globale Variable/Array (DIM)
- lokale Variable (DIM)
- FOR-Schleife
- IF ... THEN ... ELSE
Bitte versuche den Umgang des VBA-Editor zu erlernen, insbesondere die Hilfefunktion (Befehlswoirt markieren und mit [F1] die Hilfe zum Befehlsawort aufrufen) und die schrittweise Befehlsausführung [F8] (Debbugen).
Besonderen Augenmerk lege in der Beispieldatei darauf, dass die Programmteile im VBA-Tabellenordner des VBA-Projektes abgelegt sein müssen.
Gruß,
Uwe
 Bild