EXCEL VBA帮助 - 插入空白单元格的功能

时间:2010-06-04 11:44:49

标签: excel vba excel-vba

我需要一些excel VBA功能的帮助。

我的数据看起来像这样

    ColA     ColB
    a123     a123
    a124     a124
    a127     a126
    a128     a127
    ....     ....

我想比较ColA和ColB的内容,如果内容不同,我想在A列中插入一个空白单元格。结果如下:

ColA     ColB
a123     a123
a124     a124
         a126
a127     a127
....     ....

有关如何在Excel中执行此操作的任何建议。

提前致谢


已更新


我尝试使用以下代码插入单元格并且它工作正常,我现在意识到当我运行它时我需要更多功能。

first_col.Cells(row, 1).Select
Selection.Insert Shift:=xlDown

如果删除了“a”的ColA中的值小于ColB中删除了“a”的值,我想在ColA中插入单元格,我还需要在ColC中插入一个单元格(包含其他数据)。如果ColB具有更大的值,我想仅在ColB中插入单元格。我想我知道在If语句中要做什么,但我不知道如何构建IF。这就是我的想法

Set other_col = Range("C1:C100")

//if substring of ColA > substring of ColB
   first_col.Cells(row, 1).Select
   Selection.Insert Shift:=xlDown
   other_col.Cells(row, 1).Select
   Selection.Insert Shift:=xlDown
//else 
   second_col.Cells(row, 1).Select
   Selection.Insert Shift:=xlDown

3 个答案:

答案 0 :(得分:3)

您的比较声明可能如下所示:

Sub Expand()

    Dim first_col As Range, cell As Range
    Dim row As Integer

    Set first_col = Range("A2:A100")

    For Each cell In first_col
        If Right(cell.Value, 3) < Right(cell.Offset(0, 1).Value, 3) Then
            ' Shift in here
        End If
    Next cell

End Sub

“右”功能查看第二个参数指定的右侧字符数。

另一个注意事项是像这样的代码部分使用.select方法:

first_col.Cells(row, 1).Select
Selection.Insert Shift:=xlDown

可以这样截断:

first_col.cells(row, 1).insert shift:=xlDown

“选择”和“选择”是宏录制器中的剩余部分,通常不用于VBA代码。

答案 1 :(得分:1)

我不知道插入行的确切VBA代码,但您可以通过录制宏来找到它。这是代码的其余部分(循环遍历列并进行比较):

Sub Expand()
    Dim first_col as Range
    Dim second_col as Range
    Dim row as Integer

    Set first_col = Range("A2:A100")
    Set second_col = Range("B2:B100")

    For row = 1 To second_col.Rows.Count
        If first_col.Cells(Row, 1).Value <> second_col.Cells(Row, 1).Value Then
            '// code to insert the row'
        End If
    Next row
End Sub

答案 2 :(得分:0)

我通过选择一些单元格并插入来记录宏 我尝试创建自己的子,它的工作

Range("c16:e16").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

编辑备注 此代码导致unmerg合并单元格