Ich habe ein Excel-Blatt mit einer Reihe von Headern, aber einige haben keine Bindestriche. Ich brauche sie alle mit Bindestrichen, außer total.Excel VBA Ersetzen Zelle mit Antwort aus Formel
ich die Formel geschrieben haben, die die Striche auf die Header hinzufügen werden:
=IF(A1="","",IF(A1="TOTAL","TOTAL",REPLACE(SUBSTITUTE(A1,"-",""), 1, 0, "-")))
Allerdings ist das Problem, dass ich das brauchen in einem VBA-Makro, und es muss die vorhandenen Header ersetzen und die gleiche Formatierung beibehalten.
Ich bin mir nicht sicher, wie dies zu schreiben, das ist, was ich so weit gekommen:
Sub AddDash()
Dim MaxColumn As String
MaxColumn = Range("AY1").End(xlToLeft)
For i = 1 To TotalRows
Formula = "=IF(A1="","",IF(A1="TOTAL","TOTAL",REPLACE(SUBSTITUTE(A1,"-",""), 1, 0, "-")))"
Next i
End Sub
dies möglich ist, zu tun?
Ich habe etwas Ähnliches gesehen, aber ich verstehe es nicht genug, um es für meine Situation für die Hilfe
With Sheet1
With Range(.Cells(3,3), .Cells(.Rows.Count,3).End(xlup))
With .Offset(0, Sheet1.UsedRange.Columns.Count +3)
.FormulaR1C1 = "=REPLACE(REPLACE(SUBSTITUTE(RC3,""-"",""""), 9, 0, ""-""), 7, 0, ""-"")"
End With
.Value = .Offset(0, Sheet1.UsedRange.Columns.Count +3).Value
.Offset(0, Sheet1.UsedRange.Columns.Count +3).EntireRow.Delete
End With
End With
Danke zu machen die Arbeit!
nicht sicher, ob ich dir folgen. Wenn Sie eine Formel in die Zelle einfügen, wird der Inhalt der Zelle überschrieben. Wenn Sie Text in die Zelle eingeben, wird die Formel überschrieben. Ich bin mir nicht sicher, wie Ihre Formel zum Bearbeiten von Text funktioniert. – FreeMan