Excel 的VB编程

原创 2001年02月22日 16:46:00
 Excel编程碰到的第一个问题是表头。有时表头的形式比较复杂,需要横向或纵向合并单元格。请放心,只要没有斜杠,Excel都能应付得了。

---- 例如合并A2~A5这4个单元格,你录制的宏代码会是这样:

Range("A2:A5").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.ShrinkToFit = False

.MergeCells = False

End With

Selection.Merge
---- 而自己编程只要一句 Range.(“A2:A5”).mergecells=True 就可以解决问题。

---- 表头形式定了,再就是表头的内容。如果单元格中的文本长度超过了列宽,往往只能显示部分内容,行尾那一格的内容则会“越境”进入右边那个空白单元格,很不美观。这个问题可以通过在程序中设置列宽加以解决。

---- Columns(14).columnwidth=12 ‘设置第14列列宽为12(缺省列宽为8.38)

---- 如果你不愿意劳神去逐列估计实际所需的列宽,干脆来一行

---- Columns(“a:i”).autofit ‘a到i列自动调整列宽

---- 让Excel随机应变吧。

---- 但也许你不喜欢这种方法,认为表头撑大了列宽,弄得浏览一张小表格还得向右滚动,太不方便了。要是能保持默认列宽,让文本自动换行就好了。没问题,Excel包你满意。

---- Rows(3).WrapText=True ‘让第三行各单元格中的文本自动换行

---- 不过你最好再加一句 Rows(3) .VerticalAlignment = xlTop 让表头自动向上对齐,这样比较符合习惯。

---- 你还可以给表头打上底色,让你的读者不至于看了打哈欠。

---- Rows(2). Interior .ColorIndex = 5 '设置第2行底色为蓝色

---- 再给表格的标题上色,这样更醒目一点。

---- Rows(1).Font.ColorIndex=4

---- 表头完成后该填数据了,一个一个地填实在是太慢了,如果你的数据是存放在一个二维数组中,那问题就简单多了。

Dim Data(3,4)

………… ‘数据处理

Range(“a2:d4”).Value=Data

---- 这样可以一次填入一个表的所有数据,够快了吧!不过提醒一句,Range对象大小最好与数组匹配,小了无法显示所有数据,大了则会在空白单元格只填入“N/A”表示没有取得数据。

---- 如果需要在结果中显示多个同样规格的数据表,想在Range对象中加入循环变量,这也好办。

Dim cell11,cell2

Dim Data(3,4)

…………

For I =1 to 40

………… ‘数据处理

Set cell1=Worksheets("Sheet1").Cells(5*I-4,1)

Set cell2=Worksheets("Sheet1").Cells(5*I-2,4)

Worksheets("Sheet1").Range(cell1,cell2).value=Data

Next I

---- 表格填完了,现在该打表格线了,以下几条语句可以满足你的要求:

With Worksheets("Sheet1").Range(cell1,cell2).borders

.LineStyle=xlContinuous

.weight=xlThin

End With

EXCEL在VB中的编程概念全解

...
  • nxhujiee
  • nxhujiee
  • 2010年11月22日 22:51
  • 2522

如何在 VB 中以编程方式创建并调用 Excel 宏

1. 在 Visual Basic 中创建一个标准 EXE 项目。默认情况下会创建 Form1。 ...
  • sjj3000
  • sjj3000
  • 2007年09月13日 11:28
  • 1326

vB编程VB源码 VB读取EXCEL工作薄某个表中数据 ADODB.Recordset

Private Sub Form_Load() Dim RS As ADODB.Recordset Set RS = GetExcelRs(App.Path & "\book1.xls") Ms...
  • xiaoyao961
  • xiaoyao961
  • 2011年09月07日 20:19
  • 1893

在VB中编辑数据库和电子表格

在VB50中有很多功能强大的控件,其中数据控件与一些绑定控件(如文本框,图片框及 ActiveX控件)的相互协作,能够方便地实现对各种数据库记录、表格乃至电子表格的浏览和编辑操作。 下面介绍实例,其...
  • hh_bj
  • hh_bj
  • 2001年02月22日 08:18
  • 1127

vb excel导入到sql server

       CommonDialog2.ShowOpen xf = Trim(CommonDialog2.filename) If xf = "" Then Exit Sub    sql = "d...
  • tuzi_xz
  • tuzi_xz
  • 2008年05月09日 16:20
  • 1308

VB txt 转换 excel 的小程序

首先要对excel进行引用 Private Sub Command1_Click()Sub Command1_Click()    TxtToExcel "E:/1.txt", " " End Sub...
  • SImonJ07
  • SImonJ07
  • 2007年08月16日 09:37
  • 3532

VB实现Access数据库转换为Excel格式

1、Windows 注册表中 ISAM 驱动程序的路径无效。检查链接字符串是否正确 2、 ISAM 驱动程序不存在,可能会发生此问题。具体的操作步骤:在“运行”对话框中输入以下内容:Regsvr32...
  • ToValidation
  • ToValidation
  • 2016年12月29日 15:19
  • 208

(ExcelVBA编程入门范例)

很喜爱VBA,喜欢使用她对Excel操作实现所需的功能,更喜欢使用VBA控制Excel以及实现结果后的那种感觉。一直都想对ExcelVBA进行系统的整理和归纳,但由于对Excel及VBA了解得不够深入...
  • ZOU_SEAFARER
  • ZOU_SEAFARER
  • 2007年01月26日 15:58
  • 4120

VB Cells.find函数参数解释

用VBA录制的查找 Cells.Find(What:="想查找的数据", After:=ActiveCell, LookIn:=xlValues, LookAt:= xlPart, SearchOr...
  • Seabiscuit_92
  • Seabiscuit_92
  • 2016年05月31日 10:54
  • 1846

如何用VB写一段代码获得Excel文件中紀錄行的行数和列数?

如何用VB写一段代码获得Excel文件中已用部分的行数和列数? 楼主ervinlj(阳光使者)2002-09-13 14:36:04 在 VB / 基础类 提问 各位网友,大家好啊:     我想...
  • slove_cao
  • slove_cao
  • 2007年11月13日 14:59
  • 4057
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Excel 的VB编程
举报原因:
原因补充:

(最多只允许输入30个字)