Excel VBA 常用代码50例

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Excel VBA 常用代码50例

001。用命令按扭打印一个sheet1中B2:M30区域中的内容?

我想在Sheet2中制件一个命令按扭, 打印表Sheet1中的[B2:M30] 区域中的内容?

解答:可以将打印区域设为b2:m30,然后打印,如:sheets("sheet1").printarea="b2:m30"

sheets("sheet1").printout

随手写的,你可以试试看。最简单的方法是:你先录制宏,在录制宏过程中,跑到页面设置里面,把打印范围设置到你想要的范围。

然后退出,停止录制宏,你就可以得到一些代码!

002。能否对一列中的文字统一去掉最后一个字?这些文字不统一,有些字数多,有些字数少。如何处理?我用{"&-}不行

解答:=REPLACE(A1,LEN(A1),1," ")(在过渡列进行)

003.能否根据单元格数值自动标记序号?

各位大佬,一工作表有两列,“序号”及“金额”,能否将金额不等于0的行自动标上序号呢?如无现成的函数,应怎样设置?

解答:Dim xuhao As Integer

xuhao = 1

Range("b2").Select

Do While Selection <> ""

If Selection <> 0 Then

ActiveCell.Previous.Value = xuhao

xuhao = xuhao + 1

End If

ActiveCell.Offset(1, 0).Range("a1").Select

Loop

004.求教自定义函数

查询了一些自定义函数的例子都是单变量的。自定义函数能否建立“(As Range) As Interger”的函数,应该可以的,请各位大师赐教!请以“∑x2”为例,万分感谢!(该用"For Each ...Next",就是还不知道如何引用Range中的每个值,请高手指点。)

解答:参数使用Range而函数值为Integer是可以的

用for each next循环思路也是对的,应该这样作:

dim rg as range

dim ivalue as integer

for each rg in 参数区域

ivalue=ivalue+rg.value

next

函数=ivalue

大概意思如此,但没有加入防错处理,你自己先试试看,有问题在问。

又问:试了一天,还是不行。

Public Function x2(rng As Range) As Integer

Dim rng As Range

Dim ivalue As Integer

For Each rng In rng.Range

ivalue = ivalue + rng.value ^ 2

Next

x2 = ivalue

End Function

还望您的帮助。

解答:Public Function SUMX2(rng As Range) As Integer '你的错误有几项:

'1.函数名不能使用单元格位址的形式,否则在工作表中引用函数产生歧义,excel以为你引用单元格

'2.参数名与内部变量名冲突,rng本来是定义参数,在过程中不应出现重名变量

'3.rng已被定义为range对象变量,实际意义是一range引用,不能再用rng.Range引用,range的range

属性是什么呢,没有吧

'函数我已经给你改了,基本能用

Dim rg As Range

Dim ivalue As Integer

For Each rg In rng

ivalue = ivalue + rg.value ^ 2

Next

SUMX2 = ivalue

End Function

结果:调试成功!,非常感谢!

005.判断字符串的包含性

用什么命令“abcdefg”是否包含“abc”?

解答:If VBA.InStr(1, "abcdefg", "abc") <> 0 Then MsgBox "包含"

006.利用背景实现套打的解决方案

利用背景套打主要在于数据打印位置的确定,关键就是要使图片和实物之间的尺寸保持一致,这里我引入一个中间参照物—空白表(只有表格线的表)。具体操作以套打支票为例说明:

(1)将支票扫描成图片。

(2)打印一个空白表,使其与支票尺寸一致(需反复调整打印,也可行、列分别打印)。

(3)用“画图”的缩放功能调整图片大小,导入excel作背景,并使其与空白表大小一致(亦需反复调整导入,每次均用原图缩放,再另存为一个文件)。

(4)根据图片背景调整好单元格,填入数据后套打支票,效果是匹配度达99%。

(5)由于每次都是用原图缩放,故可取得缩放比例作为参数,再套打其他表格时,即可直接依参数缩放图片。

思路:因为空白表=支票,图片=空白表,所以图片=支票。

该方案已证实可行。

007.宏放在worksheet和sheet及模块中各有什么区别?解答:放在this workbook或sheet中的宏与模块中的宏的主要区别是book或sheet中的过程函数只能是对象所专有的,不能在对象之外的任何地方调用(很显然不能声明Public过程,否则编译报错),而模块中声明Public过程函数可以在任何地方使用。

008.关于excel问题

在excel中如何用公式实现单元格内容递增?

相关文档
最新文档