Excel 使用filedialog选择并打开工作簿,并立即在新打开的工作簿中运行宏

Excel 使用filedialog选择并打开工作簿,并立即在新打开的工作簿中运行宏,excel,vba,Excel,Vba,我有一个工作簿,带有启动文件对话框的按钮,打开新工作簿后,我希望能够立即运行一组宏。我用于打开文件的代码是: Sub openFile() Dim SelectedFileItem As String Dim fDialog As FileDialog Set fDialog = Application.FileDialog(msoFileDialogOpen) With fDialog 'Custom dialog title .Title = "Seleccione

我有一个工作簿,带有启动文件对话框的按钮,打开新工作簿后,我希望能够立即运行一组宏。我用于打开文件的代码是:

Sub openFile()

Dim SelectedFileItem As String
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogOpen)
    With fDialog
    'Custom dialog title
    .Title = "Seleccione uno o varios archivos"
    .AllowMultiSelect = False
    'Set the file path
    .InitialFileName = "C:\Users\Public"
    'Filters for file types allowed
    .Filters.Clear
    .Filters.Add "Excel files", "*.xlsx"
    If .Show = -1 Then
    'if user clicks OK
    SelectedFileItem = .SelectedItems(1)
    'Open the selected file
    Workbooks.Open (SelectedFileItem)
    Else
    'if user clicks Cancel
    End If
    End With
End Sub
选择并打开新工作簿后,我要立即运行的宏集是:

Sub ReemplazarDotComma()

Dim ws_num As Integer
ws_num = ThisWorkbook.Worksheets.Count
Dim i As Integer

For i = 1 To ws_num
    ThisWorkbook.Worksheets(i).Activate
    Range("Y2:Y70").Select
        ActiveWindow.SmallScroll Down:=-60
        Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
Next
End Sub

我想在选择并打开新工作簿后立即运行…
那么您面临的问题是什么?当您从一个工作簿打开运行宏的工作簿时,打开的工作簿将变为activeworkbook。因此,您可以在原始工作簿中运行所有这些宏。但是,不要提及此工作簿,而要提及activeworkbook。这组宏无法识别新工作簿并在第一个工作簿中运行workbook@NareshBhople:使用
ActiveWorkbook
是一个不好的建议。gmark。将新打开的工作簿存储在对象中,例如
Set wb=Workbooks.Open(SelectedFileItem)
,然后在宏中使用
wb
而不是
thiswoolk
Sub Convertir_Variant()

Dim ws_num As Integer
ws_num = ThisWorkbook.Worksheets.Count
Dim i As Integer
Dim j As Integer
For i = 1 To ws_num
    ThisWorkbook.Worksheets(i).Activate
    For j = 2 To 70
        Cells(j, 25) = ConvertToVariant(Cells(j, 25))
    Next
Next
End Sub