zoukankan      html  css  js  c++  java
  • EXCEL vba常用代码

    用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的!

    使用Dim语句
    Dim a as integer ‘声明a为整型变量
    Dim a ‘声明a为变体变量
    Dim a as string ‘声明a为字符串变量
    Dim a as currency ,b as currency ,c as currency ‘声明a,b,c为货币变量
    ......
    声明变量可以是:Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(当前不支持)、Date、String(只限变长字符串)、String * length(定长字符串)、Object、Variant、用户定义类型或对象类型。

    强制声明变量
    Option Explicit
    说明:该语句必在任何过程之前出现在模块中。

    声明常数
    用来代替文字值。
    Const

    ‘ 常数的默认状态是 Private。
    Const My = 456

    ‘ 声明 Public 常数。
    Public Const MyString = "HELP"

    ‘ 声明 Private Integer 常数。
    Private Const MyInt As Integer = 5

    ‘ 在同一行里声明多个常数。
    Const MyStr = "Hello", MyDouble As Double = 3.4567

    选择当前单元格所在区域

    在EXCEL97中,有一个十分好的功能,他就是把鼠标放置在一个有效数据单元格中,执行该段代码,你就可以将连在一起的一片数据全部选中。只要将该段代码加入到你的模块中。
    Sub My_Select
    Selection.CurrentRegion.Select
    End sub

    返回当前单元格中数据删除前后空格后的值
    sub my_trim
    msgbox Trim(ActiveCell.Value)
    end sub

    单元格位移
    sub my_offset
    ActiveCell.Offset(0, 1).Select‘当前单元格向左移动一格
    ActiveCell.Offset(0, -1).Select‘当前单元格向右移动一格
    ActiveCell.Offset(1 , 0).Select‘当前单元格向下移动一格
    ActiveCell.Offset(-1 , 0).Select‘当前单元格向上移动一格
    end sub
    如果上述程序产生错误那是因为单元格不能移动,为了解除上述错误,我们可以往
    sub my_offset 之下加一段代码 on error resume next

     

    注意以下代码都不再添加 sub “代码名称” 和end sub请自己添加!

     

    给当前单元格赋值
    ActiveCell.Value = "你好!!!"

    给指定单元格赋值
    例如:A1单元格内容设为"HELLO"
    Range("a1").value="hello"

    又如:你现在的工作簿在sheet1上,你要往sheet2的A1单元格中插入"HELLO"
    1.
    sheets("sheet2").select
    range("a1").value="hello"

    2.
    Sheets("sheet1").Range("a1").Value = "hello"

    说明:
    1.sheet2被选中,然后在将“HELLO"赋到A1单元格中。
    2.sheet2不必被选中,即可“HELLO"赋到sheet2 的A1单元格中。

    隐藏工作表
    ‘隐藏SHEET1这张工作表
      sheets("sheet1").Visible=False

    ‘显示SHEET1这张工作表
      sheets("sheet1").Visible=True

    打印预览
    有时候我们想把所有的EXCEL中的SHEET都打印预览,请使用该段代码,它将在你现有的工作簿中循环,直到最后一个工作簿结束循环预览。
    Dim my As Worksheet
    For Each my In Worksheets
    my.PrintPreview
    Next my

    得到当前单元格的地址
    msgbox ActiveCell.Address

    得到当前日期及时间
    msgbox date & chr(13) & time

    保护工作簿
    ActiveSheet.Protect

    取消保护工作簿
    ActiveSheet.Unprotect

    给活动工作表改名为 "liu"
    ActiveSheet.Name = "liu"

    打开一个应用程序
    AppActivate (Shell("C:\WINDOWS\CALC.EXE"))

    增加一个工作表
    Worksheets.Add

    删除活动工作表
    activesheet.delete

    打开一个工作簿文件
    Workbooks.Open FileName:="C:\My Documents\Book2.xls"

    关闭活动窗口
    ActiveWindow.Close

    单元格格式
    选定单元格左对齐
    Selection.HorizontalAlignment = xlLeft

    选定单元格居中
    Selection.HorizontalAlignment = xlCenter

    选定单元格右对齐
    Selection.HorizontalAlignment = xlRight

    选定单元格为百分号风格
    Selection.Style = "Percent"

    选定单元格字体为粗体
    Selection.Font.Bold = True

    选定单元格字体为斜体
    Selection.Font.Italic = True

    选定单元格字体为宋体20号字
    With Selection.Font
    .Name = "宋体"
    .Size = 20
    End With

    With 语句

    With 对象
    .描述
    End With

    清除单元格
    ActiveCell.Clear  ‘删除所有文字、批注、格式

    返回选定区域的行数
    MsgBox Selection.Rows.Count

    返回选定区域的列数
    MsgBox Selection.Columns.Count

    返回选定区域的地址
    Selection.Address

    忽略所有的错误
    ON ERROR RESUME NEXT

    遇错跳转
    on error goto err_handle
    ‘中间的其他代码
    err_handle: ‘ 标签
    ‘跳转后的代码

    删除一个文件
    kill "c:\1.txt"

    定制自己的状态栏
    Application.StatusBar = "现在时刻: " & Time

    恢复自己的状态栏
    Application.StatusBar = false

    用代码执行一个宏
    Application.Run macro:="text"

    滚动窗口到a1的位置
    ActiveWindow.ScrollRow = 1
    ActiveWindow.ScrollColumn = 1

    定制系统日期
    Dim MyDate, MyDay
    MyDate = #12/12/69#
    MyDay = Day(MyDate)

    返回当天的时间
    Dim MyDate, MyYear
    MyDate = Date
    MyYear = Year(MyDate)
    MsgBox MyYear

    inputbox<输入框>
    XX=InputBox ("Enter number of months to add")

    得到一个文件名
    Dim kk As String
    kk = Application.GetOpenFilename("EXCEL (*.XLS), *.XLS", Title:="提示:请打开一个EXCEL文件:")
    msgbox kk

    打开zoom对话框
    Application.Dialogs(xlDialogZoom).Show

    激活字体对话框
    Application.Dialogs(xlDialogActiveCellFont).Show

    打开另存对话框
    Dim kk As String
    kk = Application.GetSaveAsFilename("excel (*.xls), *.xls")
    Workbooks.Open kk

  • 相关阅读:
    POJ 2175 Evacuation Plan 费用流 负圈定理
    POJ 2983 Is the Information Reliable? 差分约束
    codeforces 420B Online Meeting
    POJ 3181 Dollar Dayz DP
    POJ Ant Counting DP
    POJ 1742 Coins DP 01背包
    中国儒学史
    产品思维30讲
    Java多线程编程核心技术
    编写高质量代码:改善Java程序的151个建议
  • 原文地址:https://www.cnblogs.com/gaotianle/p/1931156.html
Copyright © 2011-2022 走看看