2016-07-26 68 views
0
Sub tcptiff() 

Dim TCP As String 
Dim eebo As String 
Dim tiff As String 
Dim facpage As String 

On Error GoTo Errorcatch 

TCP = Range("F1").Value 
tiff = Range("F2").Value 
eebo = ActiveCell(0, 0).Value 
facpage = ActiveCell(, 3).Value 

If IsEmpty(Range(ActiveCell(, 3))) = False Then 
    If Len(eebo) = 2 Then 
     ActiveCell(, 1).Value = TCP & "-" & "00" & Left(eebo, 1) & "-" & Right(eebo, 1) 
     ActiveCell(, 2).Value = tiff & "_Page_" & facpage 

    ElseIf Len(eebo) = 3 Then 
     ActiveCell(, 1).Value = TCP & "-" & "0" & Left(eebo, 2) & "-" & Right(eebo, 1) 
     ActiveCell(, 2).Value = tiff & "_Page_" & facpage 
    End If 

End If 

Errorcatch: 
MsgBox Err.Description 

End Sub 

我想寫一個excel宏,以便它填充兩列與相鄰單元格的相關信息。我在Sheet2代碼中編寫了宏。我一直在獲取object'_Factory的'範圍'失敗。問題是什麼?我試圖指定工作表,但這不能解決問題。object'_Worksheet'的方法'範圍'失敗原因?

+1

你必須WS2設置爲實際的工作表。只要告訴VBA它是一張工作表就不會削減它。 – sous2817

+0

oops我上傳了錯誤的副本。我試過ws2 =工作表(「Sheet2」)並添加了ws2。到所有的方法和對象,但宏從未運行。儘管謝謝你的幫助。沒有ws2。你會如何修復代碼? – pietnam

回答

0

的問題是:

If IsEmpty(Range(ActiveCell(, 3))) = False Then 

ActiveCell(3)已經是一個範圍,這樣:

If IsEmpty(ActiveCell(, 3)) = False Then 
+0

非常感謝。這是我的一個新人的錯誤 – pietnam