使用前先实例化。
创新互联专注于企业全网整合营销推广、网站重做改版、田林网站定制设计、自适应品牌网站建设、H5页面制作、商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为田林等各大城市提供网站开发制作服务。
第三行:
Dim XlList As Microsoft.Office.Interop.Excel.Range
改为:
Dim XlList As Microsoft.Office.Interop.Excel.Range = New Microsoft.Office.Interop.Excel.Range
看看示范例子,打开的时候选择启动宏(数字证书),可以实现你要的目的的,如果有什么疑问,可以联系QQ 399001
-----
用宏处理这样的问题相对方便一点,有兴趣试试:
一、按ALT+F11 打开VB编辑器
二、双击左边靠上的【工程资源管理器】中的【MS Excel 对象】中的ThisWorkbook,在右边的代码窗口贴入下面的代码:
Sub 删除重复数据()
'以col列为条件删除的重复行数据
'本例是删除标题为sheet1的EXCEL表中以A列(从A2单元格开始)为条件的重复韩国数据
Application.ScreenUpdating = False
'可根据实际情况修改下面三行的结尾值
Dim sheetsCaption As String: sheetsCaption = "Sheet1"
Dim Col As String: Col = "A"
Dim StartRow As Integer: StartRow = 2
'以下不需要修改
Dim EndRow As Integer: EndRow = Sheets(sheetsCaption).Range(Col "65536").End(xlUp).Row
Dim Count_1 As Integer: Count_1 = 0
Dim count_2 As Integer: count_2 = 0
Dim i As Integer: i = StartRow
With Sheets(sheetsCaption)
Do
Count_1 = Count_1 + 1
For j = StartRow To i - 1
If .Range(Col i) = .Range(Col j) Then
Count_1 = Count_1 - 1
.Range(Col i).EntireRow.Delete
EndRow = Sheets(sheetsCaption).Range(Col "65536").End(xlUp).Row
i = i - 1
count_2 = count_2 + 1
Exit For
End If
Next
i = i + 1
Loop While i EndRow + 1
End With
MsgBox "共有" Count_1 "条不重复的数据"
MsgBox "删除" count_2 "条重复的数据"
Application.ScreenUpdating = True
End Sub
三、回到EXCEL表,运行菜单 【工具】-【宏】-【宏】,选择 删除重复数据 这条宏,然后按执行。
这里有示范例子:
注:为方便,我添加了一个按钮的控件执行这个宏,你点击按钮就可以看到结果了,第二个表有原始数据。
按VBA写法,应该是:
xlbook1.Worksheets(1).Range(xlbook1.Worksheets(1).Cells(1, 1), xlbook1.Worksheets(1).Cells(30000, 20)).selcet = xyz
vb.netexcel给range赋值的方法如下:
Range是对象类型,对象的赋值要加一个Set,,例如您需要的语句可以这样写:
Set M = Range("A1:I1")
这样赋值以后,M才Range类型,例如可以使用 M.Count 属性,或者 M.ClearContents 方法
如果不写Set,那么会把Range的值赋与变量(数组类型)。