PDA

Vollständige Version anzeigen : VB-Programmierung für Anfänger? Summe teilen lassen?


Speddy Conzales
04.09.2001, 10:09
Hi,
ich habe hier mal ein Problem (gutes Euro-Problem natürlich ;))...
Ich will mehrere Tabellen umrechnen lassen, bzw. ich will eine Spalte oder auch nur eine einfache Zelle umrechnen... ich habe mir schon mehrer gute Euro-Add-Ins runtergezogen, doch leider beinhaltet keines das was ich suche...
Ich habe hier z.T. das Problem, daß in einigen Zellen Formeln oder REchnungen stehen (z.B. 400 * 4) :( wie bekomme ich das hin, daß das Ergebnis davon, ohne jede Zelle von Hand ändern zu müssen, durch 1,95883 geteilt wird?
Geht das?
Und wenn ja, wie würde man das als Plug-In programmieren, bzw. gibt es allgemeine Infoseiten dazu?
Würde mich mal stark interessieren, da ich mir ansonsten so etwas für hier programmieren würde (habe leider nur Ahnung von C und C++ :( aber kein VB)...
Schon mal THX für jede Hilfe, die kommt :)

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten...</font>

prinzeri
04.09.2001, 10:36
Hallo Speddy Gonzales.

Hier die manuelle Lösung Deines Problems:
Schreibe in irgend eine Zelle den Umrechungsfaktor 1,95583. Dann diese Zelle markieren und kopieren auswählen. Dann alle Zellen, Zeilen, Spalten markieren, die Du konvertieren willst. Dann Bearbeiten - Inhalte einfügen - dividieren. Das funktioniert auch bei Rechnungen und Formeln. Aber Vorsicht: Wenn Du bereits die Werte konvertiert hast, die in der Formel verwendet werden, musst Du die Formel unverändert lassen. Sonst hast du den doppelten Effekt. Bespiel (a1 und b1 sind konvertiert in c1 steht a1+b1, dann darfst Du c1 nicht auch noch konvertieren).

Probiers mal aus.

Gruss
prinzeri

jinx
04.09.2001, 17:26
<font size="2" face="Century Gothic">Moin, Speddy Gonzales,

ziemlich viel verlangt von einer einfachen Umrechnung.

Wie wär´s mit folgendem Code für die Umstellung (nach Bernd Held)? Dieser wandelt alle Zahlenwerte, jedoch nicht Formel- oder Datumswerte, in Euro um und signaliert dies durch das entsprechende Symbol:


<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Sub</span> DMinEUROUmrechnen()
<span class="TOKEN">Dim</span> Zelle <span class="TOKEN">As</span> Range
<span class="TOKEN">For</span> <span class="TOKEN">Each</span> Zelle <span class="TOKEN">In</span> Selection
<span class="TOKEN">If</span> Zelle.HasFormula = <span class="TOKEN">True</span> <span class="TOKEN">Or</span> IsNumeric(Zelle) = <span class="TOKEN">False</span> _
<span class="TOKEN">Or</span> IsEmpty(Zelle) <span class="TOKEN">Or</span> IsDate(Zelle) <span class="TOKEN">Then</span>
<span class="TOKEN">Else</span>
Zelle = Zelle / 1.95583
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">If</span> IsEmpty(Zelle) <span class="TOKEN">Or</span> IsDate(Zelle) <span class="TOKEN">Or</span> Zelle.HasFormula = <span class="TOKEN">True</span> <span class="TOKEN">Then</span>
<span class="TOKEN">Else</span>
Zelle.NumberFormat = &quot;#,##0.00 €;-#,##0.00 €&quot;
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Next</span> Zelle
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)U


Um Quellcode komfortabel (?) einzugeben, den VBA-Editor mit der Tastenkombination ALT + F11 starten.
Es erscheint ein neues Fenster mit der Überschrift „Microsoft Visual Basic“ sowie nach einem Trennungszeichen dem Namen der Arbeitsmappe.
Das Fenster ist viergeteilt:
links oben der Projekt-Explorer
links unten das Eigenschaftsfenster
rechts oben das Codefenster
rechts unten der Direktbereich.

Als erstes über das Menü Einfügen ein neues Modul einfügen und in das Codefenster wechseln (wenn ausgeblendet, mit F7 einblenden) . Der Cursor sollte jetzt im Codefenster blinken.

Dort den Quelltext von Sub... bis einschließlich End Sub per Zwischenablage hineinkopieren, der Arbeitsmappe – wenn noch nicht geschehen – einen Namen geben beim Speichern unter und dann im jeweiligen Blatt z.B. per Aufruf über Extras – Makros – Makros ausführen und Doppelklick auf den Namen das Makro starten.

TIPP: Zur Überprüfung der Funktion eines Makros sollte ein neues Arbeitsblatt angelegt werden und die Daten aus dem richtigen Blatt dorthin kopiert werden – sollte bei der Ausführung z.B. ein falscher Bereich gewählt worden sein, liegen die Originaldaten immer noch vor. Oder Mappe unter anderem Namen speichern.

BACKUP UND SICHERUNGEN SIND SINNVOLL!!!
KEINE PASSWÖRTER IN DIESEM STADIUM VERGEBEN!!!


Zum „Plug-In“: Ich vermute, Du meinst ein AddIn; dies zu erklären würde dann doch den Rahmen dieses Beitrages etwas sprengen.

Warum legst Du dir nicht die Mappe personal.xls im Verzeichnis XLSTART an und kopierst den Code dort hinein? Da diese Datei zumindest auf Deinem Rechner automatisch gestartet wird, steht Dir der Code dort zur Verfügung...

<font color="#808080" size="3" face="Arial Black">HTH
jinx</font>

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten und die Signatur angepasst...</font>