个人网站可以放广告吗,官方网站下载官方版本,南通网站制作公司,政协网站建设情况汇报目录
1 用VBA读写EXCEL文件
1.1 用VBA读写#xff0c;本工作簿workbook里的特定sheet的特定内容
1.1.1 EXCEL表内内容访问
1.1.2 注意点
1.1.3 代码
1.2 用VBA读写本工作簿workbook里的所有sheet的内容
1.2.1 麻烦之处
1.2.2 方法#xff0c;如何指定EXCEL里的内容…目录
1 用VBA读写EXCEL文件
1.1 用VBA读写本工作簿workbook里的特定sheet的特定内容
1.1.1 EXCEL表内内容访问
1.1.2 注意点
1.1.3 代码
1.2 用VBA读写本工作簿workbook里的所有sheet的内容
1.2.1 麻烦之处
1.2.2 方法如何指定EXCEL里的内容范围
1.2.3 写入内容
1.3 尝试用VBA处理非本workbook且未打开的情况
2 用python 读写EXCEL文件 1 用VBA读写EXCEL文件
1.1 用VBA读写本工作簿workbook里的特定sheet的特定内容
VBA对单个sheet处理特殊点
处理本EXCEL文件因为开着VBEVBA属于本文件所以本EXCEL表比然是打开的对应语法用的也是 thisworkbook.worksheets() 若不指定缺省也会如此默认 1.1.1 EXCEL表内内容访问
具体到内部因为EXCEL天生是表格是数组是2维数组等需要使用下面这些对象的层级 sheet.cells()sheet.range()sheet.rows() 。。。 1.1.2 注意点
注意用于保存workbook, worksheet的变量
必须先定义为对象且用set赋值 比如 Dim path1 As Object 或者worksheet Set path1 ThisWorkbook.Worksheets(now) 1.1.3 代码
VBA对单个sheet处理
特殊点处理本EXCEL文件因为开着VBEVBA属于本文件所以本EXCEL表比然是打开的
Sub print2001()Dim path1 As ObjectSet path1 ThisWorkbook.Worksheets(now)读指定sheet里特定内容Debug.Print path1.Cells(1, 1)往wb的指定sheet写入内容查下path1当前最大行maxr path1.Cells(9999, 1).End(xlUp).Rowpath1.Cells(maxr 1, 1) 100path1.Cells(maxr 1, 2) 101path1.Cells(maxr 1, 3) 102path1.Cells(maxr 1, 4) 103End Sub 1.2 用VBA读写本工作簿workbook里的所有sheet的内容
目标是遍历这个整个thisworkbook里面的内容注意VBA里数组语法的 1 to 4 和1,4完全不同后者是2维数组 1.2.1 麻烦之处
处理EXCEL的内容会比一般文件麻烦因为EXCEL天生是表格是数组是2维数组等VBA处理一个wb里的多个sheet处理同样使用循环
注意正确的是 for sheet in workbook.worksheets注意是 for sheet in workbook.worksheet 或 for sheet in workbook是错误的 1.2.2 方法如何指定EXCEL里的内容范围
1 指定要读写的范围边界写入数组然后操作数组2 使用 sheet.usedrange() 作为数组的数据源 1.2.3 写入内容
遍历 sheet然后写入即可
注意VBA里数组的1to4 和1,4完全不同后者是2维数组
VBA处理一个wb里的多个sheet处理
Sub print2002()Dim path1 As ObjectDim wb As ObjectDim sht As ObjectFor Each sht In ThisWorkbook.WorksheetsDebug.Print sheetName sht.Namemaxr sht.Cells(9999, 1).End(xlUp).Rowmaxl sht.Cells(1, 9999).End(xlToLeft).ColumnDebug.Print 现有内容的最大行数 maxrDebug.Print 现有内容的最大列数 maxl因为表很大数据散布在全表的不同格子里尝查找限定范围内的内容显示指定区域的内容arr1 sht.Range(a1:d10)For i LBound(arr1, 1) To UBound(arr1, 1)For j LBound(arr1, 2) To UBound(arr1, 2)Debug.Print arr1(i, j),NextDebug.PrintNext显示表里用过的内容arr2 sht.UsedRangeFor i LBound(arr2, 1) To UBound(arr2, 1)For j LBound(arr2, 2) To UBound(arr2, 2)Debug.Print arr2(i, j),NextDebug.PrintNextNext这里写入往wb的指定sheet写入内容,还是先只追加1行查下path1当前最大行For Each sht In ThisWorkbook.WorksheetsFor k 1 To 4sht.Cells(maxr 1, k) 99 * kNextNextEnd Sub1.3 尝试用VBA处理非本workbook且未打开的情况 2 用python 读写EXCEL文件 需要加载专门的模块---也就是前人造好的轮子比如这2个