Obwohl Sie dies mit einer Arbeitsblattfunktion versehen haben, sprechen Sie über die Verwendung von VBa in der Frage. Diese VBA führt beide Beispiele aus, die Sie angegeben haben
Option Explicit Sub EeekPirates() Dim formula As String formula = Range("B4").formula Dim split1() As String split1 = Split(formula, "(") Dim temp As String temp = Replace(split1(1), ")", "") Dim splitty() As String splitty = Split(temp, ":") Dim firstCol As Integer firstCol = AscW(Left(splitty(0), 1)) Dim secondCol As Integer secondCol = AscW(Left(splitty(1), 1)) Dim firstRow As Integer firstRow = Right(splitty(0), 1) Dim secondRow As Integer secondRow = Right(splitty(1), 1) Range("B5").Value = "" ' this could be updated to `B4 = ` Dim i As Integer Dim j As Integer For j = firstRow To secondRow For i = firstCol To secondCol Range("B5").Value = Range("B5").Value & Chr(i) & j & "+" Next i Next j Dim length As Integer length = Len(Range("B5").Value) - 1 Range("B5").Value = Left(Range("B5").Value, length) End Sub
Denken Sie daran, dass es kein Undo gibt, also nehmen Sie zuerst ein Backup auf.
Wie füge ich VBA in MS Office hinzu?
Beispiel mit A1: D1
Beispiel mit A1: D2
Laut den Kommentaren im Code, wenn Sie von aktualisieren
Range("B5").Value = ""
zu
Range("B5").Value = "B4 = "
Sie werden am Ende mit (in B5)
B4 = A1 + B1 + C1 + D1