我有一张excel表,如下所示。将sno列视为Excel编号。 因此,除了DateTime之外的所有列都被合并。我想合并DateTime单元格,并希望删除空记录。我尝试了一些没有成功的公式。这可能吗
我尝试了下面的公式,但它给出了奇怪的结果,我想是日期时间值。
=INDEX($A$1:$A$<ENDROW>,(B1-1)*2+1,1)&" "&INDEX($A$1:$A$<ENDROW>,(B1-1)*2+2,1)
我有这个:
╔═════╦════════╦══════════╦═════════╦═════════════╗
║ sno ║ Action ║ DateTime ║ User ID ║ Name ║
╠═════╬════════╬══════════╬═════════╬═════════════╣
║ 1 ║ INSERT ║ 8-Nov-13 ║ childsk ║ Keri Childs ║
║ 2 ║ ║ 16:06:43 ║ ║ ║
║ 3 ║ INSERT ║ 8-Nov-13 ║ childsk ║ Keri Childs ║
║ 4 ║ ║ 16:04:27 ║ ║ ║
╚═════╩════════╩══════════╩═════════╩═════════════╝
预期输出:
╔═════╦════════╦═══════════════════╦═════════╦═════════════╗
║ sno ║ Action ║ DateTime ║ User ID ║ Name ║
╠═════╬════════╬═══════════════════╬═════════╬═════════════╣
║ 1 ║ INSERT ║ 8-Nov-13 16:06:43 ║ childsk ║ Keri Childs ║
║ 2 ║ INSERT ║ 8-Nov-13 16:04:27 ║ childsk ║ Keri Childs ║
╚═════╩════════╩═══════════════════╩═════════╩═════════════╝
答案 0 :(得分:0)
您有两项任务要执行。
将日期和时间合并到单个单元格中。这只是通过(单元格C1包含B1中使用的公式(作为文本)完成的。)
并将B1格式化为自定义 - &gt; d-mmm-yy hh:mm:ss。
然后,您可以将结果(作为值)和格式复制到目标列。
删除额外的行。您可以使用下面的代码(确保将重复次数从10更改为您需要的任何内容)。
Sub del_skip_rows_repeat_caller()
Call del_skip_rows_repeat(1, 10)
End Sub
Sub del_skip_rows_repeat(nrows As Integer, nrep As Integer)
Dim i As Integer
For i = 1 To nrep
Call del_skip_rows(nrows)
Next i
End Sub
Sub del_skip_rows(nrows As Integer)
Dim rng As Range
Set rng = Range(Selection, Selection.Offset(nrows - 1, 0)).EntireRow
'rng.Select
rng.Delete Shift:=xlUp
Set rng = Selection.Offset(1, 0).Cells(1, 1)
rng.Select
End Sub