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.

Makro zu $ Zeichen nachträglich setzen.
#1

Hallo Ihr Lieben. Muss mich immer wieder bei Euch für Eure schnelle Hilfe bedanken. Ein neues _
Problem tut sich mir auf. Ich habe über die Internetsuche ein Makro erstellt. Mit diesem kann _ ich auch nachträglich die $ Zeichen setzen, aber nur jedes Arbeitsblatt einzeln. Würde aber gerne dies für die ganze Arbeitsmappe mit einem klick erledigen, da es sehr Monoton und langwierig ist bei der Fülle der ASrbeitsblätter.. Habt ihr eine Idee wie das funktionieren könnt. Muss im Makro noch was geändert werden. Mit Gruppenbildung hat es nicht geklappt. Trotz Markierung aller Arbeitsblätter nimmt es immer nur das Erste.

Sub Dollar_in_Formeln()
    On Error GoTo Fehler
    Dim RNG As Range

    For Each RNG In Selection.SpecialCells(xlCellTypeFormulas)
        RNG.Formula = Application.ConvertFormula(RNG.Formula, xlA1, , xlAbsolute)
    Next
    Err.Clear
Fehler:
        If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _
Clear
End Sub



Hier der Text des Makros. Wäre sehr schön, wenn mal jemand darüber schauen und eine Idee hätte.
Antworten Top
#2
Hola,

wenn du schon mehrere Foren bemühst, verlinke deine Fragen wenigsten gegenseitig.

Gruß,
steve1da
Antworten Top
#3
Ich weiss nicht mehr genau wo ich es her habe. Zu der Zeit war ich noch nicht so weit. Dachte ja, wenn ich das im Arbeitsmappenordner erstelle, das ich dann alles mit dem Makro erstellen kann. Aber es geht halt so, nur Blatt für Blatt. Sorry. Werde es mir für die Zukunft merken und die Quelle dokumentieren. Für eventuelle Hilfe wäre ich trotzdem sehr dankbar.
Antworten Top
#4
Hola,

du hast das falsch verstanden. Du sollst hier einen Link zur gleichen Frage im anderen Forum setzen und umgekehrt.

Gruß,
steve1da
Antworten Top
#5
Hola,

ok, scheinbar nicht.

https://www.herber.de/forum/archiv/1752t...tm#1752072

Gruß,
steve1da
Antworten Top
#6
Hallo,

Du hast wahrscheinlich nicht bemerkt, dass im anderen Forum Hajo Deinen Code erweitert und somit eine Lösung für Dein Problem eingestellt hat.
Schau Dir den Code von Hajo noch einmal an.

Hallo noch einmal,

da Hajo so etwas nicht testet, habe ich es mal gemacht und gesehen, dass seine Erweiterung nicht funktioniert.
Hätte man ja darauf kommen können. Each Range in Specialcells kann nur im aktivierten Blatt funktionieren.

So ginge es:

Code:
Sub Dollar_in_Formeln()
    On Error GoTo Fehler
    Dim RNG As Range
    Dim WsTabelle As Worksheet
    For Each WsTabelle In Worksheets
      WsTabelle.Select
        For Each RNG In Selection.SpecialCells(xlCellTypeFormulas)
            RNG.Formula = Application.ConvertFormula(RNG.Formula, xlA1, , xlAbsolute)
        Next
    Next WsTabelle
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _
        Clear
End Sub
Gruß Atilla
Antworten Top
#7
Hallöchen,

Einspruch:

Zitat:Each Range in Specialcells kann nur im aktivierten Blatt funktionieren.

So klappt's auch mit dem Nachbarn:

For Each RNG In WsTabelle.Cells.SpecialCells(xlCellTypeFormulas)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Hallo Andre,

Einspruch gestattet. Dodgy 

Ich hatte mich darauf konzentriert, dass nur in einem bestimmten Selektierten Bereich Formeln angepasst werden sollten und nicht in allen möglichen Formelzellen des gesamten Blattes.

Wenn es so ist wie ich annehme, dass Hanse Hans einen Bereich auswählt und nur in diesem Bereich die Formeln angepasst werden sollen, dann würde ich es wie folgt lösen:

Code:
Sub Dollar_in_Formeln_ati()
   Dim WsTabelle As Worksheet
   Dim RNG As Range
   Dim strngRange As String

   strngRange = Selection.Address
   For Each WsTabelle In Worksheets
      For Each RNG In WsTabelle.Range(strngRange).SpecialCells(xlCellTypeFormulas)
        RNG.Formula = Application.ConvertFormula(RNG.Formula, xlA1, , xlAbsolute)
      Next RNG
   Next WsTabelle
     
End Sub
Gruß Atilla
Antworten Top


Gehe zu:


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