vba 写代码的时候,什么情况下要使用vba 双引号 转义,什么情况下不必使用?

如何用VBA输出带英文引号的字符串?
在VBA中,赋予变量或属性的字符串都是用引号 “" "”括起来的。如果字符串中要包含英文双引号,可以在代码中将输出时包含引号的文本用两对双引号括起来,然后再将整个字符串用引号括起来。例如下面的代码:
Range("A2") = """Excel"""
将在A2单元格中输入出带引号的“"Excel"”。
也可以使用引号的ASCII 字符(34) :
Range("A3") = Chr(34) & "Excel" & Chr(34)
下面一段代码的输出结果如图。
Sub test()
&& Range("A1") = "Excel "
&& Range("A2") = """Excel"""
&& Range("A3") = Chr(34) & "Excel" & Chr(34)
&& Range("A4").Value = "He said,""Excel is an Electronic Spreadsheet Program."""
问题:怎样用Excel公式返回英文双引号
回答:大家知道,在Excel中要用公式返回文本字符串,必须用英文双引号将其括起来。例如公式:
= 郭靖 & 、 & 黄蓉
返回“郭靖、黄蓉”。那么要在公式的结果中返回英文双引号,该怎样写公式呢?实际上,公式中用双引号括...
问题:Word利用表达式设置复杂查找替换方法
回答:...或半角空格,@表示1个以上前一字符或表达式,*表示任意字符串,[一-龥]表示任意单个中文汉字,()表示表达式分组,1表示第一个表达式。
问题:在Excel表格里设计定时器的技巧
回答:...& 是英文输入状态下的双引号,是Excel定义显示值为字符串时的标识符号,即IF函数在执行完真假判断后显示此双引号中的内容。为了醒目,可在&ldq
问题:如何用Excel从字母数字字符串中提取数字
回答: 此办理方案的根基道理是搜索并返回字母数字字符串中的第一个数字,然后只返回其后的数字。 算法 此办理方案包罗建设公式以完成下列任务: 1.将字母数字字符串解析为单独的字符。 2.确定解析后的字符串中是否有数字。 3....
问题:用自定义函数提取字符串中的重复字符
回答:有时需要将Excel单元格内字符串中的重复字符提取出来,例如提取字符串“abcdeAbcDe”中重复的几个字符“bce”,如图所示,可以用自定义函数实现。
1.按Alt+F11,打开VBA编辑器。
2.单击菜单“插入→模块”,在代码窗口中粘贴...
问题:Excel表格中怎样提取字符串中的特定字符
回答: Excel表格中怎样提取字符串中的特定字符。除了直接输入外,从已存在的单元格内容中提取特定字符输入,绝对是一种省时又省事的方法,特别是对一些样式雷同的信息更是如此,比如员工名单、籍贯等信息。
如果我们想快速...
相关知识:
答:print"""a"""返回"a"或是print chr(34)&"a"&chr(34)也是返回"a
VB如何在字符串中接受一个双引号
VB双引号字符问题话题:请问用VBA如何判断一个字符串是不是数字字符串?知道答:IsNumeric 函数 Boolean 值,指出表达式的运算结果是否为数。语法 IsNumeric(expression)必要的 expression 参数是一个 Variant,包含数值表达式或字符串
vba 判断字符串 重复数 包含多少
Access VBA中如何判断一个字符串
话题:C#里 用字符串怎么输出双引号“问:用#”a string“的形式,例如要求输出结果为 the third is"c!
答:这种形式用两个"表示双引号:str="this is""test"";
在VB或VBA字符串中输出双引号
关于JavaScript使用innerHTML
话题:Excel VBA如何用WriteLine输出该字符串?知道问:请教大家我该如何用WriteLine输出该字符串?xml version="1.0"encoding="utf-8?
答:a.WriteLine("?xml version=""1.0""encoding=""utf-8"?双引号内两个双引号转义为一个双引号
excel vba 查找字符并输出字符
EXCEL 用VBA 提取字符串话题:求教vba字符串匹配问题问:有2列数据,sheet1的A列有约20万行数据,比如其中4个分别是“深圳腾讯科技”,
答:按照你的描述,能想到的也就是用like 比较符或者instr 进行比较后输出到该行的后一列,但这个还是双层嵌套循环,最多需要 20万*万次。算法上不知道能
vba 字符串模糊匹配问题
vba 合并字符串出错,急求助话题:用VBA怎样判断输入的字符串是否是我需要的问:我有一个excel工作表,要从中提取出我需要的数据。其中有上海分店,广州分店,
答:冒号哪里些下面的代码:if not r is nothing then exit sub end if if instr("成都分店#上海分店#广州分店",r&"#")=0 then exit sub end if 提问者评价 谢谢!
请问:在VBA怎样判断在Excel选定
vba 判断字符串是否是已经存在的话题:vba 查找字符串问:想请假各位VBA高手们一个小问题,例如一串字符串target"交易检索程序"有没有
答:'一句话的事情,1L太太复杂了…Sub GetText(SourceText As String,Optional Text As String="")'[SourceText]需要得到的文本,[Text]得出的文本 if InStr(1,
vba 查找字符串
VBA查找字符
话题:EXCEL VBA 分离字符串中的数字和英文问:A列中存在如下字符 4F 5P 7DDP 86F 486DP。每个字符串中数字个数不确定,英文
答:我也来凑个热闹。下面代码 可以 分离:数字+字母,字母+数字,纯数字,纯字母。Sub AAA()Dim Ar,Br Dim i As Long Dim J As Long Ar=Range("A1:A"&Range("A"&
如何在EXCEL单元格中的数字和
怎么样只把EXCEL中的英文字母
话题:VBA判断字符串中是否含有汉字答:'VBA中默认英文字符串都是Unicode,双字节,如果转化为vbFromUnicode就变成单字节,汉字还是双字节,如果转换之前的字符长度与转化之后的字节长度相等(LenB是
vba 判断字符串 重复数 包含多少
VBA 判断A列是否含有一个特定
话题:EXCEL 用VBA 提取字符串问:单元格 A1 中 有很长的内容 其中有这么两句.≤agueBaseId=75&teamBaseId=917&
答:Sub test()Dim t As String,i As Integer,a t=Cells(1,1).Value a=Split(t,"BaseId=")For i=1 To UBound(a)Cells(i+1,1)=Split(a(i),"&")(0)Next End Sub
EXCEL VBA 编程提取字符串中的
Excel vba 提取字符和文件操作的
为您推荐:
在Excel 中设置图标集条件格式时...
Excel中默认的排序方法是按照字母或拼音...
在Excel中通过改变单元格的值来更换图片...
在Excel中可通过内置或自定义的单元格样...最后几个萌宝了,处理价格35元包邮了,有需要的留言地址即可!抱歉,这几天因为工作有些事情耽搁了几天,各位有什么问题几天可以继续提问了,前几天没有回复的问题可以重新提问,肯定给予答复!当然了,如果有需要充电宝的朋友多多支持一下啊!下面进入正题了,继续我们的VBA常用代码解析189
保护VBA代码VBA项目的源代码是完全开放的,如果不希望其他人看到源代码,可以使用以下两种方法将代码保护起来。189-1
设置工程密码设置VBA工程的密码,只有在输入正确密码后才能看到源代码。在VBE窗口中单击菜单“工具”→“VBAProject属性”,在显示的“VBAProject—工程属性”对话框的“保护”选项卡中选中“查看时锁定工程”复选框,并在“密码”文本框和“确认密码”文本框中输入密码后单击“确定”按钮关闭该对话框,保存并关闭文件。密码保护完成后,当试图打开该工程时会显示“VBAProject密码”的对话框,只有在输入正确的密码后才能看到该工程的源代码。189-2
设置“工程不可查看”使用“保护并共享工作簿”功能将工程设置为不可查看。在Excel中选择菜单“工具”→“保护”→“保护并共享工作簿”,在显示的“保护并共享工作簿”对话框中选中“以追踪修订方式共享”复选框,激活对话框中灰色的输入密码区域,在“密码”文本框中输入密码后单击“确定”按钮。在显示的“确认密码”对话框中再次输入密码后单击“确定”按钮。此时系统会显示“此操作将导致保存文档。是否继续?”的对话框。单击“确定”按钮后在显示的对话框中单击“确定”按钮即可。完成设置后当在VBE中查看工程时则会出现一个“工程锁定”的对话框,提示“工程不可查看”。如果需要取消“工程不可查看”只需在Excel中选择菜单“工具”→“保护”→“撤消对共享工作簿的保护”在显示的“取消共享保护”对话框中需要输入正确的密码中单击“确定”按钮即可。 ▲190
优化代码190-1
关闭屏幕刷新在使用代码改变工作表的显示内容或格式时关闭屏幕刷新可以加快运行速度,如下面的代码所示。
Sub Screen()
Dimi As Integer
Dimt As Date
Dimt1 As String
Dimt2 As String
Application.ScreenUpdating= False
Fori = 1 To 30000
Cells(1,1) = i
t1 =Timer - t
Application.ScreenUpdating= True
Fori = 1 To 30000
Cells(1,1) = i
t2 =Timer - t
MsgBox&关闭屏幕刷新运行时间:& & Format(t1,&0.00000&) & &秒& _
& Chr(13) & &开启屏幕刷新运行时间:& & Format(t2,&0.00000&)& &秒&
End Sub代码解析:Screen过程使用两次For...Next语句给A1单元格填充数据,最后使用消息框显示两次运行的时间。在第一次循环时关闭屏幕刷新,应用于Application对象的ScreenUpdating属性设置屏幕刷新功能是否打开,设置为False关闭屏幕刷新,将看不到代码的执行过程,但可以加快代码的运行速度。运行Screen过程,消息框显示两次代码的运行时间,可以看出关闭屏幕刷新后运行时间远远小于开启屏幕刷新时运行的时间。190-2
使用工作表函数在VBA中使用工作表函数比仅仅使用VBA代码的运行时间要快得多,如下面的代码所示。
Sub ShFunction()
Dimi As Integer
Dimt As Date
Dimt1 As String
Dimt2 As String
Range(&B1:B2&).ClearContents
Application.ScreenUpdating= False
Fori = 1 To 30000
Cells(1,2) = Cells(1,2) + Cells(i,1)
t1 =Timer - t
Cells(2,2) = Application.WorksheetFunction.Sum(Range(&A1:A30000&))
t2 =Timer - t
Application.ScreenUpdating= True
MsgBox&第一次运行时间:& & Format(t1,&0.00000&) & &秒& _
& Chr(13) & &第二次运行时间:& & Format(t2,&0.00000&)& &秒&
End Sub代码解析:ShFunction过程分别使用VBA代码和调用工作表Sum函数对单元格区域进行求和计算,最后使用消息显示运行时间。第9行到第11行代码使用VBA的累加方法计算单元格A1:A30000的和。第14行代码调用工作表Sum函数计算单元格A1:A30000的和。VBA中调用工作表函数请参阅▲153 。运行ShFunction过程,消息框显示两种方法的运行时间,可以看出调用工作表函数进行计算的运行时间要远远小于使用累加方法运行的时间。190-3
使用更快的单元格操作方法在对单元格区域进行操作时,使用Find、Replace、SpecialCells等方法可以比使用VBA代码获得更快的速度,如下面的代码所示。
Sub Methods()
Dimarr As Variant
Dimi As Long
Dimt As Date
Dimt1 As String
Dimt2 As String
WithRange(&A1:A20000&)
arr = .Value
For i = 20000 To 1 Step -1
If Cells(i,1) = &Excel& Then
Cells(i,1).EntireRow.Delete
t1 = Timer - t
.Value = arr
.Replace &Excel&,““
.SpecialCells(4).EntireRow.Delete
t2 =Timer - t
MsgBox&第一次运行时间:& & Format(t1,&0.00000&) & &秒& _
& Chr(13) & &第二次运行时间:& & Format(t2,&0.00000&)& &秒&
End SubMethods过程分别使用VBA代码和使用Replace、SpecialCells方法删除工作表A列内容为“Excel”的单元格所在的行,最后使用消息显示运行时间。第8行代码将单元格数据保存在数组arr中,因为在运行第2种方法前需要恢复单元格数据。第10行到第14行代码,采用遍历单元格的方法删除内容为“Excel”的单元格所在的行。第16行代码恢复单元格原有的数据。第18行代码使用Replace方法将内容为“Excel”的单元格替换成空白单元格。第19行代码使用SpecialCells方法定位到空白单元格后一次性删除其所在的行。运行Methods过程,消息框显示两种方法的运行时间,可以看出使用Replace方法和SpecialCells方法的运行时间要远远小于使用VBA代码运行的时间。190-4
使用With语句引用对象在需要重复引用同一个对象时可以使用With语句来获得较快的运行速度,如下面的代码所示。
Sub WithSta()
Dimi As Integer
Dimt As Date
Dimt1 As String
Dimt2 As String
Fori = 1 To 5000
Sheets(&Sheet1&).Cells(1,1) = 10
Sheets(&Sheet1&).Cells(1,2) = 10
Sheets(&Sheet1&).Cells(1,3) = 10
Sheets(&Sheet1&).Cells(1,4) = 10
Sheets(&Sheet1&).Cells(1,5) = 10
t1 =Timer - t
WithSheets(&Sheet1&)
For i = 1 To 5000
.Cells(1,1) = 10
.Cells(1,2) = 10
.Cells(1,3) = 10
.Cells(1,4) = 10
.Cells(1,5) = 10
t2 =Timer - t
MsgBox&第一次运行时间:& & Format(t1,&0.00000&) & &秒& _
& Chr(13) & &第二次运行时间:& & Format(t2,&0.00000&)& &秒&
End Sub代码解析:WithSta过程在单元格填充时使用With语句来引用工作表对象从而获得较快的运行速度。With语句在一个单一对象或一个用户定义类型上执行一系列的语句,语法如下:With Object[statements]End With参数object是必需的,一个对象或用户自定义类型的名称。参数statements是可选的,要执行的一条或多条语句。With语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。在运行时只需引用对象一次而不是在每个属性赋值时都要引用,从而获得较快的运行速度。运行WithSta过程,消息框显示两种方法的运行时间,可以看出使用With语句来引用工作表对象的运行速度较快。190-5
少用激活或选择语句在学习VBA的过程中我们经常通过录制新宏的方法来获得所需的代码,但是在录制宏的过程中会记录所有的动作,代码中有大量的Select和Activate语句,而这些代码往往是不必要而且会影响代码的运行速度。所以通过录制新宏的方法获得的代码在使用时需要进行修改以加快运行速度,如下面的代码所示。
Dimi As Integer
Dimt As Date
Dimt1 As String
Dimt2 As String
Fori = 1 To 5000
Sheets(&Sheet2&).Select
Range(&A1&).Select
ActiveCell.FormulaR1C1 = &1&
t1 =Timer - t
Fori = 1 To 5000
Sheets(&Sheet2&).Range(&A1&)= 1
t2 =Timer - t
MsgBox&第一次运行时间:& & Format(t1,&0.00000&) & &秒& _
& Chr(13) & &第二次运行时间:& & Format(t2,&0.00000&)& &秒&
End Sub代码解析:Sta过程分别使用录制宏所得的代码和修改后的代码给单元格填充,最后使用消息显示运行时间。第8行代码到第10行代码是录制宏所得的代码,其中有两次使用Select方法,第15行代码是修改后的代码,在代码量不大的情况下运行速度区别不大,但是在循环5000次后运行速度就会差别很大。运行Sta过程,消息框显示两种方法的运行时间,可以看出后一种方法的运行时间要远远小于录制宏所得的代码的运行时间。Excel与VBA那点事儿(Excel_vba1987) 
 文章为作者独立观点,不代表大不六文章网立场
Excel_vba1987你还在为Excel中重复工作、大量的数据处理发愁吗,你想从枯燥无味的工作中解脱出来吗?这一切都可以用VBA来实现,将一天的工作浓缩到一个小时。本文将带领你翱翔在Excel-vba的世界里,从简入深。欢迎各位朋友随时咨询,鄙人将有问必答!热门文章最新文章Excel_vba1987你还在为Excel中重复工作、大量的数据处理发愁吗,你想从枯燥无味的工作中解脱出来吗?这一切都可以用VBA来实现,将一天的工作浓缩到一个小时。本文将带领你翱翔在Excel-vba的世界里,从简入深。欢迎各位朋友随时咨询,鄙人将有问必答!&&&&违法和不良信息举报电话:183-
举报邮箱:
Copyright(C)2016 大不六文章网
京公网安备78

我要回帖

更多关于 excel vba 双引号 的文章

 

随机推荐