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.

Zelleninhalt mit € suchen und mit xx% beaufschlagen
#1
Hallo Community,

zunächst euch allen ein frohes neues Jahr! :)
Ich habe hier mehrere Arbeitsblätter und müsste von Fall zu Fall die Zellen in denen € enthalten sind beaufschlagen.
Ist es möglich, ein Makro zu schreiben der mir die Zellen A1:J67 durchsucht und alle Zellen in denen ein € oder als Buchhaltung formatiert sind beaufschlagt?
Könnte mir hierzu jemand helfen?  Blush

Besten Dank im Voraus und viele Grüße Steve
Antworten Top
#2
Hallo,

Code:
Public Sub Aufschlag()
Dim raZelle As Range

With Worksheets("Tabelle1")
    For Each raZelle In .Range("A1:J64")
        Select Case raZelle.NumberFormat
            Case "$#,##0.00_);($#,##0.00)", "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
                raZelle = raZelle + (raZelle * 10 / 100)
            Case Else
        End Select
    Next raZelle
End With
End Sub

Gruß Werner
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • tyr0n
Antworten Top
#3
wow! Danke das funktioniert. Mein Ansatz mit .Find("€", lookat:=xlPart, MatchCase:=True) hat nicht tadellos geklappt :(
Antworten Top
#4
Hallo,

nach einigen Versuchen und das Einbetten in meine Exceldatei hat die Lösung von Werner nicht mehr funktioniert. 
Ich habe im www eine alternative gefunden und diese etwas umgeschrieben. Das komische daran ist, manchmal funktioniert es, manchmal nicht. Ich kann es leider nicht reproduzieren. Eventuell liegt es an einer Excelversion? Ich bin etwas Ratlos.

Ich möchte gerne weiterhin alle Zellen in einem Activesheet nach € suchen und diesen Zelleninhalt um X% reduzieren.
Hier mein Code:

Private Sub CommandButton1_Click()

  Dim rngBer As Range
  Dim rngFund As Range
  Dim strAdr As String

prozwert = InputBox("Prozentwert eingeben")
prozwert = 1 - (prozwert / 100)

  Set rngBer = ActiveSheet.UsedRange
  Set rngFund = rngBer.Find("€", lookat:=xlPart, MatchCase:=True)
  With rngFund
    .Value = .Value * prozwert
    '.Value = Application.WorksheetFunction.RoundUp(.Value * prozwert, 0)
    strAdr = .Address
  End With

  Do
    Set rngFund = rngBer.FindNext(rngFund)
    If rngFund.Address = strAdr Then Exit Sub
    With rngFund
    .Value = .Value * prozwert
    '.Value = Application.WorksheetFunction.RoundUp(.Value * prozwert, 0)
    End With
  Loop
End Sub


Und hier die Datei: 


.xlsm   Alle Zellen mit Euro suchen.xlsm (Größe: 20,28 KB / Downloads: 2)

Funktioniert das bei jemanden?

Vielen Dank im Voraus.

Grüße Steve
Antworten Top
#5
Hallo Steve,
Set rngFund = rngBer.Find(What:="€", LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • tyr0n
Antworten Top
#6
Besten Dank Uwe! Es funktioniert! :) :)
Antworten Top
#7
Moin!
Zu MatchCase:=True
Gibt es auch ein kleines €?

*DuckUndWeg*

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
19
Antworten Top


Gehe zu:


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