按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
〃;IF(TRUNC(A1*10)=A1*10;TEXT(TRUNC(A1);〃'DBNum2'〃)&〃 元
〃&TEXT(RIGHT(A1);〃'DBNum2'〃)&〃 角 整 〃;TEXT(TRUNC(A1);〃'DBNum2'〃)&〃 元
〃&IF(ISNUMBER(FIND(〃。0〃;A1));〃 零 〃;TEXT(LEFT(RIGHT(A1;2));〃'DBNum2'〃)&〃 角
〃)&TEXT(RIGHT(A1);〃'DBNum2'〃)&〃分〃)) 负数的话,加一个判断,如果是负数,将整个结果
的“…”用REPLACE 函数改称“ 负”字就行了。
或者试试这个函数(转) Function UNumber(LNumber As Double) Dim NumberStr Dim
NumberLen% Dim DotLoc1% Dim DotLoc2% Dim NumberStr1 Dim NumberStr2 If
LNumber = 0 Then UNumber = 〃 零 元 整 〃 Exit Function End If NumberStr =
Application。WorksheetFunction。Text(LNumber; 〃'DBnum2'〃) NumberLen = Len(NumberStr)
CCXXIII
…………………………………………………………Page 224……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
DotLoc1 = InStr(1; NumberStr; 〃。〃; vbTextpare) DotLoc2 = NumberLen DotLoc1 If
DotLoc1 = 0 Then NumberStr = NumberStr & 〃元整〃 Else NumberStr = Replace(NumberStr;
〃。〃; 〃元〃) If DotLoc2 = 2 Then NumberStr = NumberStr & 〃分〃 If Mid(NumberStr; DotLoc1 +
1; 1) 〃零〃 Then NumberStr1 = Mid(NumberStr; 1; DotLoc1 + 1) & 〃角〃 NumberStr2 =
Right(NumberStr; 2) NumberStr = NumberStr1 & NumberStr2 End If Else NumberStr =
NumberStr & 〃角整〃 End If End If On Error Resume Next UNumber = Replace(NumberStr; 〃
零元〃; 〃〃) End Function
CCXXIV
…………………………………………………………Page 225……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
Part 9: EXCEL问题集锦
返回首页
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
CCXXV
…………………………………………………………Page 226……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
大概意思如此,但没有加入防错处理,你自己先试试看,有问题在问。
又问:试了一天,还是不行。
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) 由于每次都是用原图缩放,故可取得缩放比例作为参数,再套打其他表格时,即可直接依
参数缩放图片。
思路:因为空白表=支票,图片=空白表,所以图片=支票。
该方案已证实可行。
CCXXVI
…………………………………………………………Page 227……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
007。宏放在worksheet和sheet及模块中各有什么区别?
解答:放在thisworkbook或sheet中的宏与模块中的宏的主要区别是book或sheet中的过程函数
只能是对象所专有的,不能在对象之外的任何地方调用(很显然不能声明Public过程,否则编
译报错),而模块中声明Public过程函数可以在任何地方使用。
008。关于excel 问题
在excel 中如何用公式实现单元格内容递增?
如: AB12
AB13
AB14
。。。。。。。
AB100
条件是无法确定储存格中的内容的前面有多少个字符,也就是,可能是2个,也可能是3个,
或者更多。
解答:為什麼要用公式呢?
如 A1 = AB12