[英]VBA to merge cells in excel
我有一個如下的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 ║
╚═════╩════════╩═══════════════════╩═════════╩═════════════╝
您有兩個任務要執行。
將日期和時間合並到一個單元格中。 只需完成以下操作即可(單元格C1包含B1中使用的公式(作為文本)。)
並將B1格式化為自定義-> 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.