【发布时间】:2019-08-04 02:13:59
【问题描述】:
创建一个 If 语句,根据某列中的月份对我的数据进行排序。代码是这样的
Worksheets("Project Info").Activate
Dim month As Long
Application.ScreenUpdating = False
For month = Cells(Rows.Count, 23).End(xlUp).Row To 1 Step -1
If InStr(1, Cells(month, 23).Value Like "1/*", 1) _
Then Cells(month, 23).EntireRow.Copy
Worksheets("January").Activate
ActiveSheet.Paste
Next month
由于某种原因,它不会将数据复制到指定页面。它甚至根本没有真正复制数据。有什么想法吗?
【问题讨论】:
-
您应该始终使用工作表引用。激活一月工作表后,您的代码将引用它,因为它是活动工作表。
-
我试过了,很遗憾没用。
-
@SFarrell 但是如何你是怎么尝试的? “无济于事”并不能帮助我们了解您的困难在哪里。请edit您的问题并更新代码。正如 SJR 指出的那样,代码无法按问题所示工作。以下可能会有所帮助:How to avoid using Select in Excel VBA.
-
我已经更新了。每次更换工作表时,我都会使用激活工作表,以确保选择了正确的工作表。
-
这种变化并没有解决我的观点。但是,答案可能。
标签: excel vba if-statement copy-paste