怎样用VBA 去掉等号和双引号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用VBA 去掉等号和双引号相关的知识,希望对你有一定的参考价值。
A列有几千行,我编了个程序但是太慢了,比蜗牛还慢。请高人指点,谢谢。
Sub 去等号()Application.ScreenUpdating = offDim i As Integer, a As Integer, b As String, m As Integera = WorksheetFunction.CountA(ActiveSheet.Range("A:A"))For i = 2 To ab = Cells(i, 1)m = InStr(b, "=")If m <> 0 ThenCells(i, 1) = Mid(b, 3, 6)End IfNext iCells(1, 1).SelectApplication.ScreenUpdating = TrueEnd Sub
单击单元格B1,输入
=Mid(A1,3,6)
回车后,在B1里得到了A1内容去掉等号和双引号后的内容.然后用鼠标,拖动手柄就可以了! 参考技术A 用数组在内存中运算,不要频繁去读写工作表效率会提高.
Sub 去等号()
Application.ScreenUpdating = off
t = Time()
c = [A65536].End(xlUp).Row
arr = Range("A2:A" & [A65536].End(xlUp).Row).Value
For i = 1 To UBound(arr)
m = InStr(arr(i, 1), "=")
If m <> 0 Then
arr(i, 1) = Mid(arr(i, 1), 3, 6)
End If
Next i
Range("A2").Resize(UBound(arr), 1) = WorksheetFunction.Transpose(arr)
Application.ScreenUpdating = True
MsgBox "用时:" & Format(Time() - t, "hh:mm:ss")
End Sub追问
第一列全部变为000001了
追答数据的范围没变,只是数据的存储方式改变了,应该不会出现你说的情况啊.
你在VBA窗口按F8单步执行代码,监视一下arr数组看看arr数组中存储数据看看
我用excel2003测试是正常的.
Dim i%, v$
i = 1
Do While Cells(i, 1) <> ""
v = Cells(i, 1)
Cells(i, 3) = Right(Left(v, Len(v) - 1), Len(v) - 3)
i = i + 1
Loop
End Sub
如果格式都一样的话 这样就可以了 参考技术C Columns("A:A").Select
Selection.Replace What:="=", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="""", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
shell基础2
BASH变量
第一小节
变量设置规则
- 在bash中,变量的默认类型是字符串型。
- 变量用等号连接值,等号两侧不能有空格。
- 变量值中如果有空格,需要用单引号和双引号包起来。
- 如果把命令的结果作为变量值赋予变量,需要用反引号或$()包含命令。
变量分类
- 用户自定义变量:只在当前的shell中生效。
- 环境变量:名字不能改,可以改值。也可以手工增加新的环境变量。在当前shell和子shell中生效。(除了把环境变量写在配置文件中,就会在所有的shell中生效)
- 位置参数变量:不能新增新的变量,属于预定义变量。
- 预定义变量,不能改变名字和值。
变量调用
echo $name
变量查看
set
变量删除
unset name
第二小节 环境变量
设置环境变量
export 变量名=变量值#申明变量 如:
env #查询变量
PATH:系统查找命令的路径。
PATH变量增加:"$PATH":/root/sh
第三小节 位置参数变量
例子:
第四小节 预定义变量
- find /root -name hello.sh &(&代表将这条命令放入后台执行)
1.接受键盘输入
read [选项][变量名]
选项:
-p “提示消息”:在等待read输入时,输出提示消息
-t 秒数 :等待用户输入的时间范围设定
-n 字符数:接收指定的字符数,就会执行
-s :隐藏输入的数据,可用作密码的设定
第五小节 变量运算符
1. declare 声明变量类型
declare [+/-][选项]变量名 declare -i c=$a+$b
选项:
-:给变量设定类型属性
+:取消变量的类型属性
-i:将变量声明为整数型
-x:将变量声明为环境变量
-p:显示指定变量的被声明的类型
2. expr或let
如:dd=$(expr $aa + $bb)注意:+号左右两侧必须有空格。
3."$((式子))" or "$[式子]" 建议使用这种,比较简单方便。
运算符的优先级
运算符的测试和替换(不用死记硬背,需要的时候查查就好,个人认为)
第六小节 环境配置文件
1. 基础
- source命令:source 配置文件 或 .配置文件
-
主要的环境变量配置文件:(一层一层调用)
/etc/profile :USER变量,LOGNAME变量,MAIL变量,PATH变量,HOSTNAME变量,umask,调用/etc/profile.d/.sh
/etc/profile.d/.sh
~/.bash_profile:调用~/.bashrc,在PATH变量后面加入了“:$HOME/bin”这个目录
~/.bashrc:定义默认别名,alias,调用/etc/bashrc
/etc/bashrc:PS1变量,umask,PATH变量,调用/etc/profile.d/*.sh![](http://i2.51cto.com/images/blog/201809/25/e6c193b3052f7fc6281b37a25a33bbf9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) “~”家目录,更改当前用户家目录,只对当前用户生效。 /etc/profile:有登陆的过程; /etc/bashrc:无登陆的过程;后面的会覆盖前面的。
2. 其他配置文件
- 注销时生效的环境变量配置文件:~/.bash_logout
- 历史命令配置:~/bash_history
- 本地终端欢迎信息:/etc/issue.net(转义符不能使用)
*是否显示此欢迎信息,由ssh的配置文件/etc/ssh/sshd_config决定,加入"Banner /etc/issue.net"行才能显示(记得重启SSH服务)
/etc/motd :本地和远程登陆都可以显示欢迎信息。
以上是关于怎样用VBA 去掉等号和双引号的主要内容,如果未能解决你的问题,请参考以下文章