我试图创建一个数据库,它将从主工作簿中复制选定范围的数据并将其复制到单独的工作簿中。从一个工作簿中复制选定的单元格并将其复制到另一个
导致该问题的代码如下。第二个工作簿基于“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