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.

Werte ersetzen
#1
Hallo, kann mir jemand bitte einen Tip zu folgendem Thema geben.

Ich habe in den Zellen formeln stehen und ich möchte die Zahlen (=L24/(155*8) in diesem Fall 8 durch eine 9 ersetzen. Nur möchte ich einen Schritt weitergehen und sagen finde herraus ob ein Werte zwischen 1-12 enthalten ist und wenn ja wechsel diesen mit 9 aus.

Hat da jemand ein Tip ?

Sub Formel_ersetzen()

Dim raus As Integer
Dim rein As Integer

raus = 8 
rein = 9

Worksheets("Cockpit").Activate
Range("K24").Select

For Each cell In Selection
    If cell.HasFormula = True Then
        cell.Formula = Application.WorksheetFunction.Substitute(cell.Formula, raus, rein)
    End If
 
Next


End Sub
Antworten Top
#2
Hallo

geht es nur um diese Formel in einer Zelle?
dann ist das select recht überflüssig

Code:
Sub Formel_ersetzen()
   Dim raus As Integer
   Dim rein As Integer
   Dim rngZelle As Range
   rein = 9
   Worksheets("Cockpit").Activate
   Range("K24").Select
   For Each rngZelle In Selection
       If rngZelle.HasFormula Then
           raus = Right(rngZelle.Formula, Len(rngZelle.Formula) - 9)
           If raus >= 1 And raus <= 12 Then
               rngZelle.Formula = Left(rngZelle.Formula, 9) & rein
           End If
       End If
   Next
End Sub
MfG Tom
Antworten Top
#3
Moin. Ja du hast Recht Sie wird für mehrere Zellenbereich wirken müssen.

Ich habe mir deine Formel mal angeschuat und verstehe nicht ganz wie diese funkt. soll ?
Kann Du mir das mal genauer erläutern bitte ?

Bzw. funkt bei Dir ? Bei mir leider nicht ganz

Gruß
Antworten Top
#4
Hallöchen,

das ist doch keine Formel, sondern ein Makro Smile
Im Prinzip wird davon ausgegangen, dass Dein Formelstring der rechte Teil der Formel ist und dort wird dann getauscht ...

Das Problem ist wohl, dass nach Durchlauf des Makros aus einer 100 Zeichen langen Formel eine 9 Zeichen lange wird und dann noch die 9 dahinter geschrieben.

Ich würde eventuell in einer Schleife nach *1) *2) *3) usw. suchen und das dann durch '12) ersetzen. Nur nach 2 oder 4 oder anderes geht ja nicht, weil die Zahlen auch an anderer Stelle in der Formel stehen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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