把以下代码中自动筛选页工作表B2单元格发生变化时,把数据输出到数据配置工作表E11-E14单元格中,请帮我修改 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then Dim startDate As Date Dim endDate As Date startDate = DateSerial(Year(Date), Month(Date), Day(Date) - 3) endDate = Date Range("E11").Value = Format(startDate, "yyyy-mm-dd") Range("E12").Value = Format(startDate + 1, "yyyy-mm-dd") Range("E13").Value = Format(startDate + 2, "yyyy-mm-dd") Range("E14").Value = Format(endDate, "yyyy-mm-dd") End If End Sub
时间: 2023-06-19 09:08:52 浏览: 113
以下是修改后的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
Dim startDate As Date
Dim endDate As Date
startDate = DateSerial(Year(Date), Month(Date), Day(Date) - 3)
endDate = Date
Worksheets("数据配置").Range("E11").Value = Format(startDate, "yyyy-mm-dd")
Worksheets("数据配置").Range("E12").Value = Format(startDate + 1, "yyyy-mm-dd")
Worksheets("数据配置").Range("E13").Value = Format(startDate + 2, "yyyy-mm-dd")
Worksheets("数据配置").Range("E14").Value = Format(endDate, "yyyy-mm-dd")
End If
End Sub
修改后的代码可以将数据输出到名为“数据配置”的工作表中的指定单元格。请根据实际情况修改工作表名称和单元格范围。
相关问题
把以下代码中自动筛选页工作表B2单元格发生变化时,把数据输出到数据配置工作表中E11-E14单元格中 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then Dim startDate As Date Dim endDate As Date startDate = DateSerial(Year(Date), Month(Date), Day(Date) - 3) endDate = Date Range("E11").Value = Format(startDate, "yyyy-mm-dd") Range("E12").Value = Format(startDate + 1, "yyyy-mm-dd") Range("E13").Value = Format(startDate + 2, "yyyy-mm-dd") Range("E14").Value = Format(endDate, "yyyy-mm-dd") End If End Sub
这段代码的作用是监控当前工作表(即代码所在的工作表),如果B2单元格发生变化,则会将数据输出到数据配置工作表的E11-E14单元格中。
具体来说,当B2单元格发生变化时,代码会首先计算出当前日期的前三天作为起始日期,以及当前日期作为结束日期。然后,将这些日期格式化为"yyyy-mm-dd"的形式,并分别输出到数据配置工作表的E11-E14单元格中。
需要注意的是,该代码只能在当前工作表中使用,如果需要在其他工作表中使用,则需要将代码复制到对应的工作表中。
以下代码中自动筛选页工作表B2单元格发生变化时,把数据输出到数据配置工作表中E11-E14单元格中 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then Dim startDate As Date Dim endDate As Date startDate = DateSerial(Year(Date), Month(Date), Day(Date) - 3) endDate = Date Range("E11").Value = Format(startDate, "yyyy-mm-dd") Range("E12").Value = Format(startDate + 1, "yyyy-mm-dd") Range("E13").Value = Format(startDate + 2, "yyyy-mm-dd") Range("E14").Value = Format(endDate, "yyyy-mm-dd") End If End Sub
这段代码是用 VBA 在 Excel 中编写的,用于在自动筛选页工作表B2单元格发生变化时,将数据输出到数据配置工作表中E11-E14单元格中。具体来说,当B2单元格发生变化时,会触发 Worksheet_Change 事件,然后会执行代码中的 if 语句。如果变化的单元格是B2,则定义了两个日期变量:startDate 和 endDate。startDate 的值为当前日期减去3天,endDate 的值为当前日期。接下来,代码将 startDate 和 endDate 格式化为字符串,并将它们分别赋值给数据配置工作表中的 E11-E14 单元格。最后,代码执行完毕。
阅读全文