要解决的问题:

同一个文件夹有多个工作簿,工作簿中有相同格式的多个sheet表,其中有两个固定的SHEET需要打印(所有EXCEL工作簿表格中两个固定SHEET的名字相同)。每次打开这么多文档,再将表格一个个打印很繁琐,有什么快捷的方法可以直接打印这个文件夹下所有EXCEL表中这两个固定的SHEET表内容?

解决思路:

1、将要打印的工作簿放在同一个文件夹内,如:D:\mywbooks\

2、使用dir在文件夹中遍历文件,然后打开工作簿,再打印指定的工作表,然后关闭文件。

EXCEL VBA代码如下:

  1. Sub myprint()
  2. Dim file$, folder$, wb As Workbook
  3. folder = "D:\mywbooks\"
  4. file = Dir(folder & "*.xlsx") ’如有其他后辍,可以使用Dir(folder & "*.xls*")
  5. Do While file <> ""
  6. Set wb = GetObject(folder & file)
  7. wb.Worksheets("sheet1name").PrintOut
  8. wb.Worksheets("sheet2name").PrintOut
  9. wb.Close
  10. set wb=nothing
  11. file = Dir
  12. Loop
  13. End Sub

或者使用如下方法:

  1. Sub myprint()
  2. Dim file$, folder$, wb As Workbook, sht As Worksheet
  3. folder = "D:\mywbooks\"
  4. file = Dir(folder & "*.xlsx") '如有其他后辍,可以使用Dir(folder & "*.xls*")
  5. Do While file <> ""
  6. With Workbooks.Open(folder & file)
  7. For Each sht In .Sheets
  8. If sht.Name = "sheet1name" Or sht.Name = "sheet2name" Then sht.PrintOut
  9. Next sht
  10. .Close
  11. End With
  12. file = Dir
  13. Loop
  14. End Sub
要解决的问题:同一个文件夹有多个工作簿,工作簿中有相同格式的多个sheet表,其中有两个固定的SHEET需要打印(所有EXCEL工作簿表格中两个固定SHEET的名字相同)。每次打开这么多文档,再将表格一个个打印很繁琐,有什么快捷的方法可以直接打印这个文件夹下所有EXCEL表中这两个固定的SHEET表内容?解决思路:1、将要打印的工作簿放在同一个文件夹内,如:D:\mywbooks\2、使用dir在文件夹中遍历文件,然后打开工作簿,再打印指定的工作表,然后关闭文件。EXCELVBA代码如.
我们在 工作 中经常会 打印 东西,会手动设置一些参数,如横向或竖向 打印 等。了解下PageSetup属性,用简短的几行代码设置好 打印 参数,便可以设置一次,永久使用,方便高效。 PageSetup对象代 页面设置说明。包含所有页面设置的属性(左边距、底部边距、纸张大小等)。 下例将 打印 方向设置为横向,然后 打印 工作 。 With Worksheets("Sheet1") .PageSetup...
Dim File As Variant Dim aFile As Variant '数组,提取文件名fileName时使用 '打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant Dim i As Integer File = Application.GetOpenFilename(" Excel 文件,*.xls;*.xlsx;*.xlsm") '调用Windows打开文件对话框 If File &lt...
EXCEL 中,对数据进行定位操作,必然要用到数据区域的最大行和最大列,代码如下: columnmax = Range("IV1").End(xlToLeft).Column '取得1行的最大列数 columnmax =cells(i,columns.count).end(xltoletf).column 'i行的最大列数 rowmax = Sheet1.Range(...
用易语言在 excel 格中读取数据,单个range直接使用ranges.读属性 (“Value”, )就可,多个ranges采用变体变量存储后,用循环方式读出数据。至于要返回文本数组,整数数组,或者文本,全凭个人喜好,但在易语言中,最好操作的当属文本型,所以文例 主要使用文本型 ,其他类型的请对照修改。具体见如下代码:  .版本 2 .支持库 spec .子程序 单元格区域...
一维数组可以通过这样一行代码来整体赋值:arr = Array("你", "我", "他", "1", "2", "3", "aa", "bb", "cc")那么,如果想给二维数组采用类似的方法来整体赋值,要怎么办呢? arr=array("你", "我", "他" ;"1", "2", "3" ; "aa", "bb", "cc"),好像不行。 一番搜索,网上给出的答案有如下: 第一种:使用[{}]将字符串括起来,字符串行间用分号(;)分割,列间用逗号(,)分割: arr = [{"你", "..
好的,我可以为您解答。那么您的问题是如何使用 VBA 批量 替换所有 工作 簿 中的括号。 首先,您需要打开 VBA 编辑器,并在其中创建一个新的模块。在该模块中,您可以使用以下代码来 批量 替换所有 工作 簿 中的括号: Sub ReplaceBrackets() Dim wb As Workbook Dim ws As Worksheet Dim cell As Range For Each wb In Application.Workbooks For Each ws In wb.Worksheets For Each cell In ws.UsedRange If InStr(1, cell.Value, "(") > 0 Then cell.Value = Replace(cell.Value, "(", "[") End If If InStr(1, cell.Value, ")") > 0 Then cell.Value = Replace(cell.Value, ")", "]") End If Next cell Next ws Next wb End Sub 该代码将遍历所有打开的 工作 簿 工作 ,并查找其中的括号。如果找到了括号,则将其替换为方括号。 请注意,此代码将替换所有括号,包括公式中的括号。如果您只想替换文本中的括号,可以添加一个额外的条件来检查单元格是否包含公式: If cell.HasFormula = False Then '执行替换操作 End If 希望这可以帮助您解决问题。如果您有任何其他问题,请随时问我。