excele 中的宏的简单语法

由于近期要用到excele中的宏,竟然网上没有一个简单的完整demo(可能太简单了吧),在这里整理成demo,对于简单的设置应用足够了。

大前提:excle表分sheet,sheet中是cell.

Sub test() ' 开始一个宏的模块 test是名字 可任意取名

在操作某一个sheet之前要选中

Sheets("sheet1").select  ' 选中sheet

Dim va as Integer ' 定义一个类型为integer 的变量 va 

va = Range("B3").Value ' 给va 赋值为B3单元格的值

If va > 0 Then  ' if 条件语句 都是这种格式

    va = 100

Else

    va = -100

End if

Select Case va  ' case 条件语句

    Case -100

         va = -1000

   Case 100

         va = 1000

   Case Else

        va  = 0

End Select 

Dim i As Integer ' 定义变量i

'循环

For i=1 To 10 Step 2  ' for循环  从1开始 10结束 每个循环i 增加2

  Cells(i,1) = va  ' 将va 的值赋值给 Cells(i,1) 单元格 第i 行 第一列

Next

 

For Each rag In [a1:a10]  ' 将a1 -a10单元格进行循环 每次循环值给rag

    i = i+1

    rag.Value = i

    rag.Interior.ColorIndex = 3   '将这个单元格的颜色变为3  这是颜色的索引 每个数字代表不同的颜色

   If i = 5 Then

      ' Exit Sub  ' 退出整个程序 程序接续

      Exit For   '退出这个For循环 但是程序往下进行

   End If

Next     ' for循环固定格式不要忘

Range("A1").Offset(5,1) = va ' 将va的值赋值给A1单元格向下偏移5行,向右偏移1列的这个单元格

End Sub ' 结束宏的这个模块

 

附一个简单的例子:

Dim va As Integer
Dim myStr As String

Sub test1()

Dim i As Integer
Dim j As Integer

i = 3
j = 3
Rem 将b3 到b16的单元格value 循环赋值给rag;
For Each rag In [b3:b16]
    myStr = rag.Value
    Rem 如果value中含有北 或者 南 那么放在cells单元格
    If ((InStr(1, myStr, "北") <> 0) Or (InStr(1, myStr, "南") <> 0)) Then 
       Rem Sheets("sheet2").Select
       i = i + 1
       Cells(i, j) = myStr
       Rem Sheets("sheet1").Select
    End If
Next

End Sub
 

 

 

  • 0
    点赞
  • 12
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

滨湖而居

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值