常用的、带详细注释?/p>
ExcelVBA
入门语句
line1 = my_sheet.Cells(1, 1).CurrentRegion.Rows.Count
line_count = [a65535].End(xlUp).Row
转为十六进制?/p>
HEX()
十六进制转为十进制:
lac_id = Val("&H" & lac_id)
If lac_id < 0 Then lac_id = 65536 + lac_id
八进制转为十进制?/p>
lac_id = Val("&O" & lac_id)
导入文本文件?/p>
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & Filename, Destination:=Range("A1"))
.Refresh BackgroundQuery:=False
文件拷贝?/p>
FileCopy FileName, FileName & ".bak"
[VBA
起步
]
常用的、带解释?/p>
VBA
短句
[A65536].End(xlUp).Row
'A
列末行向上第一个有值的行数
[A1].End(xlDown).Row
'A
列首行向下第一个有值之行数
[IV1].End(xlToLeft).Column
'
第一行末列向左第一列有数值之列数?/p>
[A1].End(xlToRight).Column
'
第一行首列向右有连续值的末列之列?/p>
Application.CommandBars("Standard").Controls(2).BeginGroup=True '
在常用工具栏的第二个按钮前插入分隔符
Cells.WrapText = False
'
取消自动换行
If Len(Target) > 5 Then
'
如果当前单元格中的字符数超过
5
?/p>
,
执行下一?/p>
Target.WrapText = True
'
自动换行
End If
[A1:B10].SpecialCells(xlCellTypeBlanks).Rows.Hidden = True
'
有空格即隐藏?/p>
[A2].parent.name
'
返回活动单元格的工作表名
[A2].parent.parent.name
'
返回活动单元格的工作簿名
如下代码可使工作簿打开?/p>
30
?/p>
(
或闲?/p>
30
?/p>
)
内不输入、不重新选择?/p>
,
自动关闭工作?/p>
Private Sub Workbook_Open()
'
工作簿打开事件
tt
'
工作簿打开时启?/p>
tt
过程
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'
工作表变化事?/p>
tt
'
工作表中任一单元格有变化时启?/p>
tt
过程
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) '
工作表选择变化事件
tt
'
工作表中单元格的选择有变化时启动
tt
过程
End Sub
Sub tt()
'tt
过程
Dim myNow As Date, BL As Integer
'
定义
myNow
为日期型
;
定义
BL
为长整型
myNow = Now
'
把当前的时间赋给变量
myNow
Do
'
开始循环语?/p>
Do
BL = Second(Now) - Second(myNow)
'
循环中不断检查变?/p>
BL
的?/p>
If BL = 30 Then GoTo Cl
'
?/p>
BL=30
即跳转到
CL
DoEvents
'
转让控制?/p>
,
以便
sheets
可继续操?/p>
Loop Until BL > 30
'
?/p>
BL>30
即跳出循?/p>
Exit Sub
Cl: