粘贴从InputBox输入的答案然后运行宏

时间:2014-11-16 20:46:29

标签: excel vba excel-vba inputbox

此方案是previous post的变体。具体来说,我想根据输入框中输入的路径填充GetFolder函数。输入路径后,将该路径粘贴到另一个宏中的GetFolder变量中。

Private Sub reg_path() 
 Dim inputData As String 
 inputData = Application.InputBox("What is the path to your register?", "Enter Path", Type:=2) 
 If inputData = 2 Then 
'paste that path into the "Set dirObj = mergeObj.Getfolder("C:\result\of\user\input")" line of the next macro' 

End If 
End Sub 

这是将运行的下一个宏

    Sub simpleXlsMerger()
 Dim bookList As Workbook
 Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
 Application.ScreenUpdating = False
 Set mergeObj = CreateObject("Scripting.FileSystemObject")

 'change folder path of excel files here
 Set dirObj = mergeObj.Getfolder("C:\result\of\user\input")
 Set filesObj = dirObj.Files
 For Each everyObj In filesObj
 Set bookList = Workbooks.Open(everyObj)

 'change "A2" with cell reference of start point for every files here
 'for example "B3:IV" to merge all files start from columns B and rows 3
 'If you're files using more than IV column, change it to the latest column
 'Also change "A" column on "A65536" to the same column as start point
 Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy
 ThisWorkbook.Worksheets(1).Activate

 'Do not change the following column. It's not the same column as above
 Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
 Application.CutCopyMode = False
 bookList.Close
 Next
 End Sub

任何意见都会非常感激,并提前感谢。

0 个答案:

没有答案