Excel VBA使用偏移量将值分配给另一个工作表上的另一个单元格

我是VBA新手。 我的目标是创build一个macros,在“计算机语言”部分添加一个新的列(在操作系统部分之前)。 它将其添加到活动工作表中,然后有另一个名为“Filtering”的工作表用于过滤结果,并且需要将其添加到同一部分(与主工作表不完全相同)。

到目前为止,它正确地添加了两个工作表中的列。 我只需要插入值。 它将正确插入主工作表上,但未能在“筛选”工作表上input值。

任何人都可以告诉我为什么我的代码失败

错误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 

我认为这应该通过简单地添加工作表。