【问题标题】:VBA pasting into column IF date in cell x equal the date in column yVBA 粘贴到列 IF 单元格 x 中的日期等于列 y 中的日期
【发布时间】:2019-01-08 19:25:16
【问题描述】:

标题确实说明了一切。

我在名为“值”的选项卡中有一个日期,其中包含上个月最后一个工作日的值。然后我想看看这个日期是否在另一个选项卡的 B 列中,如果是,我想将某些信息(例如单元格 a1 值)粘贴到 D 列中,其中行等于日期。

例如,如果在 tab2 列 b 中找到单元格 a1 (tab1) 中的日期,则将 tab1 单元格 b1 中的信息粘贴到找到日期的同一行中。

我试过的我的代码,你可以看到我在做什么:

   'formula to paste information from cell into correct column in correct tab,

    daterow = Application.Match(CLng(Worksheets("Value").Range("D19")), 
    Worksheets("Regional Day Breakdown Sales").Columns("B"), 0)
    If Not IsError(daterow) Then
        Worksheets("Regional Day Breakdown Sales").Cells(daterow, "F").Value = 
    ActiveSheet.Range("D4").Value
        Else
        MsgBox ("Date not in range")
    End If
    End Sub

【问题讨论】:

  • daterow 的值是多少?最好将代码从 VBEditor 复制并粘贴到 SO。例如。这应该在一行 - Worksheets("Regional Day Breakdown Sales").Cells(daterow, "F").Value = ActiveSheet.Range("D4").Value
  • Dim daterow As Variant 如果我将“Value”.Range 位交换为日期,这适用于今天的日期,但我想将其交换为单元格 D19(值选项卡)中的日期,所以只需交换它,老实说我不擅长 VBA,所以通常只需找到代码并编辑它,只是在编辑这个代码时遇到了一点问题:(
  • 您是否在任何地方出现错误?错误是什么?
  • 上面的代码有错误吗?它没有错误但没有做你需要的吗?它在做什么?请记住,我们看不到您的数据/工作簿,因此您需要提供更多信息。
  • 错误消息是:类型 13 不匹配 - 我想是因为我错误地修改了代码,所以这个可以工作,但是当我将“日期”换成新的目标日期时,它不会发挥作用!代码:

标签: html vba excel date


【解决方案1】:

也是个白痴,只需要删除 Clng,感谢您的帮助

一)

  daterow = Application.Match(Worksheets("Value").Range("D17"), Worksheets("Regional 
Day Breakdown Sales").Columns("B"), 0)
If Not IsError(daterow) Then
    Worksheets("Regional Day Breakdown Sales").Cells(daterow, "F").Value = 
ActiveSheet.Range("D4").Value
    Else
    MsgBox ("Date not in range")
End If

【讨论】:

    猜你喜欢
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多