繁体   English   中英

VBA EXCEL - 打开文件并将路径分配给新的工作簿路径

[英]VBA EXCEL - open file and assign path to a new workbook path

那里。 我正在尝试传递一个文件路径来定义一个新工作簿的路径......一切看起来都很好,直到我在该行得到“下标超出范围”:

设置 rngS = Workbooks(wkbS).Range("myRange1")

我已经减少了原始文件名的长度,以及它的文件夹目录名称等...我还在字符串、变体等之间切换了类型定义...我将不胜感激任何建议。 很多。

错误

Sub myMain()

dim wkbS as string
dim rngS as range

wkbS = open_file_src
Debug.Print "w_source_path is : " & wkbS

Set rngS = Workbooks(wkbS).Range("myRange1")      
debug.print "Range rngS : " & rngS.address
End Sub


Function open_file_src() As String
   
    strFile_src = Application.GetOpenFilename(filefilter:="Excel files,*.x*", Title:="Select SOURCE file")
    Workbooks.Open Filename:=strFile_src
    Debug.Print "open_file_src PATH is : " & strFile_src
    
    open_file_src = strFile_src
        
End Function

您必须传递没有路径的目标工作簿的名称,因为它在 Excel 上打开:

wkbS="ChoosedWorkbook.xls"

然后有两种方法可以设置 rngS 范围:

Set rngS =  = Workbooks(wkbS).Names("myRange1").RefersToRange

或者,传递包含目标范围的工作表名称:

Set rngS = Workbooks(wkbS).Sheets("theNameOfTheSheet").Range("myRange1")

修改后的代码来获取文件名:

Function open_file_src() As String
   Dim strFile_src As String
    strFile_src = Application.GetOpenFilename(filefilter:="Excel files,*.x*", Title:="Select SOURCE file")
    Workbooks.Open Filename:=strFile_src
    Debug.Print "open_file_src PATH is : " & strFile_src
    
    open_file_src = Right(strFile_src, Len(strFile_src) - InStrRev(strFile_src, "\"))
        
End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM