2017-06-20 138 views
0
Sub VBA_Read_External_Workbook() 

' Get customer workbook... 
Dim customerBook As Workbook 
Dim filter As String 
Dim caption As String 
Dim customerFilename As String 
Dim customerWorkbook As Workbook 
Dim targetWorkbook As Workbook 
Dim sheet As String 


' make weak assumption that active workbook is the target 
Set targetWorkbook = Application.ActiveWorkbook 

' get the customer workbook 
filter = "Text files (*.xlsb),*.xlsb" 
caption = "Please Select an input file " 
customerFilename = Application.GetOpenFilename(filter, , caption) 

Set customerWorkbook = Application.Workbooks.Open(customerFilename) 
sheet.Unprotect ("CADDRP") 

' assume range is A1 - C10 in sheet1 
' copy data from customer to target workbook 
Dim targetSheet As Worksheet 
Set targetSheet = targetWorkbook.Worksheets(1) 
Dim sourceSheet As Worksheet 
Set sourceSheet = customerWorkbook.Worksheets(3) 


targetSheet.Range("A1", "C10").Value = sourceSheet.Range("D85", "D95").Value 

' Close customer workbook 
customerWorkbook.Close 

末次撤消工作表/工作簿的Excel VBA

嗨,大家好, 所以我设法得到这个工作,但我的一些客户端文件保护。所以搜索一下我已经设法挤压一行sheet.unprotect代码在里面。但它给我一个错误,不是“Object Required”运行时错误'424'。我是一名擅长VBA的新手,希望能指出我的正确方向。我猜我错过了过程中的一些变量声明?

回答

2

假设你需要Unprotect,而不是工作簿 ..删除sheet.Unprotect行,你有它目前并把它放回后设置SourceSheet:

Set sourceSheet = customerWorkbook.Worksheets(3) 
sourceSheet.Unprotect ("CADDRP") 
+0

谢谢CLR!只是意识到我把这条线放在了错误的地方。非常感谢 –

相关问题