按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
个字符就行。
方 法 5 、 {=RIGHT(A1;LEN(A1)…MAX((MID(A1;ROW(INDIRECT(〃1:〃&LEN(A1)));1)=〃
〃)*ROW(INDIRECT(〃1:〃&LEN(A1)))))}
嫌长就(假定最长100字符)
{=RIGHT(A1;LEN(A1)…MAX((MID(A1;ROW(1:100);1)=〃 〃)*ROW(1:100)))}
045。如何获取工作表中某一列有多少条记录?
因为每一列的的记录都不一样多,所以我想获得每一列各有多少条记录,怎么做?
解答:RecordNumbers=Application。COUNTA(A:A)
或者:Private Sub UserForm_Activate()
x = Sheet1。UsedRange。Rows。Count
x1 = Sheet1。CountA(c4; cx)
也可以:Sub aa()
MsgBox (Application。CountA(Range(〃A:A〃)))
End Sub
还可以:Sub aa()
x = Sheet1。UsedRange。Rows。Count
MsgBox (Application。CountA(Range(〃c3:cx〃)))
End Sub
这样也行:用下面的方法可测出任一列使用的行数
a=Sheet1。range(〃b1〃)。End(xlDown)。Row 。
总结:
1。Sub aa()
MsgBox (Application。CountA(Range(〃C:C〃)))
End Sub
结果永远都是1或者3,可是实际上记录有600多条
2。
Sub aa()
Worksheets(〃sheet1〃)。Activate
Range(〃c2〃)。Select
x1 = 〃=COUNTA(sheet1!C)〃
MsgBox x1
End Sub
这个是看fhj 示例的文件录制成宏改的,不过运行结果永远是 =counta(sheet1!c)
3。
CCXLI
…………………………………………………………Page 242……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
Sub aa()
x1 = 〃=COUNTA(sheet1!C)〃
MsgBox x1
end sub
提示和前面的一样。
4。其实已经试了几十种方法了。还是错的。作为公式时,是可以使用。但是却
无法把获得的值赋值给一个变量。除非是先写到一个单元格里,再重新读出来。
不过我觉得太麻烦了。而且写的时候会修改工作表。不是很恰当。
解答:Application。CountA(Range(〃C:C〃))返回除去无值单元格的所有单元格的数量。
Sheet1。range(〃C1〃)。End(xlDown)。Row返回第一次遇到空单元格前的单元格的数量。
(注:当C列有空白单元格时用:
myEndRow=sheets(〃sheet1〃)。range(〃C65536〃)。End(xlUp)。row)
结论:Sub aa()
x1 = Sheet1。Range(〃C3〃)。End(xlDown)。Row
MsgBox x1
end sub
这就对了。谢谢各位!
回应:推荐你用
Columns(1)。SpecialCells(xlCellTypeConstants)。Count
045。如何禁止输入空格
在Excel中如何通过编辑“有效数据”来禁止录入空格?烦请大侠们费心解答。不胜感激。
解答:有效性公式。=COUNTIF(A1;〃* *〃)=0
(注:COUNTIF(A1;〃* *〃) 在单元格有空格时结果为1;没有空格时结果为0
如希望第一位不能输入空格:countif(a1;〃 *〃)=0
如希望最后一位不能输入空格:countif(a1;〃* 〃)=0)
046。如何判断单元格中单词的数量?
比如我在A1 中输入“you are a good boy”如何判断单词为5个?
解答:=LEN(E12)…LEN(SUBSTITUTE(E12;〃 〃;〃〃))+1
(注:方法很巧妙用trim把前后的空格去掉。如果有标点符号或者两个词之间的空格数大于1个
就不好办了)
047。如何取数
表一有数据,要求表二中数据为取一行表一数据,空一行。
解答:
Sub test()
On Error Resume Next
Application。ScreenUpdating = False
For i = 1 To Sheets(1)。UsedRange。Rows。Count
Sheets(1)。Rows(VBA。Trim(VBA。Str(i)) + 〃:〃 + VBA。Trim(VBA。Str(i)))。Copy
Sheets(2)。Activate
CCXLII
…………………………………………………………Page 243……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
Sheets(2)。Rows(VBA。Trim(VBA。Str(i * 2 1)) + 〃:〃 + VBA。Trim(VBA。Str(i * 2 1)))。Select
ActiveSheet。Paste
Next i
Application。ScreenUpdating = True
End Sub
048。如何通过VBA编程将符合条件的数据库记录输入到EXCEL中
现在有access格式的数据表 TEST
货号 货名 规格 单价。。。。
1…01 货品1 1M 250。00
1…02 货品2 4Kg 100。00
。。。。。。。。。。。。。。。。
N…99 货品N 999 999。99
现在我想在EXCEL的单元格中输入货号,通过VBA代码自动从数据表中查找出相应的记录,并
在相邻的列分别自动录入货品、规格、单价等内容,从而实现EXCEL 自动数据录入。请问这VBA
代码应如何写?谢谢!
解答:Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rs As New ADODB。Recordset
Dim Query As String
Dim Cnn As String
With Application
。ScreenUpdating = False
。EnableEvents = False
End With
Cnn = 〃Driver=Microsoft Access Driver (*。mdb);DBQ=C:*。mdb〃
Query = 〃SELECT * FROM TEXT WHERE 货号='〃 & Target & 〃'〃
With Rs
。Open Query; Cnn; adOpenStatic; adLockReadOnly
If 。RecordCount = 0 Then
MsgBox 〃没有此货号!〃
Target。ClearContents
Else
Target。CopyFromRecordset Rs
End If
。Close
End With
With Application
。ScreenUpdating = True
CCXLIII
…………………………………………………………Page 244……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
。EnableEvents = True
End With
End Sub
049。如何统计一个单元格中的数字有几位数?
解答1:=LEN (单元格地址)
又问:如果中间有汉字或者是字母、符号呢,或是数者都有呢?
解答2:=SUM(LEN(A1)…LEN(SUBSTITUTE(A1;{〃0〃;〃1〃;〃2〃;〃3〃;〃4〃;〃5〃;〃6〃;〃7〃;〃8〃;〃9〃};〃〃)))
解答3:=2*LEN(A1)…LENB(A1)
(备注:對中文 + 數字是很好的做法,但有英文字 或 中文 + 數字 + 英文就出錯)
050。如何選取列內不重眩Y料
解答1:Sub ff()
Dim aa As New Collection
cc = 2
On Error Resume Next
Do Until Cells(3; cc) = 〃〃
aa。Add Cells(3; cc)。value; Cells(3; cc)。Text
cc = cc + 1
Loop
On Error GoTo 0
cc = 2
For Each itm In aa
Cells(5; cc) = itm
cc = cc + 1
Next
End Sub
解答2:提供一個以陣列方法為思考模式的方法
Sub ff()
On Error Resume Next
cc = 2
Set NoDupes = CreateObject(〃Scripting。Dictionary〃)
Do Until Cells(3; cc) = 〃〃
NoDupes。Add Cells(3; cc)。value; Cells(3; cc)。value
cc = cc + 1
Loop
Range(〃B6〃)。Resize(1; UBound(NoDupes。keys) + 1) = NoDupes。keys '陣列由0開始;所以+1
End Sub
Excel 表格的 35 招必学秘技
也许你已经在 Excel 中完成过上百张财务报表,也许你已利用Excel 函数实现过上千次的
复杂运算,也许你认为 Excel 也不过如此,甚至了无新意。但我们平日里无数次重复的得心应
手的使用方法只不过是 Excel 全部技巧的百分之一。本专题从 Excel 中的一些鲜为人知的技巧
CCXLIV
…………………………………………………………Page 245……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
入手,领略一下关于 Excel 的别样风情。
一、让不同类型数据用不同颜色显示
在工资表中,如果想让大于等于 2000 元的工资总额以“红色”显示,大于等于 1500 元的
工资总额以“蓝色”显示,低于 1000 元的工资总额以“棕色”显示,其它以“黑色”显示,
我们可以这样设置。
1。打开“工资表”工作簿,选中“工资总额”所在列,执行“格式→条件格式”命令,打
开“条件格式”对话框。单击第二个方框右侧的下拉按钮,选中“大于或等于”选项,在后面
的方框中输入数值“2000 ”。单击“格式”按钮,打开“单元格格式”对话框,将“字体”的
“颜色”设置为“红色”。
2。按“添加”按钮,并仿照上面的操作设置好其它条件(大于等于 1500,字体设置为“蓝
色”;小于 1000,字体设置为“棕色”) 。
3。设置完成后,按下“确定”按钮。
看看工资表吧,工资总额的数据是不是按你的要求以不同颜色显示出来了。
二、建立分类下拉列表填充项
我们常常要将企业的名称输入到表格中,为了保持名称的一致性,利用“数据有效性”功
能建了一个分类下拉列表填充项。
1。在 Sheet2 中,将企业名称按类别(如“工业企业”、“商业企业”、“个体企业”等)分别输
入不同列中,建立一个企业名称数据库。
2。选中 A 列( “工业企业”名称所在列) ,在“名称”栏内,输入“工业企业”字符后,按
“回车”键进行确认。
仿照上面的操作,将 B 、C〃〃列分别命名为“商业企业”、“个体企业”〃〃
3。切换到 Sheet1 中,选中需要输入“企业类别”的列(如 C 列) ,执行“数据→有效性”命
令,打开“数据有效性”对话框。在“设置”标签中,单击“允许”右侧的下拉按钮,选中“序
列”选项,在下面的“来源”方框中,输入“工业企业”,“商业企业”,“个体企业”〃〃