VBA Mehrwertsteuer
#1
Hallo Excelspezialisten,

ich möchte Euch um VBA Hilfe bitten.
In Spalte E stehen in unterschiedlicher Reihenfolge Buchstaben, entweder A, B oder D. A für 6,542%, B für 15,966 % und D für 13,793%.
In Spalte F der Rechnungsbetrag. Gemäß den Buchstaben in Spalte E soll automatisch aus dem Rechnungsbetrag die Mehrwertsteuer heraus
gerechnet und in Spalte G eingetragen werden. Da es sich um Einträge im 5- stelligen Bereich handelt bitte keine Formel, da es furchtbar
verlangsamt.

Wer von Euch kann helfen.
Gruß
wolf ludwig
Top
#2
Hallo Ludwig,

1. würde es die Hilfe erleichtern, wenn du eine Beispieldatei eingestellt hättest, dann brauchte man das zum Testen nicht nachbauen.

2. ist es nicht sicher, das so etwas per VBA beschleunigt werden kann.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Hola,

Code:
=F2*WENN(E2="a";0,06542;WENN(E2="b";0,15966;0,13793))
Gestestet mit 115000 Zeilen. Änderungen in der Formel die dann direkt auf alle Formeln wirken in unter 1 Sekunde. Sollte doch schnell genug sein, oder?
Gruß,
steve1da
Top
#4

.xlsm   Beispiel.xlsm (Größe: 10,08 KB / Downloads: 5)

Der Gedanke lag bei Public oder Privat, da nicht sicher ist wieviele Einträge es wirklich werden.
Top
#5
(15.04.2021, 10:44)wolf ludwig schrieb: Da es sich um Einträge im 5- stelligen Bereich handelt bitte keine Formel, da es furchtbar
verlangsamt.
Ich glaube, das ist ein alter Irrglaube. Wie kommst Du darauf, dass VBA schneller rechnet als eine Formel?

VBA ist übrigens Single-Threaded während die Excel-Funktionen Multi-Threaded sind. Dadurch sind Formlen in vielen Szenarien schneller als VBA:
https://docs.microsoft.com/en-us/office/...n-in-excel

Zitat:Excel uses a single main thread to run or execute the following:
[...]
Microsoft Visual Basic for Applications (VBA) user-defined commands (often referred to as macros)
VBA user-defined functions
Gruß
Michael
Top
#6
Hallöchen,

Zitat:Der Gedanke lag bei Public oder Privat, da nicht sicher ist wieviele Einträge es wirklich werden.

schaue in dem Fall nach den Variablentypen wie Intger, Long usw.

Zitat:Ich glaube, das ist ein alter Irrglaube. Wie kommst Du darauf, dass VBA schneller rechnet als eine Formel?

zuweilen bringt es was, mit VBA gezielt und temporär in Bereichen Formeln zu platzieren und nach der Berechnung durch Werte zu ersetzen. VBA rechnet da zwar gar nichts, aber es beschleunigt die Arbeit mit einer Datei je nach Anzahl der Formeln zum Teil erheblich.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#7
(15.04.2021, 10:44)wolf ludwig schrieb: ich möchte Euch um VBA Hilfe bitten.

Wer von Euch kann helfen.

Hallo, 19

du könntest z. B. die Formel per VBA schreiben und dann in den Wert umwandeln. Oder - auch sehr schnell - du machst es per Array. Der Vorteil von VBA in einer Datei mit vielen Formeln ist für mich - (M)man(n) muss sich nicht mehr um den Berechnungsstaus kümmern, denn da wird nichts mehr berechnet (wobei die Formel von steve1da auch bei größeren Bereichen sehr flott ist). 21

Melde dich kurz, wenn du ein Beispiel brauchst. Dodgy
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste