Anzeige
Archiv - Navigation
1288to1292
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

Code optimieren

Code optimieren
10.12.2012 21:28:13
Andy
Hallo,
ich versuche mich zur Zeit in VBA, und möchte das die letzte Zeile immer gelöscht wird und neu berechnet wird. Die ersten Zeilen sollen automatisch eine Überschrift bekommen außer die Spalte A
Und in Spalte A sind Zahlenreihen die bis zur letzten Zeile in den Spalten B C D automatisch bis zur letzten eingetragenen Zeile A Berechnet werden soll.
Spalte A hat Überschrift "Gehalt"
Spalte B soll Überschrift "Steuersatz"
Spalte C soll Überschrift "Steuerbetrag" und
Spalte D soll Überschrift "GehaltMinusSteuerbetrag" bekommen
Ist für euch sicher kein Problem, bekomme es gerade nicht hin.
Vielen Dank im Voraus!!
P.S. wenn Ihr Optimierungen für den Code habt nehme ich Vorschläge gerne an.

Sub Steuersatz()
Dim Gehalt As Single
Dim Steuersatz As Single
Dim Steuerbetrag As Single
Dim GehaltMinusSteuerbetrag As Single
Dim i As Integer
Dim Zellen As Range
ThisWorkbook.Worksheets("Tabelle3").Activate
i = 1
For Gehalt = 0 To 0
If Gehalt 

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code optimieren
11.12.2012 06:24:58
fcs
Hallo Andy,
Bei deinem Schleifen-Zähler "For Gehalt = 0 to 0" hab erst garnicht verstanden, was das soll.
Hier muss du die Zeilen von 2 bis zum letzten Eintrag in Spalte A durchlaufen und zur Auswertung jeweils den Wert in Spalte A in die Variable Gehalt einlesen.
Gruß
Franz
Sub Steuersatz()
Dim Gehalt As Single
Dim Steuersatz As Single
Dim Steuerbetrag As Single
Dim GehaltMinusSteuerbetrag As Single
Dim i As Long
Dim Zellen As Range
Dim wks As Worksheet
'ThisWorkbook.Worksheets("Tabelle3").Activate
Set wks = ActiveWorkbook.Worksheets("Tabelle3") 'ThisWorkbook.Worksheets("Tabelle3")
Application.ScreenUpdating = False
With wks
'Letzte Zeile löschen, wenn Formel in Spalte C vorhanden
With .Cells(.Rows.Count, 3).End(xlUp)
If .HasFormula = True Then .EntireRow.ClearContents
End With
'Spaltenüberschriftne / Formate
i = 1
.Range(.Columns(1), .Columns(4)).ClearFormats
.Columns(1).NumberFormatLocal = "#.##0,00 €"
'        .Cells(i, 1).Value = "Gehalt"
.Columns(2).NumberFormatLocal = "0,0 %"
.Cells(i, 2).Value = "Steuersatz"
.Columns(3).NumberFormatLocal = "#.##0,00 €"
.Cells(i, 3).Value = "Steuerbetrag"
.Columns(4).NumberFormatLocal = "#.##0,00 €"
.Cells(i, 4).Value = "GehaltMinusSteuerbetrag"
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
'Gehalt aus Spalte A (1) einlesen
Gehalt = .Cells(i, 1).Value
Select Case Gehalt
Case 0 To 12000
Steuersatz = 0.12
Case Is 

Anzeige
AW: Code optimieren
11.12.2012 06:38:38
hary
Moin Andy
Versuch mal die Mappe ob es so passt.
https://www.herber.de/bbs/user/82962.xlsm
gruss hary
Sub Steuersatz()
Dim letzte As Long
Dim i As Long
Dim Steuersatz As Double
letzte = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To letzte
Select Case Cells(i, 1)
Case Is 

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige