2017-11-06 3 views
0

Ich erstelle eine Funktion zum Verketten aller Zellen in einem Bereich in einer einzelnen Zelle. Mit der Funktion funktioniert alles einwandfrei.VBA-Funktionsaufruf von Excel

Function transposerange(Rg As Range) 
    Dim xCell As Range 
    Dim xStr As String 
    For Each xCell In Rg 
     If Not IsEmpty(xCell.Value) Then 
      xStr = xStr & xCell.Value & " " 
     End If 
    Next 
    transposerange = Left(xStr, Len(xStr) - 1) 
End Function 

Wenn ich es in der geöffneten Arbeitsmappe speichern, kann ich es von Excel aufrufen. Wenn ich diese Funktion in meiner persönlichen Arbeitsmappe speichern, wird sie nicht in Excel angezeigt, wenn ich sie aufrufen möchte.

Was mache ich falsch?

+2

Haben Sie Ihre persönliche Arbeitsmappe als Makroarbeitsmappe gespeichert? –

+0

Datei sollte .xlsm oder .xlsb zu speichern VBA-Code – Gadziu

+0

ich glaube nicht, ich sehe, dass es Personal.xlsb genannt wird. Wie ändere ich die Datei von .xlsb in .xlsm, weil ich sie nicht in% appdata% finden kann? –

Antwort

1

Wenn Sie diese Funktion in Ihren Tabellen verwenden möchten, geben Sie Personal.xlsb! Transposerange (somorange) ein. Wenn Sie nur Transpositionen möchten, müssen Sie add-id mit dieser UDF erstellen.