乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何写一个简单的excel宏

如何写一个简单的excel宏

作者:乔山办公网日期:

返回目录:excel表格制作


下面的代码将表1的a1:a10单元格分别填入1至10:
sub aa()
dim c as range,i as integer
i=1
for each c in sheets("sheet1").range("a1:a10")
c=i
i=i+1
next c
end sub

按Alt+f11打开宏,或者点视图,宏,查看宏,随便输个宏名字,点创建
Sub test()
Range("a1") = "简单的宏"
End Sub

这个宏够简单了吧……
效果就是A1输入 简单的宏
Sub AB比较插入空格()
 Dim n%, i%, j%, k%, Arr, ArrOut()
 n = Cells(Rows.Count, "A").End(xlUp).Row
 If Cells(Rows.Count, "B").End(xlUp).Row > n Then n = Cells(Rows.Count, "B").End(xlUp).Row
 Arr = Range(Cells(1, 1), Cells(n + 1, 2))
 Arr(n + 1, 1) = "最": Arr(n + 1, 2) = "最"'改成最大7a64e58685e5aeb9335的字符。
 ReDim ArrOut(1 To 2 * n + 2, 1 To 2)
 i = 1: j = 1: k = 1
 Do
  If Arr(i, 1) < Arr(j, 2) Then ArrOut(k, 1) = Arr(i, 1): ArrOut(k, 2) = "": i = i + 1: k = k + 1: Debug.Print i, j, k
  If Arr(i, 1) > Arr(j, 2) Then ArrOut(k, 1) = "": ArrOut(k, 2) = Arr(j, 2): j = j + 1: k = k + 1: Debug.Print i, j, k
  If Arr(i, 1) = Arr(j, 2) Then ArrOut(k, 1) = Arr(i, 1): ArrOut(k, 2) = Arr(j, 2): i = i + 1: j = j + 1: k = k + 1: Debug.Print i, j, k
 Loop Until ((i > n) And (j > n))
 [A1].Resize(k - 2, 2) = ArrOut
End Sub


sub 整理()
    dim a%,b%,c%,d%,mc$,i%,j%,k%
    a=5   '在这里输入条件1所在列的列号,若为E则输入5,若为F则输入6
    b=6   '在这里输入条件2所在列的列号
    c=2   '在这里输入表头所在行的行号
    d=22   '在这里输入表格最后一行有效内容的行号
    mc="Sheet1"  '在这里输入表格所在工作表标签的名称并用英文的双引号包括,不是文件名称,例如标签名称为:材料表,则输入:"材料表"
    k=2 
    with sheets(mc) 
     for i=c to d
        if i=c or (.cells(i,a)=1 and .cells(i,b)=1) then 
            for j=1 to b
                 .cells(d+k,j)=.cells(i,j)
                 k=k+1 
            next
         end if
    next
    end with         
 end sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网