VBA for EXCEL FAQ :
** 1 ** ** 、 **
** Q ** ** : ** 我有一段小程序,需要对现有的 excel 的格式做一些修改。主要就是添加一些行列,合并一些单元格,设置单元格的格式等等。
当程序运行的时候,只看见眼前的 excel 表一顿变化,眼花缭乱。
我想让程序能在静默方式下完成,完成后再 updata windows 有什么办法?
或者其他可以让它不眼花缭乱的办法都可以
** A ** ** : ** ** **
运行前
Application.ScreenUpdating = False
运行后
Application.ScreenUpdating = True
** 2 ** ** 、 **
** Q ** ** : **
我得到一个 excel 的单元格地址:用 cells 引用是: cells ( 5 , 2 )
那么它的 R 1C 1 地址因该对应为 "B5"
有没有方便的函数帮助我在提供其中一个地址后可以转换成另一种??
** A ** ** : ** ** **
Expression . ** Address ** ( RowAbsolute , ColumnAbsolute , ReferenceStyle , External , RelativeTo )
** 3 ** ** 、 **
** Q ** ** : ** ** **
我想屏蔽掉系统的警告,不让它弹出提示框。
** A ** ** : ** ** **
Application.DisplayAlerts = False
** 4 ** ** 、 **
** Q ** ** : ** ** **
在 EXCEL 中,想获得实际用到的行数,就是有内容的行数,不算空白的部分
** A ** ** : ** ** **
Dim usrow as integer
Dim uscol as integer
usrow = activesheet.UsedRange.Rows.Count
uscol = activesheet.UsedRange.columns.Count
usrow 是行数, uscol 是列数。
** 5 ** ** 、 **
** Q ** ** : ** 如何去掉单元格的公式,保留它的数据?
** A ** ** : ** ** **
Cells( n , m ).Value = Cells( n , m ).Value
** 6 ** ** 、 **
** Q ** ** : ** 怎么改才能设置单元格底色?
** A ** ** : ** ** **
Range 对象 ** . ** Interior . ColorIndex = 13 ‘ 颜色 index
** 7 ** ** 、 ** ** **
** Q ** ** : ** ** **
需要把 8:00:00 这个值装换位数字 8 请问有没有相应的函数
** A ** ** : ** ** **
Dim x As Integer
x = Hour(CDate("8:00:00"))
** 8 ** ** 、 ** ** **
** Q ** ** : ** ** **
如何得到当前运行的 XLS 文档的目录???
** A ** ** : ** ** **
activeWorkbook.Path ' 当前文档的路径
activeWorkbook.FullName ' 带路径的当前文档名
activeWorkbook.Name ' 当前文档名
** 9 ** ** 、 ** ** **
** Q ** ** : ** ** **
如何在 Excel 中单击某一个单元格时,弹出自定义菜单?
** A ** ** : ** ** **
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If ActiveCell.row= 3 and activecells.column=3 Then
userform1.show
End If
End Sub
** 10 ** ** 、 ** ** **
** Q ** ** : ** ** **
下面是宏里的一段代码,功能是这样的:在 sheet1 表中,当鼠标选取某一行时,就将这行的第一列值赋给 sheet2 表的第四行第二列。
目的是以录制宏的方式实现这样的代码?请指教~·!
Row = ActiveCell.Row
Sheets("sheet2").Cells(4, 2).Value = Cells(Row, 1).Value
** A ** ** : ** ** **
Row = ActiveCell.Row
Sheets("sheet2").Cells(4, 2).Value = Sheets("sheet1").Cells(Row, 1).Value
或
Sheets("sheet2").Cells(4, 2).Value =activecell.value
都可以。