Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variablen Deklaration

Variablen Deklaration
21.03.2013 17:10:08
Toni
Hallo allerseits,
ich bin blutiger VBA Anfaenger und habe das folgende (eigentlich sehr simple) mini Programm aus einem Uebungsbuch:
Sub BerechnungSteuerabgabe()
Dim Gehalt As Single
Dim Steuerabgabe As Single
ThisWorkbook.Worksheets("Tabelle1").Activate
Range("A10:A11").NumberFormatLocal = "#.##0,00 $"
Gehalt = Range("A10").Value
If Gehalt 

Hierbei geht es darum, dass ich in Zelle A10 das Gehlt eintrage und nach dem Durchlaufen des Programmcodes mir die entsprechende Steuerabgabe in Zelle A11 ausgegeben wird (beide Zellen sollen als Wahrung formatiert werden).
Verstaendnisschwierigkeiten ergeben sich fuer mich nun bei den folgenden beiden Zeilen:
Gehalt = Range("A10").Value
Range("A11").Value = Steuerabgabe
Ich habe festgestellt, dass es durchaus einen Unterschied macht, ob ich erst die Variable nenne und hinter dem Gleichheitszeichen dann die Zelle oder umgekehrt. Soll bedeutet wenn ich das folgendermassen anstelle funktioniert das Programm nicht:
Range("A10").Value = Gehalt
Steuerabgabe = Range("A11").Value
Im ersten Fall (Variable Gehalt) leutet mir das ja noch ein, schliesslich deklariere ich die Variable und nicht die Zelle.
Im zweiten Fall (Variable Steuerabgabe) verstehe ich absolut nicht, warum es einen Unterschied macht, ob die Variable nun vor oder hinter dem Gleichheitszeichen steht.
Fuer eine Erklaerung waere ich sehr dankbar.
VG,
Toni

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
das ist nur Logik, Toni ...
21.03.2013 17:18:17
Matthias
Hallo
Wenn Du schreibst:
Steuerabgabe = Range("A11").Value
bekommt die Variable(Steuerabgabe) den Wert aus der Zelle A11.
Also vor dem "=" übernimmt etwas
Nach dem "=" ist die Quelle von wo man die Zelle/Variable "füttert"
Natürlich sollte man die Variablen auch entsprechend deklarieren
Gruß Matthias

AW: Variablen Deklaration
21.03.2013 17:21:03
robert
Hi,
in Variable Gehalt überträgst du den Wert aus A10,"Gehalt = Range("A10").Value"
dann berechnest du die Steuerabgabe und gibst den Wert in A11 aus."Range("A11").Value = Steuerabgabe"
wo ist das Problem?
Gruß
robert

Anzeige
AW: Variablen Deklaration
21.03.2013 19:27:11
Toni
Danke Ihr beiden.
@Matthias: Habe die Logik dahinter durch Deine gelungene Erklaerung jetzt verstanden. Danke!
@Robert: Wenn Du Dir die Antwort von Mannthias anschaust, siehst Du was genau mein Problem war.
Gruss,
Toni

Dein Problem mag auch darin bestehen, ...
21.03.2013 20:04:42
Luc:-?
…Toni,
dass dir nicht klar ist (nun wohl hoffentlich klar war), dass das 1.= als Zuweisungsoperator (mitunter in Literatur bzw anderen Sprachen auch ⇐ bzw := geschrieben, Letzteres auch im Zusammenhang mit benannten Parametern in VBA) fungiert, ggf später in der gleichen Zuweisung folgende wären Vergleichsoperatoren (in anderen Sprachen mitunter == geschrieben).
Die Zuweisungsrichtung ist immer von rechts nach links.
Gruß Luc :-?

Anzeige
ein Übungsbuch, ...
21.03.2013 23:11:38
Rudi
Hallo,
... das mit Select und/oder Activate arbeitet, solltest du in die Tonne hauen.
Ist in VBA zu 99,9% überflüssig. Arbeite mit Objekten.
Gruß
Rudi
Autor B.H. ?

Haha, schlechte BH-Erfahrungen, ...
22.03.2013 01:20:58
Luc:-?
…Rudi? ;-)
Dabei ist es doch beeindruckend wie der Meister auf YouTube Diesunddas in Xl demonstriert und erklärt! Schon die Unterschriften — da ist man immer versucht, das Wort Meister oder gar Großmeister einzusetzen… ;-))
Dafür findet sich dann auf der WebSite erstaunlich wenig frei verfügbare echte VBA-Substanz.
Allerdings ist in dem gezeigten Bsp Activate schon erforderlich, da ja auf diesem Blatt Werte in Zellen eingetragen und diese auch formatiert wdn sollen und der Betrachter das auch verfolgen will. Als schlimmer befinde ich die Verwendung von ThisWorkbook. Das ist hier zwar unschädlich, weil zu vermuten ist, dass der PgmCode auch in dieser Mappe steht, aber trotzdem nicht der richtige Standard, weil so etwas prägt und nicht nur im Falle von AddIns ins Auge gehen kann. Besser wäre also fast immer ActiveWorkbook.
Morrn, Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige