Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel-VBA插入行错误424“;所需对象_Vba_Excel - Fatal编程技术网

Excel-VBA插入行错误424“;所需对象

Excel-VBA插入行错误424“;所需对象,vba,excel,Vba,Excel,您好,我正在尝试在Excel工作表中插入VBA中的一行,到目前为止,我阅读的所有内容都让我认为下面的代码应该可以工作,它失败了,如下所述 当我查看打开的文档时,它实际上选择了相关单元格A7 Dim xlx As Object, xlw As Object, xls As Object, xlc As Object ' Establish an EXCEL application object On Error Resume Next Set xlx = Get

您好,我正在尝试在Excel工作表中插入VBA中的一行,到目前为止,我阅读的所有内容都让我认为下面的代码应该可以工作,它失败了,如下所述

当我查看打开的文档时,它实际上选择了相关单元格A7

    Dim xlx As Object, xlw As Object, xls As Object, xlc As Object


    ' Establish an EXCEL application object
    On Error Resume Next
    Set xlx = GetObject(, "Excel.Application")
    If Err.Number <> 0 Then
          Set xlx = CreateObject("Excel.Application")
    End If
    Err.Clear
    On Error GoTo 0

    xlx.Visible = True

    Set xlw = xlx.Workbooks.Open("my.xlxs")

    Set xls = xlw.Worksheets("Offer")
    xlw.sheets("Offer").Activate
    xls.range("A7").select
ActiveCell.Offset(1).EntireRow.Insert
Dim xlx作为对象,xlw作为对象,xls作为对象,xlc作为对象
'建立EXCEL应用程序对象
出错时继续下一步
Set xlx=GetObject(,“Excel.Application”)
如果错误号为0,则
Set xlx=CreateObject(“Excel.Application”)
如果结束
呃,明白了
错误转到0
xlx.Visible=True
设置xlw=xlx.Workbooks.Open(“my.xlxs”)
设置xls=xlw.工作表(“报价”)
xlw.工作表(“报价”)。激活
xls.范围(“A7”)。选择
ActiveCell.Offset(1).EntireRow.Insert
'此处换行,错误为“编译错误”“变量未定义”,并突出显示ActiveCell? ActiveCell.Offset(1).EntireRow.Insert 提前谢谢
Andrew

我认为代码应该从不同的应用程序(如Access)运行。Access(或任何应用程序)都不知道ActiveCell是什么意思

将最后三行代码替换为
xls.Range(“A7”).Offset(1).EntireRow.Insert
-在添加行之前,无需激活工作表或选择范围内的单元格


编辑-由于您总是选择A7,并且偏移量为1,因此只需使用A8就更容易了。

尝试将最后两行替换为:xls.range(“A7”).EntireRow.InsertTry
ActiveCell.offset(1).EntireRow.Insert shift:=xlDown
感谢Darren为我排序。