使用vbs读写excel表格数据元素

使用vbs读写excel表格数据元素,第1张

dim xlApp,xlWorkBook,xlSheet

dim iRowCount,iLoop,numAdd

set xlApp = CreateObject("ExcelApplication")

xlAppVisible = false

set xlWorkBook = xlAppWorkbooksOpen("c:\dataxls")

set xlSheet = xlWorkBookSheets("Sheet1")

iRowCount = xlSheetusedRangeRowsCount

For iLoop = 2 to iRowCount

numAdd=xlSheetCells(iLoop,1)+numAdd

next

xlSheetRange("e2")value=iLoop

For i=1 to 10

xlSheetrange("d" & i)value=int(rnd1000)

next

xlAppcells(9,9)=995

xlWorkBookSave

xlWorkBookClose

xlAppQuit

set xlSheet = Nothing

set xlWorkBook = Nothing

set xlApp = Nothing

msgbox(numAdd)

SubMacro2()''Macro2Macro'DimkAsLongFork=1To200'Windows("新建MicrosoftOfficeExcel工作表(2)xlsx")ActivateActiveCellRange("A1:B5")SelectSelectionCopyWindows("新建MicrosoftOfficeExcel工作表xlsx")ActivateActiveCellRange("A1:B5")SelectActiveSheetPasteWindows("新建MicrosoftOfficeExcel工作表(2)xlsx")ActivateSheets("Sheet2")SelectActiveCellRange("A1:B5")SelectApplicationCutCopyMode=FalseSelectionCopyWindows("新建MicrosoftOfficeExcel工作表xlsx")ActivateActiveCellOffset(0,2)Range("A1:B5")SelectActiveSheetPasteWindows("新建MicrosoftOfficeExcel工作表(2)xlsx")ActivateSheets("Sheet3")SelectActiveCellRange("A1:B5")SelectWindows("新建MicrosoftOfficeExcel工作表xlsx")ActivateNextEndSub

Set oexcel=CreateObject("excelapplication")

Set obook=oexcelWorkbooksOpen("c:\test\excelxls")

Set osheet=obookSheets("sheet1")

'显示第一个工作表A1单元格数据

msgbox osheetcells(1,1)

Set obook=Nothing

Set osheet=Nothing

oexcelQuit

我很在行这样的文件处理,但是你提供的信息不完整。我给你个大致的思路。

确保若打开某一文件,数据就能看见——即不用点其他sheet。建一新Excel,也存到该文件夹。仅打开该新Excel,同时按Alt和F11进入宏界面,点菜单的插入,模块,粘贴如下代码:

Sub Find()

ApplicationScreenUpdating = False

Dim MyDir As String

MyDir = ThisWorkbookPath & "\"

ChDrive Left(MyDir, 1) 'find all the excel files

ChDir MyDir

Match = Dir$("xls")

Do

If Not LCase(Match) = LCase(ThisWorkbookName) Then

WorkbooksOpen Match, 0 'open

ActiveSheetCopy Before:=ThisWorkbookSheets(1) 'copy sheet

activesheetname = replace(match,"xls","")

Windows(Match)Activate

ActiveWindowClose 0

End If

Match = Dir$

Loop Until Len(Match) = 0

ApplicationScreenUpdating = True

End Sub

在此界面直接按F5运行此宏,所有文件的工作表都复制到这个新的工作簿中(这是粗体部分的作用)。你可以用

=SUM(Sheet2:Sheet18B2)

来求这几个Sheet的B2的和。

第二个要求,假设你每个文件都在单元格A1或者A列,可以用以上类似方法把所有记录提取到一个工作表中,然后进入宏界面,插入如下代码:

Function chf(xStr As String) As String

Dim i, j As Integer

Dim xArr() As String

xArr = Split(xStr, ",")

For i = 0 To UBound(xArr)

j = InStr(xArr(i), "-")

If j > 0 Then

chf = chf & "," & Mid(xArr(i), j + 1, 5) - Left(xArr(i), j - 1) + 1

Else

chf = chf & "," & 1

End If

Next i

chf = Right(chf, Len(chf) - 1)

End Function

回到Excel,在B2输入

=chf(A2)

公式向下复制。

然后点B列,右键,复制,再右键,选择性粘贴,数值;再点菜单的数据,分列,以分隔符分列,下一步,选中逗号,完成。(这些当然也可以通过宏直接完成的)

如果是XP系统,可以使用如下代码

VBS控制Excel的一些常见方法:

(一) 使用动态创建的方法

首先创建 Excel 对象,使用ComObj:

oExcel = CreateObject( "ExcelApplication" )

1) 添加新工作簿:

oExcelWorkBooksAdd

2) 打开已存在的工作簿:

oExcelWorkBooksOpen( "C:\Excel\Demoxls" )

3) 设置第2个工作表为活动工作表:

oExcelWorkSheets(2)Activate

oExcelWorksSheets( "Sheet2" )Activate

4) 给单元格赋值:

oExcelCells(1,4)Value = "第一行第四列"

以上就是关于使用vbs读写excel表格数据元素全部的内容,包括:使用vbs读写excel表格数据元素、vbs搜索EXCEL、vbs怎么给excel写入数据,并显示数据。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9541747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存