Ich versuche, eine Formel statt filldown
Schleife, weil ich zwei Formeln je nach der Länge des Textes in Zelle der Zelle A haben.Loop-Formel in Excel VBA
meine beiden Formeln sind wie
.Range("C2").Formula = "=CHAR(83)&CHAR(45)&LEFT(A2,LEN(A2)-9)&CHAR(45)&UPPER(MID(A2,4,LEN(A2)-8))&CHAR(32)&D2&E2"
.Range("C2").Formula = "=LEFT(A2,LEN(A2)-9)&CHAR(45)&UPPER(MID(A2,8,LEN(A2)-12))&CHAR(32)&D2&E2"
Dies ist, was ich bisher haben.
Sub AddFormulas()
Application.ScreenUpdating = False
Dim aCell As String
Dim cCell As String
Dim dCell As String
Dim eCell As String
Dim rowStart As Integer
Dim aCol As Integer
Dim cCol As Integer
Dim dCol As Integer
Dim eCol As Integer
Dim LastRow As Long
LastRow = Range("A" & Rows.Count).End(xlUp).Row
rowStart = 2
aCol = 1
cCol = 3
dCol = 4
eCol = 5
'Range("A2")
aCell = Cells(rowStart, aCol).Address(RowAbsolute:=False, _
ColumnAbsolute:=False)
'Range("C2")
aCell = Cells(rowStart, cCol).Address(RowAbsolute:=False, _
ColumnAbsolute:=False)
'Range("D2")
dCell = Cells(rowStart, dCol).Address(RowAbsolute:=False, _
ColumnAbsolute:=False)
'Range("E2")
eCell = Cells(rowStart, eCol).Address(RowAbsolute:=False, _
ColumnAbsolute:=False)
With ThisWorkbook.Sheets("Sheet1")
.Range(cCell).Formula = "=CHAR(83)&CHAR(45)&LEFT(aCell,LEN(aCell)-9)&CHAR(45)&UPPER(MID(aCell,4,LEN(aCell)-8))&CHAR(32)&(dCell)&(eCell)"
End With
Application.ScreenUpdating = True
End Sub
Thx
Ersetzen Sie in der '.Formula'-Anweisung jede' aCell' durch '" & aCell & "'. Machen Sie das Gleiche für 'dCell' und' eCell'. –
Und ändern Sie "aCell" zu "cCell" direkt unter Ihrem '' Bereich ("C2") 'Kommentar. – YowE3K
re: * weil ich zwei Formeln habe, abhängig von der Länge des Textes in der Zelle von Zelle Zelle * - das ist was nicht vollständig beschrieben wurde. Sie sollten leicht in der Lage sein, eine Formel für alle zu verwenden. – Jeeped