主页 > 办公自动化 > Excel vba

Excel vba

2023-02-12 05:14来源:m.sf1369.com作者:宇宇

一、Excel vba

Private Sub Command1_Click()

Dim strChar As String

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject(Excel.Application)

Set xlBook = xlApp.Workbooks.Add

xlApp.Visible = True

Set xlSheet = xlBook.Worksheets(1)

xlSheet.Activate

xlSheet.Range(b1) = 测试数据 '测试用的,对你所提问没有没有关系

xlSheet.Range(b1:b15).Merge '测试用的,对你所提问没有没有关系,合并单元格(B1;b15)

xlSheet.Range(b1:b15).UnMerge '分解单元格,原内容自动填充到分解后的第一单元格.这句也是你问题的答案,不过你要根据你的具体情况改变“(b1:b15)”

xlSheet.Range(c:c).Merge '测试用的,对你所提问没有没有关系

xlSheet.Range(c:c).UnMerge '这句是你的第二问的答案。具体含义是拆分第C列,这句也要根据你的具体情况改变“(c:c)”,既把引号内的括号内的c改成其他英文字母。

Set xlBook = Nothing

xlApp.Quit

End Sub

备注:我用的excel2007,excel2003应该一样。给你说一个小技巧,你用VBA技术时,你可以先录制一个宏,然后在宏的基础上和你的具体需要更改你录制的宏代码,然后复制到你写的代码中就可以了,不过前提是你知道一些VBA基础知识。

二、关于EXCEL中的VBA

Private Sub Worksheet_Change(ByVal Target As Range)

Dim c As Range, cc As Range, c0 As Range, FontNm$, FontSz%

'------请按后面说明设置下面的变量-----

Set c0 = Range(A1) '控制的单元格 ,可以为区域

FontNm = 楷体 '控制的字体

FontSz = 20 '控制的字号

'------设置变量结束-----

On Error Resume Next

Application.EnableEvents = False

For Each c In Target

For Each cc In c0

If cc.Address = c.Address Then

With c.Font

.Name = FontNm

.Size = FontSz

End With

End If

Next

Next

Application.EnableEvents = True

End Sub

---------

操作:

在sheet表的名字上,右键,查看代码,将上面的代码复制入打开的代码窗中(当前sheet的代码窗),返回sheet表就可以了

三、关于excel vba

'代码放在工作簿A的表1里,c控制复制的列数,d控制双击的列

Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cl As Boolean)

c = 5: d = 1

If T.Column <> d Then Exit Sub

Workbooks(B).Sheets(表1).Cells(T.Row, 1).Resize(, c) = T.Resize(, c).Value

End Sub

相关推荐

企业办公软件都有哪些?

办公自动化 2024-01-14

数控车床自动编程用什么软件?

办公自动化 2024-01-12

写字间物业管理方案

办公自动化 2023-12-09

自动化的好处和坏处

办公自动化 2023-12-05

单片机有什么特征?

办公自动化 2023-11-27

excel2007教程|excel2007教程下载

办公自动化 2023-11-22