2017年05月3日,星期三
   Excel VBA中引用单元格已经很简单了。但是如何像输入函数时一样,自由的选择单元格区域,以便更好地实现人机交互呢?    这里用到的函数 InputBox,里面的参数很简单,Type:=8意思是返回的值是Range,当然也可以是公式、数值或其他,具体可参见Help。    最后,通过Range的Column属性和Columns.Count属性,返回选择区域的列号及列数。有了行号、行数、列号、列数对该单元的的操作就很简单了。    附一段代码: Sub GetRange() Dim rng As Range On Error Resume Next Set rng = Application.InputBox(prompt:=”输入单元格区域或者直接选取单元格”, Type:=8) If rng Is Nothing Then    MsgBox “操作取消” Else    rng.Select       MsgBox “已选择单元格区域第一列的列号为” & rng.Column & “。共有” & rng.Columns.Count & “列。”       MsgBox “已选择单···
2017年05月3日,星期三
Private Sub CommandButton1_Click() Dim c As Range jieguo = TextBox1.Value ‘jieguo = Application.InputBox(prompt:=”请输入要查找的值:”, Title:=”查找”, Type:=2) If jieguo = “False” Or jieguo = “” Then Exit Sub Application.ScreenUpdating = False Application.DisplayAlerts = False With ActiveSheet.Cells Set c = .Find(jieguo, , , xlWhole, xlByColumns, xlNext, False) If Not c Is Nothing Then p = c.Address Do ‘查找下一个 c.Interior.ColorIndex = 4 q = q & c.Address & vbCrLf ‘ Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> p End If End With ‘MsgBox “查找数据在以下单元格中:” & vbCrLf & vbCrLf & q, vbInformation + vbOKOnly, “查找结果” ‘Application.Displ···
2017年05月3日,星期三
Sub Macro1() ‘ ‘ Macro1 Macro ‘ ‘ Dim jieguo As String, p As String, q As String Dim c As Range jieguo = Application.InputBox(prompt:=”请输入要查找的值:”, Title:=”查找”, Type:=2) End Sub
2016年01月7日,星期四
巧取汉字打头的字串内容   处理表格数据时遇到问题:从网页表格中复制来的数据,地址一列中出现类似于“4AWZCX万载老林业局2”的无用字符前缀。现在希望提取第一个汉字及其之后的所有内容(图1),寻求高效分离中英文及数字的实操方法。 excel提取汉字 巧取汉字打头的字串内容   1. 借助自动填充 如果使用Excel 2016,可以借助自动填充功能实现。打开“Excel选项”对话框,切换到“高级”面板(图2),在右侧窗格检查勾选“为单元格值启用记忆式键入”和“自动快速填充”复选框;接下来在B2单元格手工输入“万载老林业局2”,在B3单元格手工输入“永”,此时即可看到自动匹配提示,直接按下回车键即可(图3)。     巧取汉字打头的字串内容 excel公式巧取汉字打头的字串内容 小提示: 如果使用更低版本的Excel,可使用下面两种方法。 2. 利用数组公式 在编辑栏输入公式“=MID(A2,MATCH(1=1,LENB(MID(A2,ROW($1:$25),1))=2,),25)”,按下Ctrl+Shift+Enter···
2015年12月17日,星期四
由于工作需要,要对大量的身份证号码进行校验,人工核对非常麻烦,就有了此篇文章,在vb中利用程序作了个dll文件,让wps进行调用, 程序的主要代码来源于网络,主要代码如下: Function IDcheck(ID)                                                        ‘身份证号码校验函数 Dim s, i As Integer Dim e, z As String Part1: ‘—————————-身份证号码合法性检查————————————— If Not (Len(ID) = 18 Or Len(ID) = 15) Then                                            ‘位数检验 IDcheck = “位数错误” Exit Function Else If Len(ID) = 15 Then ID = Left(ID, 6) & “19” & Right(ID, 9) If IsNumeric(Left(ID, 17)) = False Or InStr(ID, “.”) >···