vb在excel中搜索数据
'引用:
'添加对该对象的引用 工程菜单--引用,找到 Microsoft Scripting Runtime
'引用microsoft Excel 14.0 object library
'
Dim elApp As Excel.Application
Dim elBooks As Excel.Workbook
Dim ekSheet As Excel.Worksheet
Dim TblMap_Card '创建一个变量
Private Sub Command1_Click()
Dim i As Integer
openEl
Set dic = CreateObject("Scripting.Dictionary")
'MsgBox ekSheet.Cells(Rows.Count, 1).End(3).Row
For i = 2 To ekSheet.Cells(Rows.Count, 1).End(3).Row
If dic.Exists(ekSheet.Cells(i, 2).Value) Then
dic(ekSheet.Cells(i, 1).Value) = dic(ekSheet.Cells(i, 1).Value) + ekSheet.Cells(i, 2).Value
Else
dic(ekSheet.Cells(i, 1).Value) = ekSheet.Cells(i, 2).Value
End If
Next i
ekSheet.Range("H:J").Clear
'ekSheet.Cells(1, 9).Resize(1, 2) = Array("商品", "售量")
ekSheet.Cells(2, 9).Resize(dic.Count, 1) = Application.Transpose(dic.Keys)
ekSheet.Cells(2, 10).Resize(dic.Count, 1) = Application.Transpose(dic.Items)
End Sub
Private Sub openEl()
Dim myPath As String
myPath = "\week.xlsx"
Set elApp = CreateObject("Excel.Application")
Set elBooks = elApp.Workbooks.Open(App.Path myPath)
Set ekSheet = elBooks.Worksheets("Sheet1")
'Set ekSheet = elBooks.Worksheets(1)
elApp.Visible = True
End Sub
VB6的,测试通过。界面上只有一个按钮。
用vb编写一个筛选excel的程序
肯定要连接数据库,因为你的数据在Excel里面,Excel可以看成VB的一个ADO数据对象,完全用访问数据的模型来访问它。
也可以直接在Excel中用VBA写,这和VB差不多,但就不需要连接数据库了,VBA可以直接操作Excel工作表。
想在Vb中调用excel,但工程引用中没有excel这个选项,该怎么解决?
图1,点击VB菜单栏的工程选项引用浏览
图2,找到自己电脑安装Office的位置,如图红框所示。
图3,文件类型选择:所有文件,文件名称填写:EXECEL.EXE。点击打开按钮即可
图4,操作完成,成功添加Microsoft Excel XX.X Object Library
EXCEL 用VB 筛选条件除某个值以外所有项都选中,要怎么写
你这是数据透视表的操作吧?
ActiveSheet.Range("$A$1:$C$20").AutoFilter Field:=1, Criteria1:="反选的内容", Operator:=xlAnd
数据透视表的操作
ActiveSheet.PivotTables([你的表名]).PivotFields([你的字段名]).PivotFilters.Add Type:= _
xlCaptionDoesNotEqual, Value1:="你的反选内容"
ActiveSheet.Range("$A$1:$C$20").AutoFilter Field:=1, Criteria1:="反选的内容", Operator:=xlAnd
'或者
ActiveSheet.PivotTables([你的表名]).PivotFields([你的字段名]).PivotFilters.Add Type:= _
xlCaptionDoesNotEqual, Value1:="你的反选内容"