在excel中插入行

问题描述:

我正在通过VBA将ms访问的数据填充到excel。我的数据库包含许多组详细信息,我想在群体时间分隔组成员,问题是每个组的末尾我想在Excel表格中插入2行我使用下面提到的代码,但是我不工作是否有可能?在excel中插入行

Dim varConnection 
Dim varSQL 
Dim cal, cal1, x 


    varConnection = "ODBC; DSN=MS Access Database;DBQ=table.accdb; Driver={Driver do Microsoft Access (*.accdb)}" 


    varSQL = "SELECT leftman.Productname,leftman.Description,leftman.SULM,leftman.MTR,leftman.meter1 FROM leftman INNER JOIN Product ON leftman.gid = Product.Productname ORDER BY Product.ID, leftman.ID" 
    With ActiveSheet.QueryTables.Add(Connection:=varConnection, Destination:=ActiveSheet.Range("B4")) 
      .CommandText = varSQL 
      .Name = "Query-39008" 
      .Refresh BackgroundQuery:=False 

    End With 
    x = Range("J5", Range("J5").End(xlDown)).Rows.Count 

    k1 = 5 
    k2 = 6 
    For i = 0 To x 
    s = k1 + i 
    s1 = k2 + i 

    If Range("J" & s & "").Value = Range("J" & s1 & "").Value Then 
    msgbox "same group" 

    Else 

    Range("J" & s & "").Select 
    ActiveCell.Offset(1).EntireRow.Insert 
    ActiveCell.Offset(1).EntireRow.Insert 
    k1 = 5 + 2 
    k2 = 6 + 2 

    End If 
    Next i 

首先我找回GroupWise中的数据从访问 X是我的行数 K1是小区1和K2是小区2我是小区1单元2通过循环比较,如果数据不是
比赛那么它是使细胞后,我想插入2行

用户可以很好的方式考虑的另一组:

x = Range("J5", Range("J5").End(xlDown)).Rows.Count 

For i = x To 5 Step -1 
    s = i 
    s1 = i - 1 

    If Range("a" & s & "").Value = Range("a" & s1 & "").Value Then 
     MsgBox "same group" 

    Else 

     Range("a" & s & "").Select 
     ActiveCell.EntireRow.Insert 
     ActiveCell.EntireRow.Insert 

    End If 
Next i 

在我的经验,“选择”功能不可靠。您可以通过以下方式避免它:

.Rows(s).Insert Shift:=xlDown 

假设我正确地理解's'是行号。

Range("a" & s & "").Select 
Selection.Insert Shift:=xlDown