【发布时间】:2016-05-02 14:08:13
【问题描述】:
我在 A、B、C 列中的内容:
日期时间名称
2016 年 1 月 3 日 8,0 约翰
2016 年 2 月 3 日 8,0 约翰
2016 年 8 月 3 日 7,5 约翰
2016 年 8 月 3 日 2,0 查尔斯
2016 年 8 月 3 日 2,0 威廉
2016 年 10 月 3 日 3,5 查尔斯
2016 年 11 月 3 日 3,7 查尔斯
2016 年 3 月 14 日 2,2 查尔斯
15/03/2016 8,0 约翰
16/03/2016 8,0 约翰
我想要在另一张表的 A、B、C 列中显示的内容:
日期时间名称
2016 年 1 月 3 日 8,0 约翰
2016 年 2 月 3 日 8,0 约翰
03/03/2016 0,0 -
04/03/2016 0,0 -
05/03/2016 0,0 -
06/03/2016 0,0 -
07/03/2016 0,0 -
2016 年 8 月 3 日 7,5 约翰
2016 年 8 月 3 日 2,0 查尔斯
2016 年 8 月 3 日 2,0 威廉
09/03/2016 0,0 -
2016 年 10 月 3 日 3,5 查尔斯
2016 年 11 月 3 日 3,7 查尔斯
2016 年 12 月 3 日 0,0 -
13/03/2016 0,0 -
2016 年 3 月 14 日 2,2 查尔斯
15/03/2016 8,0 约翰
16/03/2016 8,0 约翰
它必须适用于任何给定的日期、时间和名称!
请帮助我真的需要这个!
Sub proj0()
Dim lRow As Long
Dim Data1, Data2 As Date
Dim C1, C2 As String
Folha11.Select
Columns("a:c").Select
Selection.Copy
Folha13.Select
Range("A1").Select
ActiveSheet.Paste
Cells.Select
Selection.Sort _
Key1:=Range("a2"), Order1:=xlAscending, _
key2:=Range("c2"), Order2:=xlAscending, _
Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
lRow = 2
Do While (Cells(lRow, 1) <> "")
C1 = Cells(lRow, "c")
C2 = Cells(lRow + 1, "c")
Data1 = Cells(lRow, "a")
Data2 = Cells(lRow + 1, "a")
If (Data2 - Data1 > 1) Then
ActiveCell.EntireRow.Insert shift:=xlDown
Cells(lRow + 1, "a").Value = Data1 + 1
Cells(lRow + 1, "b").Value = 0
Cells(lRow + 1, "c").Value = "-"
Else
lRow = lRow + 1
End If
Loop
Range("a:c").Columns.AutoFit
Folha13.Select
我相信我很接近但无法确定插入部分
【问题讨论】:
-
欢迎来到 Stack Overflow。 Stack Overflow 不是为我服务的代码。如果您有代码,请将其包含在您的原始帖子中。我们将帮助解决现有代码的特定问题。
-
我不知道如何编码,我需要帮助
-
如果没有在上面添加数据行,则向后循环测试日期是否比上面的小一。在谷歌上搜索这些关键词并尝试使用宏记录器。然后,当您有一些无法正常工作的代码时,请返回。或者你可以花钱请人去做。 www.freelancer.com
-
我理解为下一个日期循环并添加行的概念,但我无法在 VBA excel 中对其进行编码,我是编程新手。我不知道该怎么办,已经尝试了几个星期。我很绝望,我需要专家的帮助。我在互联网或书籍中找不到类似的东西。