2015-12-08 97 views
2

我想要定義兩個範圍(myADR & myOCC)在一個最小公式中使用。但是我不斷收到這個1004錯誤。我嘗試了兩種方式,第二種方式已被註釋掉。有誰知道如何解決這一問題?應用程序定義的或對象定義的錯誤1004

Sub LinestFormula() 

Dim nCols As Integer 
Dim myOCC As Range 
Dim myADR As Range 
Dim nRows3 As Integer 

Range("A1").CurrentRegion.Select 
nCols = Selection.Columns.Count 

ActiveCell.Offset(5, 1).Resize(1, nCols - 2).Select 
Selection.Copy 
Range("A1").Select 
Selection.End(xlToRight).Offset(0, 2).Select 
ActiveCell = "OCC" 
ActiveCell.Offset(1, 0).Select 
Selection.PasteSpecial xlPasteValues, Transpose:=True 
nRows3 = Selection.Rows.Count 
'Selection = myOCC 


Cells(5, 2).Select 
Selection.Resize(1, nCols - 2).Select 
Selection.Copy 
Range("A1").Select 
Selection.End(xlToRight).Offset(0, 3).Select 
ActiveCell = "ADR" 
ActiveCell.Offset(1, 0).Select 
Selection.PasteSpecial xlPasteValues, Transpose:=True 

Range("A1").End(xlToRight).Offset(1, 2).Resize(nRows3, 1).Select 
Selection = myOCC 
Range("A1").End(xlToRight).Offset(1, 3).Resize(nRows3, 1).Select 
Selection = myADR 
+2

我會盡量避免使用。選擇和ActiveCell,並做同樣的這些行動如果可能的話。閱讀和理解起來會更容易,並且可能更容易發現問題。 哪一行是代碼失敗? – Alex4336

+1

不知道爲什麼你會得到這個,但僅供參考.select可能有問題。看看這裏看看如何避免使用它們。 http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros – MatthewD

+0

我也想知道你怎麼可能知道什麼是活動細胞時,這個子被稱爲,那麼你怎麼知道你將會在做什麼。 –

回答

3

而不是:

Selection = myOCC 

使用:

Set myOCC = Selection 

+0

這工作,非常感謝你! –

相關問題