Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从excel调用VBA函数_Vba_Excel - Fatal编程技术网

从excel调用VBA函数

从excel调用VBA函数,vba,excel,Vba,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 & " " E

我正在创建一个函数,将一个范围内的所有单元格连接到单个单元格中。该功能一切正常

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
如果我将它保存在打开的工作簿中,我可以从excel调用它。如果我将此函数保存到我的个人工作簿中,当我要调用它时,它不会出现在excel中


我做错了什么?

如果您想在电子表格中使用此功能,请键入Personal.xlsb!转座体范围。如果您只想转置,则必须创建包含此UDF的add id

您是否已将个人工作簿保存为启用宏的工作簿?要保存VBA代码,文件应为.xlsm或.xlsb。我不这么认为,我看到它被称为personal.xlsb。由于在%appdata%中找不到该文件,如何将该文件从.xlsb更改为.xlsm?