永发信息网

vba excel 变量对象或With块对象未设置

答案:2  悬赏:0  手机版
解决时间 2021-03-21 18:16
  • 提问者网友:谁的错
  • 2021-03-20 17:22
Sub xxx()
Dim file_name_source As String
file_name_source = ThisWorkbook.Path & "\xxx1.xlsx"

Workbooks.Open (file_name_source)
Set wksht = Worksheets.Add
wksht.Name = "xxx“

Dim r As Integer
r = ActiveWorkbook.Worksheets(1).Range("A1:B2").Find("xxx").Row
'ActiveWorkbook.Worksheets(1).Rows(r).Copy wksht.Range("A1")
'wksht.Rows(1).SpecialCells(xlCellTypeBlanks).EntireColumn.Delete (xlLeft)

End Sub
最佳答案
  • 五星知识达人网友:三千妖杀
  • 2021-03-20 17:48
Range("A1:B2")无数据, ActiveWorkbook.Worksheets(1).Range("A1:B2").Find("xxx").Row不存在
全部回答
  • 1楼网友:一秋
  • 2021-03-20 18:45

贴上来乱七八糟,整理试了一下,似乎没有出现错误信息?

sub macro1()   dim rowsrc as integer   dim rowtar as integer   dim colcustomer as integer   dim customername   dim findindex   set sheetsrc = worksheets("sheet2")   set sheettar = worksheets("sheet1")   rowsrc = 1   rowtar = 1   colcustomer = 1   with sheetsrc     do while sheetsrc.cells(rowsrc, colcustomer) <> ""     customername = sheetsrc.cells(rowsrc, colcustomer) '     sheetsrc.select '     cells(rowsrc & colcustomer).select '     selection.copy     sheettar.select     activewindow.smallscroll down:=-6     set findcustom = cells.find(what:=customername, after:=activecell, lookin:=xlformulas, lookat:= _     xlpart, searchorder:=xlbyrows, searchdirection:=xlnext, matchcase:=false _     , searchformat:=false)     if findcustom <> "" then     findindex = findcustom.row     rows(findindex & ":" & findindex).select     application.cutcopymode = false     selection.copy     worksheets("sheet3").select     rows(rowtar & ":" & rowtar).select     activesheet.paste     rowtar = rowtar + 1     end if     rowsrc = rowsrc + 1     loop   end with end sub

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯