gpt4 book ai didi

vba - 提取和复制excel文件中的数据

转载 作者:行者123 更新时间:2023-12-04 21:00:21 26 4
gpt4 key购买 nike

我正在从提供的日期参数内的 excel 文件中提取数据。但是这段代码不起作用。任何人都可以帮我解决这个问题吗?

 Set src = wb.Sheets("Request Log Extract")
Set dest = ThisWorkbook.Sheets("Resolution Time Performance")

srcRow = src.Cells(src.Rows.Count, "K").End(xlUp).Row
destRow = dest.Cells(dest.Rows.Count, "E").End(xlUp).Row + 1
wb.Activate

For i = 2 To srcRow
If src.Cells("K" & i) >= txtStartDate.Value Or src.Cells("K" & i) <= .txtEndDate.Value Then
src.Cells("K" & i).Copy
dest.Activate
dest.Cells("E" & i).Paste
src.Activate
End If

Next

这会返回一个错误说:

Invalid procedure call or argument.



注意

txtStartDate 和 txtEndDate 是日期类型。

如果我使用 在 If 条件下,所有数据都被复制,但如果我使用 , 没有数据被复制。我不知道发生了什么事。

值(value)观

txt开始日期 05/13/2016
txtEndDate 05/18/2016
k2 2016 年 5 月 14 日

最佳答案

我不确定你的 txtStartDate 和 txtEndDate 变量,但看看我的代码
我声明了你的变量,但请指定日期类型,我也从 txtEndDate 中删除了点并更改了单元格引用,现在它可以工作了。

Sub extractData()
Dim src
Dim dest
Dim wb As Workbook
Set wb = ThisWorkbook

Dim txtStartDate
Dim txtEndDate

Set src = wb.Sheets("Request Log Extract")
Set dest = ThisWorkbook.Sheets("Resolution Time Performance")

srcRow = src.Cells(src.Rows.Count, "K").End(xlUp).Row
destRow = dest.Cells(dest.Rows.Count, "E").End(xlUp).Row + 1

txtStartDate = 0
txtEndDate = 100

For i = 2 To srcRow
If src.Cells(i, "K").Value > txtStartDate Or src.Cells(i, "K").Value < txtEndDate Then
src.Cells(i, "K").Copy
dest.Activate
dest.Cells(i, "E").PasteSpecial
src.Activate
End If

Next

End Sub

关于vba - 提取和复制excel文件中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37452666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com