2017-03-01 995 views
0

我在Excel中有一個自定義VBA函數,名爲Combine。它只是將逗號分隔的多個單元格組合起來。如何將自定義函數永久存儲在Excel中?

我能夠通過執行以下操作

  1. 我點擊添加新功能ALT + F11
  2. 然後我在「插入」點擊然後「模塊」
  3. 我插入下面的VBA代碼進入它

Function Combine(WorkRng As Range, Optional Sign As String = ",") As String 
Dim Rng As Range 
Dim OutStr As String 
For Each Rng In WorkRng 
    If Rng.Text <> Sign Then 
     OutStr = OutStr & "'" & Rng.Text & "'" & Sign 
    End If 
Next 
Combine = Left(OutStr, Len(OutStr) - 1) 
End Function 

然後我可以很容易地執行該功能等,從而通過Combine(A1:A25)與單個配額包裹它們,用逗號分開的值的所有小區A1結合A25。

然後問題是,當我關閉excel並打開一個新的工作表時,函數消失了,我無法重用它。

如何永久保存此功能,以便在創建新工作表時能夠重複使用它?

+2

[創建一個外接(http://www.ozgrid.com/VBA/excel-add-in-create.htm) –

回答

2

將函數寫入Excel文件後,將文件另存爲.xlam文件。這是一個Excel插件文件。

然後你需要去選擇和加載並加載你的文件。

現在將來這個'文件'將一直開放。

您可以隨時點擊alt-f11來訪問它。

link with details距離著名的ozgrid

+0

所以就把代碼AA文本文件,然後更改擴展名?我將在哪裏存儲這個文件? – Jaylen

+0

@Jaylen不,您將啓用宏的工作簿保存爲* Excel加載項*文件,並在啓動時讓Excel加載該加載項。如果你做得對,那麼Excel會處理「我在哪裏保存」部分。 –

+1

@Jaylen在這裏是另一個來源。向下滾動一下,它會給你一步一步的說明與圖片。 https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f –