我試圖創建一個數據庫,它將從主工作簿中複製選定範圍的數據並將其複製到單獨的工作簿中。從一個工作簿中複製選定的單元格並將其複製到另一個
導致該問題的代碼如下。第二個工作簿基於「W2」的值打開。新的行應插入到新的Wb中,然後格式化,然後粘貼所選單元格的值。
'Select data to be copied
ActiveCell.Resize(1, 4).Copy
'Open Lessons Learned Db
Location = Range("W2").Value
Set Lessons = Workbooks.Open(Location)
Set LL = Sheets("Lessons Learned")
Windows("Lessons Learned Database.XLSM").Activate
Sheets("Lessons Learned").Activate
'Insert New Row
Range("5:5").Activate
ActiveCell.Offset(1).EntireRow.Insert
'Enter Odd Or Even VALUE
Range("A7").Select
OE = ActiveCell.Value
If OE = 1 Then
Range("A6").Select
ActiveCell.FormulaR1C1 = 0
Else
Range("A6").Select
ActiveCell.FormulaR1C1 = 1
End If
'Hide Permanently Hidden Rows -LINE BELOW GIVES ERROR 1004
Rows("5:5").Select
Selection.EntireRow.Hidden = True
Columns("A").Select
Selection.EntireColumn.Hidden = True
'FORMAT ROW
Range("A6").Select
SC = ActiveCell.Value
If SC = 1 Then
Range("B6:N6").Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End If
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
任何指向我要去哪裏錯誤的指針將不勝感激。
這是VBA「鬆散打字」方面的一個很好的例子。該代碼行將工作。 VBE的立即窗口中的?行(「5:5」)。地址會返回'$ 5:$ 5'。 – Jeeped
@Jeeped,你在兩方面都是正確的。我應該測試而不是跳進去。所以我不能產生'1004應用程序定義或對象定義的錯誤'條件。我錯過了什麼? –
我試圖理解代碼,但我真的只考慮非選擇/激活條款,所以我將不得不重寫它。由於沒有任何跡象表明[ActiveCell屬性](https://msdn.microsoft.com/en-us/library/office/ff193314.aspx)在代碼的開頭,我嘗試過的任何東西都是一個鏡頭在黑暗中,所以我鞠躬。 – Jeeped