Excel VBA 了解这点,做任何事
作者:parno 日期:2012-03-27
'Workbook 对象:Microsoft Excel 工作簿对象,可以看成当前打开的 Excel 文件
'可以使用 Application 对象的 ActiveWorkbook 属性得到当前工作簿实例。
'Worksheet 对象:工作表对象,是Worksheets 集合的成员
'可以使用 Worksheet 对象的 ActiveSheet 属性得到当前工作表实例。
'那么,试试获取当前工作簿的名称吧,应该会返回“Sheet1”
'Cells 属性:Worksheet 对象的属性,表示工作表所有单元格
'它像一个二维数组,第一维是工作表行位置,第二维是工作表列位置,
'例如,取得工作表第一行第一列单元格表示为 Cells(1,1)
'遍历工作表第一列的所有内容及第一行的所有内容
'上例中用 Cells.Count 取得了工作表所有的单元格,是一个比较大的数值。
'如果你想深入学习 Excel VBA 可能要去了解一下 Worksheet.UsedRange 对象的 Columns 属性和 Rows 属性,
'但仅是知道上面这些,只要你了解 VBscript 我觉得可以做任何事情了。
'可以使用 Application 对象的 ActiveWorkbook 属性得到当前工作簿实例。
'Worksheet 对象:工作表对象,是Worksheets 集合的成员
'可以使用 Worksheet 对象的 ActiveSheet 属性得到当前工作表实例。
'那么,试试获取当前工作簿的名称吧,应该会返回“Sheet1”
复制内容到剪贴板
程序代码

Sub TestWooksheetName()
Dim myWorkBook As Workbook
Dim mySheet As Worksheet
Set myWorkBook = Application.ActiveWorkbook
Set mySheet = myWorkBook.ActiveSheet
Debug.Print mySheet.Name
End Sub
Dim myWorkBook As Workbook
Dim mySheet As Worksheet
Set myWorkBook = Application.ActiveWorkbook
Set mySheet = myWorkBook.ActiveSheet
Debug.Print mySheet.Name
End Sub
'Cells 属性:Worksheet 对象的属性,表示工作表所有单元格
'它像一个二维数组,第一维是工作表行位置,第二维是工作表列位置,
'例如,取得工作表第一行第一列单元格表示为 Cells(1,1)
'遍历工作表第一列的所有内容及第一行的所有内容
复制内容到剪贴板
程序代码

Sub TestListColumns()
Dim myWorkBook As Workbook
Dim mySheet As Worksheet
Set myWorkBook = Application.ActiveWorkbook
Set mySheet = myWorkBook.ActiveSheet
Dim i As Long
'遍历工作表第一列的所有内容
For i = 1 To mySheet.Cells.Count
If Len(mySheet.Cells(i, 1)) = 0 Then Exit For '如果单元格为空则跳出循环
Debug.Print mySheet.Cells(i, 1)
Next i
'遍历工作表第一行的所有内容
For i = 1 To mySheet.Cells.Count
If Len(mySheet.Cells(1, i)) = 0 Then Exit For '如果单元格为空则跳出循环
Debug.Print mySheet.Cells(1, i)
Next i
End Sub
Dim myWorkBook As Workbook
Dim mySheet As Worksheet
Set myWorkBook = Application.ActiveWorkbook
Set mySheet = myWorkBook.ActiveSheet
Dim i As Long
'遍历工作表第一列的所有内容
For i = 1 To mySheet.Cells.Count
If Len(mySheet.Cells(i, 1)) = 0 Then Exit For '如果单元格为空则跳出循环
Debug.Print mySheet.Cells(i, 1)
Next i
'遍历工作表第一行的所有内容
For i = 1 To mySheet.Cells.Count
If Len(mySheet.Cells(1, i)) = 0 Then Exit For '如果单元格为空则跳出循环
Debug.Print mySheet.Cells(1, i)
Next i
End Sub
'上例中用 Cells.Count 取得了工作表所有的单元格,是一个比较大的数值。
'如果你想深入学习 Excel VBA 可能要去了解一下 Worksheet.UsedRange 对象的 Columns 属性和 Rows 属性,
'但仅是知道上面这些,只要你了解 VBscript 我觉得可以做任何事情了。
[本日志由 parno 于 2013-05-01 01:21 AM 更新]






评论: 0 | 引用: 0 | 查看次数: 7934
发表评论