Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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中键入SAS提示值以运行存储进程?_Excel_Vba_Sas - Fatal编程技术网

如何在Excel中键入SAS提示值以运行存储进程?

如何在Excel中键入SAS提示值以运行存储进程?,excel,vba,sas,Excel,Vba,Sas,我使用VBA的经验非常有限。以下VBA代码运行SAS存储进程,并将结果放置在Excel电子表格中。存储的进程提示符“EUID”设置为返回值5555。如何修改代码,以便从电子表格中的单元格(例如B1单元格)提取提示值,而不是在代码中定义?我希望最终用户能够在单元格中键入EUID值,按下按钮运行宏,然后返回数据集。谢谢你的帮助 Sub InsertStoredProcessWithPrompts() Dim sas As SASExcelAddIn Set sas = Application.COM

我使用VBA的经验非常有限。以下VBA代码运行SAS存储进程,并将结果放置在Excel电子表格中。存储的进程提示符“EUID”设置为返回值5555。如何修改代码,以便从电子表格中的单元格(例如B1单元格)提取提示值,而不是在代码中定义?我希望最终用户能够在单元格中键入EUID值,按下按钮运行宏,然后返回数据集。谢谢你的帮助

Sub InsertStoredProcessWithPrompts()
Dim sas As SASExcelAddIn
Set sas = Application.COMAddIns.Item("SAS.ExcelAddIn").Object
Dim prompts As SASPrompts
Set prompts = New SASPrompts
prompts.Add "EUID", "5555"
Dim a1 As Range
Set a1 = Sheet5.Range("A1")
sas.InsertStoredProcess "/User Folders/Stored Process 1", c1, prompts
End Sub
你可以试试这个:

Sub InsertStoredProcessWithPrompts()
Dim sas As SASExcelAddIn
Set sas = Application.COMAddIns.Item("SAS.ExcelAddIn").Object
Dim prompts As SASPrompts
Set prompts = New SASPrompts
prompts.Add "EUID", activesheet.cells(1,2).value 'This is cell B1
Dim a1 As Range
Set a1 = Sheet5.Range("A1")
sas.InsertStoredProcess "/User Folders/Stored Process 1", c1, prompts
End Sub