[Excel2003中很实用的几个VBA技巧.docVIP

  • 3
  • 0
  • 约7.98千字
  • 约 8页
  • 2017-01-06 发布于北京
  • 举报
[Excel2003中很实用的几个VBA技巧

Excel 2003 中很实用的几个VBA技巧 目录 ============================================================= 隔页打印工作表 1 使用 ADO 在工作簿中检索工作表名称 2 将搜索结果显示在单独的页中 3 删除单元格的一部分 4 从工作表中删除空行和嵌入的字段名称 4 创建数据的主列表 5 根据值插入行 5 将文本转换为电子邮件地址 6 根据单元格值处理字体颜色 6 将字符附加到单元格值 7 ============================================================= 隔页打印工作表 本部分中的代码用于隔页打印工作簿中的工作表。它通过循环访问所有的工作表并用偶数表填充数组来做到这一点。 Sub PrintEvenSheets() Dim mySheetNames() As String Dim iCtr As Long Dim wCtr As Long iCtr = 0 For wCtr = 1 To Sheets.Count If wCtr Mod 2 = 0 Then iCtr = iCtr + 1 ReDim Preserve mySheetNames(1 To iCtr) mySheetNames(iCtr) = Sheets(wCtr).Name End If Next wCtr If iCtr = 0 Then Only one sheet. Display message or do nothing. Else Sheets(mySheetNames).PrintOut preview:=True End If End Sub 该示例用于打印偶数工作表。您可以循环访问所有的工作表,并根据要打印的偶数工作表来构建一个数组。可以通过删除本示例中的第一个 If...Then End If 语句来做到这一点。 使用 ADO 在工作簿中检索工作表名称 此代码示例使用 Microsoft ActiveX Data Objects (ADO) 在工作簿中检索工作表的名称。通过使用 ADO,您可以在 Excel 之外处理文件。ADO 使用通用编程模型来访问许多窗体中的数据。有关 ADO 的更多信息,请参阅 ADO Programmers Guide。 Sub GetSheetNames() Dim objConn As Object Dim objCat As Object Dim tbl As Object Dim iRow As Long Dim sWorkbook As String Dim sConnString As String Dim sTableName As String Dim cLength As Integer Dim iTestPos As Integer Dim iStartpos As Integer Change the path to suit your own needs. sWorkbook = c:\myDir\Book1.xls sConnString = Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source= sWorkbook ; _ Extended Properties=Excel 8.0; Set objConn = CreateObject(ADODB.Connection) objConn.Open sConnString Set objCat = CreateObject(ADOX.Catalog) Set objCat.ActiveConnection = objConn iRow = 1 For Each tbl In objCat.Tables sTableName = tbl.Name cLength = Len(sTableName) iTestPos = 0 iStartpos = 1 Worksheet names with embedded spac

文档评论(0)

1亿VIP精品文档

相关文档