VBA删除除最后使用的单元格之外的每一行中的所有单元格

时间:2014-12-16 09:47:18

标签: vba

尝试编写脚本以删除除最后使用的单元格之外的行中的所有单元格,然后将所有剩余数据移动到第一列。

见下文:

|--| is an empty cell
|XX| is a cell with unneeded data
|DATA| is the cell with Data I require.

Before:
|--|--|--|XX|XX|XX|XX|DATA|
|--|--|XX|XX|XX|DATA|

After
|DATA|
|DATA|

1 个答案:

答案 0 :(得分:0)

假设您的意思是Excel:

<强>过程:

  • 循环播放

  • 将tempVal变量设置为lastColumn

  • 的值
  • 将列循环到该行的最后一列,清除每个单元格

  • 将A列的值设置为tempVal

<强>试验:

Sub GetLastColumnValue()

Dim lastRow As Long
Dim lastCol As Long
Dim sheet As String
Dim tempVal As String

sheet = "Sheet1"
lastRow = Sheets(sheet).Range("A" & Rows.Count).End(xlUp).row   'Using Range()

    For lRow = 2 To lastRow

        lastCol = Sheets(sheet).Cells(lRow, Columns.Count).End(xlToLeft).Column
        tempVal = Sheets(sheet).Cells(lRow, lastCol).Text

        For lCol = 1 To lastCol
            Sheets(sheet).Cells(lRow, lCol).ClearContents
        Next lCol

        Sheets(sheet).Cells(lRow, 1) = tempVal

    Next lRow

End Sub