我是VBA的新手。我的目标是创建一个宏,它将在“计算机语言”部分(操作系统部分之前)添加一个新列。它将它添加到活动工作表上,然后有另一个名为“Filtering”的工作表用于过滤掉结果,它需要添加到同一部分(它与主工作表不完全相同)。 p>
到目前为止,它正确地在两个工作表中添加了列。我只需要插入值。它在主工作表上正确插入,但无法在“过滤”工作表中输入值。
任何人都可以告诉我为什么我的代码失败
错误438
这可能很简单。但同样,本周我只编写了这个。
Sub newComputerLanguage()
newCL = InputBox("New Computer Language Name")
Dim CLheaderFiltering As Range
Dim OSheaderFiltering As Range
Dim CLheader As Range
Dim OSheader As Range
Set CLheaderFiltering = Worksheets("Filtering").Range("O4:HC4").Find("Computer Languages")
Set OSheaderFiltering = Worksheets("Filtering").Range("O4:HC4").Find("Operating Systems")
Set CLheader = Range("Q5:HC5").Find("Computer Languages")
Set OSheader = Range("Q5:HC5").Find("Operating Systems")
If OSheader Is Nothing Then
MsgBox "Operating Systems column was not found."
Exit Sub
Else
Worksheets("Filtering").Columns(OSheaderFiltering.Column).Offset(, 0).Resize(, 1).Insert
Columns(OSheader.Column).Offset(, 0).Resize(, 1).Insert
OSheader.Offset(, -1).Value = newCL
Worksheets("Filtering").OSheaderFiltering.Offset(, -1).Value = newCL 'FAILS HERE!
OSheader.Offset(1, -1).Select
End If
End Sub
我认为只需添加工作表即可。