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

时间:2017-10-27 17:05:17

标签: excel vba

我是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

我认为只需添加工作表即可。

0 个答案:

没有答案