Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Bestimmte Werte durch andere Werte ersetzen?
#11
Danke, ich schaue mir die Datei mit Power Query an, das könnte auch sehr interessant sein.

Welchen Code kann ich noch nutzen, um am Ende nach der "Umwandlung der Zahlen in Prozentsätze" den Spaltennamen Steuerkennzeichen umzubennen in Steuersatz?

Ich habe den Code

Code:
Sub Thomas_Müller()

Dim i As Long, Spalte As Long, Suche As Range
Dim MWSt As Double

With Worksheets("UMSATZ")
   
    Set Suche = .Cells.Find(What:="Steuerkennzeichen", LookAt:=xlWhole)
    If Suche Is Nothing Then MsgBox "Keine Daten gefunden! Bitte Daten einfügen und erneut versuchen!": Exit Sub
    Spalte = Suche.Column
   
    For i = 2 To .Cells(Rows.Count, Spalte).End(xlUp).Row
        Select Case .Cells(i, Spalte).Value
            Case 76: MWSt = 0.19
            Case 78: MWSt = 0.16
            Case 55, 101: MWSt = 0.07
            Case 19: MWSt = 0.07
            Case 53: MWSt = 0.05
        End Select
        .Cells(i, Spalte) = MWSt
        .Cells(i, Spalte).Style = "Percent"
    Next i
End With

   Cells.Replace What:="Steuerkennzeichen", Replacement:="Steuersatz", LookAt _
        :=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False _
        , ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

End Sub
Antworten Top
#12
Zitat:Ich habe den Code
Und was gefällt dir daran nicht?

Ginge noch mit
Code:
.Cells(Suche.Row, Spalte) = "Steuersatz"
Schöne Grüße
Berni
Antworten Top
#13
Dein Code ist prima, das funktioniert sehr sehr gut, ich bin so zufrieden, dass du uns so einen gefallen getan hast. Spitze bist du!
Antworten Top
#14
Vielen Dank für die Blumen!
Schöne Grüße
Berni
Antworten Top
#15
Wenn ich noch neue Fragen habe, poste ich hier rein. Wie gesagt, wir haben Not in der Firma, die meisten können ein wenig Formeln, das wars aber auch schon. 
VBA oder Makros kann keiner, obwohl das auch nicht sehr schwierig ist. Ich habe ausprobiert, aber leider bin ich nicht so gut. Danke für die wirklich tolle Hilfe.

Habe heute sämtliche Listen damit ausprobiert, funktioniert 1A.
Antworten Top
#16
Ich habe noch ein kleines Problem mit dem code:

Code:
Sub Thomas_Müller()

Dim i As Long, Spalte As Long, Suche As Range
Dim MWSt As Double

With Worksheets("UMSATZ")
   
    Set Suche = .Cells.Find(What:="Steuerkennzeichen", LookAt:=xlWhole)
    If Suche Is Nothing Then MsgBox "Keine Daten gefunden!": Exit Sub
    Spalte = Suche.Column
   
    For i = 2 To .Cells(Rows.Count, Spalte).End(xlUp).Row
        Select Case .Cells(i, Spalte).Value
            Case 76: MWSt = 0.19
            Case 78: MWSt = 0.16
            Case 55, 101: MWSt = 0.07
            Case 53: MWSt = 0.05
            Case E2: MWSt = 0#
            Case E8: MWSt = 0#
           
     
           
        End Select
        .Cells(i, Spalte) = MWSt
        .Cells(i, Spalte).Style = "Percent"
    Next i
End With


   Cells.Replace What:="Steuerkennzeichen", Replacement:="Mehrwertsteuersatz", LookAt _
        :=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False _
        , ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

End Sub



Bei dem Steuerkennzeichen Case E2 und E8 macht er 5 % draus, obwohl ich 0 möchte, was mache ich hier falsch?
Antworten Top
#17
Meine Steuerkennzeichen sind nicht nur zahlen, teilweise buchstabenkombinationen oder buchstabe mit zahlen, kannst du mir das so verändern, dass es endgültig funktioniert? 

Vielen dank. Schönes Wochenende! Confused

Irgendwie erkennt der Code nicht, dass es ein buchstabe mit zahl ist...
Antworten Top
#18
Wenn ich 

Code:
      Case "E2": MWSt = 0#
      Case "E8": MWSt = 0#
           


Dann läuft alles wie es sein soll!
Antworten Top
#19
Zitat:Wenn ich 

Code:
Code:
      Case "E2": MWSt = 0#
      Case "E8": MWSt = 0#
           


Dann läuft alles wie es sein soll!
Schön, du hast selbst die Lösung gefunden! E2 ist keine Zahl und alles was keine Zahl ist, muss ergo Text sein. Text muss in VBA immer in Hochkommata gesetzt werden, ansonsten wäre es eine Variable. Verwende im VBA Editor unter Extras - Optionen den Punkt "Variablendeklaration erforderlich". Dann passiert sowas nicht, dann kriegst du nämlich eine Fehlermeldung.


Außerdem würde ich noch den Fall abhandeln, dass keines deiner im Code genannten Steuerkennzeichen zutrifft, zB so:
Code:
        Select Case .Cells(i, Spalte).Value
            Case 76: MWSt = 0.19
            Case 78: MWSt = 0.16
            ...
            Case Else: MWSt = 100000
        End Select

100000 fällt in der Tabelle sofort auf und kann händisch korrigiert werden.
Schöne Grüße
Berni
Antworten Top
#20
Hallo, vielen Dank für deine Hilfe, das funktioniert wunderbar, ich habe diese Ergängung gemacht!

Ich möchte dennoch 2 Dinge optimieren.

1. Wenn ich die Daten aus unserem Programm exportiere, bildet das Programm eine Summe (Siehe Datei WEITERES_BEISPIEL). Man sieht die gelben Zellen. 
Wenn ich nun das Makro ausführe, dann schreibt er einen Prozentsatz in de Gelbe Zelle rein, aber warum? - Lösche ich alles raus, dann funktioniert das? - Ist da etwas unsichtbares drinn?

2. Wie kann ich den Makro auf alle geöffneten Excel Dateien ausführen, damit ich die Daten nicht hin und her kopieren muss?

Vielen Dank, wünsche euch einen schönen Abend!

Kann man diesen Code so verändern, dass er einfach die Zelle leer ist, wenn kein Steuerkennzeichen drinn ist:

Case Else: MWSt = 100000

Also damit nicht 100000 kommt, sondern einfach leerzeichen z. B. damit die Zelle leer bleibt. 

Danke!


Angehängte Dateien
.xlsm   WEITERES_BEISPIEL.xlsm (Größe: 19,1 KB / Downloads: 4)
Antworten Top


Gehe zu:


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