压缩同一行中的数据,因此中间没有空白单元格

时间:2017-05-24 09:01:49

标签: excel excel-vba vba

我试图压缩同一行中的数据,让我们说A:AP并在其间不留空格。

例如,COL A,COL B中有数据,然后是COL F - >我想将COL F中的数据剪切并粘贴到COL C,因此中间没有空白单元格,然后对该表格中该范围内数据的所有行重复相同的操作。

请参阅下面的示例。我一直在寻找,但无法找到任何开始,大多数都是浓缩列而不是行。

提前感谢您的帮助。

Example Result

嗨,谢谢你们两位建议。我试过了两个,但唯一的问题是我只想缩小B:J的数据,并且在COL J移动后不需要任何东西。这是我到目前为止的代码,但它移动了一切,包括在COL J.之后。

提前感谢您的建议。

    Private Sub CommandButton1_Click()
        Range("B:J").Select
        Selection.SpecialCells(xlCellTypeBlanks).Select
        Selection.Delete Shift:=xlToLeft
    End Sub

我在Google上做了更多研究,最后得到了它!谢谢大家。

Private Sub CommandButton1_Click()
  Dim av          As Variant
  Dim iRow        As Long
  Dim jRead       As Long
  Dim jWrit       As Long
 With Range("B1:J20" & TotRows)
    av = .Value
    For iRow = 1 To .Rows.Count
        jWrit = 1

        For jRead = 1 To .Columns.Count
            If Not IsEmpty(av(iRow, jRead)) Then
                av(iRow, jWrit) = av(iRow, jRead)
                If jRead <> jWrit Then av(iRow, jRead) = Empty
                jWrit = jWrit + 1
            End If
        Next jRead
    Next iRow
    .Value = av
    End With
End Sub

0 个答案:

没有答案