可羡瑶池碧桃树:VISUAL BASIC 代码汇总
来源:百度文库 编辑:中财网 时间:2024/05/09 19:19:44
visual basic 代码汇总
EXCEL 2000与EXCEL XP版代码互换方法:
1、把XP版代码换成2000版:把“, MatchByte:=False, SearchFormat:=False”替换成无内容即可。
2、把2000版代码换成XP版:
“MatchCase:=False).Activate”替换成
“MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate”即可
选定工作表:《检查结果》。Sheets("检查结果").Select
选定单元格:选定B3单元格:RANGE("B3").SELECT
CELLS(3,2).SELECT '(先行号再列号)
选定由变量决定的单元格:RANGE("B" & Left(总行数, 5)).SELECT
:CELLS(行变量,列变量).SELECT
选定列:I致J列。Columns("I:J").Select
选定行:10到11行。Rows("10:10").Select
由变量决定的行范围:Rows("11:" & Left(总行数, 5)).Select
Rows(Left(总行数, 5) & ":" & Left(总行数, 5)).Select
Range("B" & Left(总行数, 5)).EntireRow.Select
选定区域:选A10到U1000:Range("A10:U1000").Select
选A到U列:Range("A:U").Select
选2到10行:Range("2:10").Select
选定由变量决定的区域Range("B2:H" & Left(总行数, 5)).Select
Range("A1:A65536").Find("*").Activate
总行数 = ActiveCell.Row
第一个空单元
Range("A1").End(xlDown).Offset(1, 0).Activate
总行数 = ActiveCell.Row 第一个非空单元行号 = Range("G1:G" & Left(总行数, 5)).Find("*").Row Sub xx()
x = Range("A" & Rows.Count).End(xlUp).Row + 1
y = Range("A1").End(xlDown).Row + 1
MsgBox "第一个非空行号是:" & y & vbCrLf & "最后非空行号是:" & x
End Sub 确定非空白行数量=总行数
Sheets("工作表名").Select
Columns("A:A").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
总行数 = ActiveCell.Row
Sheets("item").Select
Sheets("item").Columns("b:c").Find(What:=Itemid, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
自动填充:Selection.AutoFill Destination:=Range("B2:B500")
填充到变量行:Selection.AutoFill Destination:=Range("B2:B" & Left(总行数 - 1, 4))
输入公式
在B2单元格填入=VLOOKUP(A2,销售表草稿!G:I,2,0)
在代码中表示为
Range("B2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],销售表草稿!C[5]:C[7],2,0)"
在B2单元格填入=VLOOKUP(A2,销售表草稿!A:C,2,0)
在代码中表示为
Range("B2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],销售表草稿!C[-1]:C,2,0)"
替换,将'#N/A’替换为'本月有销售无入库’
Columns("B:B").Select
Selection.Replace What:="#N/A", Replacement:="本月有销售无入库", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
选定可定区域
Range("A1").Select
'先选定当前单元格周围有数据的范围
Selection.CurrentRegion.Select
'再选定当前区域的可见部分
Selection.SpecialCells(xlCellTypeVisible).Select
'复制选定的区域
Selection.Copy
清除选定区域内容
Range("A9:A" & Left(总行数, 5)).Select
Selection.ClearContents
在选定区域插入内容,活动单元格下移
Range("A1").Select 或Range("2:10").Select
Selection.Insert Shift:=xlDown
ActiveCell.FormulaR1C1 = "装调机型"
删除行,活动单元格上移
Rows("11:14").Select
Selection.Delete Shift:=xlUp
查找
Range("A:A").Select
Selection.Find(What:="3机顶盒(内外销)", After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
EXCEL 表中中间有空白行,但又要确定最后行的位置时,代码如下:
Columns("E:E").Select
Selection.Find(What:="总计", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
总行数 = ActiveCell.Row
但要注意,在程序最后要加回以下代码,以将查找的选项恢复回默认值.
Columns("E:E").Select
Selection.Find(What:="总计", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
要求输入内容
IPUT = InputBox("请输入月份数。例“08”", "", 8)
将一个单元格内容赋值给变量
变量名 = Range("D8").Value
循环结构
DO WHILE 条件
..
LOOP
For 变量名 = 6 To 25
..
Next 当前凭证行号
判断结构
IF 条件 THEN
..
ENDIF
以下程序运行出错时的处理方法待研究
'On Error GoTo A
'A:
'ActiveWorkbook.Save
如果出现:"类 RANGE 的 SELECT 方法无效"的错误提示
可以考虑 对象前加上上一级对象的名称之引用
如Range("D15:D46").Select
改为Sheets("packing").Range("D15:D46").Select
将当前表另存为EXCEL文件
Sheets("Sheet1").Copy
iFile = ActiveWorkbook.Path & "\Sheet1.xls"
ActiveWorkbook.SaveAs Filename:=iFile
激活选定工作簿并关闭
Workbooks("工作簿名").Worksheets("print").Activate
ActiveWindow.Close
Sub 判断单元格是否为空()
For 列号 = 24 To 2
分红 = Range("A1").Value
If 分红 = "" Then
分红 = 1
Else
分红 = 2
End If
Range("B3").Value = 分红
Next 列号
End Sub
调用 宏
CALL 宏名字
提高运行速度代码
程序开始写:
'获得当前的Excel设置状态,将其放置在代码的开头
Application.Calculation = xlCalculationAutomatic
screenUpdateState = Application.ScreenUpdating
statusBarState = Application.DisplayStatusBar
calcState = Application.Calculation
eventsState = Application.EnableEvents
displayPageBreakState = ActiveSheet.DisplayPageBreaks '注:这是工作表级的设置
'关闭一些Excel功能使代码运行更快
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
'Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False '注:这是工作表级的设置
程序结束写:
Application.ScreenUpdating = screenUpdateState
Application.DisplayStatusBar = statusBarState
Application.Calculation = calcState
Application.EnableEvents = eventsState
ActiveSheet.DisplayPageBreaks = displayPageBreaksState