我有一个大约500-600行的文件(具有很大的增长潜力)。它以xml文件开头,在自动读取后,创建的表在标题信息和余数之间有不同数量的空白单元格。每行存在相同数量的信息。我需要每一行包含连续的数据。
想象一下,黄色方块是带有信息的单元格。顶部网格是它如何来到我身边。中间是如何迫切需要它。最后一个是理想的,其余表格格式的列消失了(我也知道如何做得相当容易)。
我将非常感谢所有人的帮助。
答案 0 :(得分:0)
我不确定我是否了解真正的要求,但如果您从以下数据开始:
然后在 A 列中为要处理的行选择单元格并运行它:
Sub FixLines()
Dim r As Range, N As Long, i As Long, RR As Long
For Each r In Selection
RR = r.Row
N = Cells(RR, Columns.Count).End(xlToLeft).Column
If N <> 1 Then
For i = N To 1 Step -1
If Cells(RR, i).Value = "" Then
Cells(RR, i).Delete (xlShiftToLeft)
End If
Next i
End If
Next r
End Sub
你最终会得到:
答案 1 :(得分:0)
这是一种方法(您也可以使用代码将内容移到左侧)。
Option Explicit
Function Delete_Blank_Cells()
Dim lRow As Long
Dim lCol As Long
Dim LastRow As Long
Dim LastCol As Long
LastRow = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
LastCol = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).column
For lRow = 1 To LastRow
For lCol = 1 To LastCol
If Cells(lRow, lCol) = "" Then
Cells(lRow, lCol).Delete Shift:=xlToLeft
End If
Next
If lRow > 5 Then
MsgBox "Exit code - remove after testing!!"
Exit Function
End If
Next
End Function