vba中将字符"c"转换为字符"e"的代码

作者&投稿:圭星 (若有异议请与网页底部的电邮联系)
EXCEL VBA 里面如何动态获取字符串转换为变量名?~

A初识字典
1、英文名字 Dictionary
2、存在于 Scrrun.dll 文件中
3、需将文件注册到系统中

4、需引用文件的声明方法
4.1、Dim D As Scripting.Dictionary (使用时还需用代码创建)
4.2、Dim D As New Scripting.Dictionary(对象实例化声明,声明后可直接使用)
4.3、声明时 Scripting 可省略

5、创建法
5.1、Set D=CreateObject("Scripting.Dictionary")
5.2、Scripting 为 scrrun 文件的工程名称
5.3、Dictionary 为 Scripting 工程中的一个类模块(功能模块)

6、字典中的两项(条目)
6.1、Key(Variant类型),在字典中不重复(必需的)
若key是对象则允许有重复
6.2、Item(Variant类型),key所对应的“备注”信息(必需的)
6.3、演示代码在字典中新建一条key及对应item都为“”的数据
D.Add "",""
两个“”,缺一不可
若继续再次使用此代码创建将报错误

7、它有4个属性,6个方法
属性:CompareMode ,Count ,Item ,Key
方法:Add ,Exists,Items ,Keys,Remove ,RemoveAll

B字典6方法
1、Add 方法
用法 Object.Add(Key,Item)
向 Dictionary 对象中添加关键字项目对
Object 必需的,总是一个Dictionary对象、1.1
Item 必需的,与被添加的 Key 相关联的 Item、1.2
Key 必需的,与被添加的 Item 相关联的 Key、1.3
若添加的key已经存在,则导致一个错误、1.4
示例代码
D.Add "A" , "Athens"
D.Add "a" , "Activate"
CompareMode 属性(缺省)默认设置为区分大小写,因此不会报错。若设置为不区分大小写,则此句报错
D.Add "A" , "Athens"
此句报错误,因关键字key值 “A”,在这之前已经添加
D.Add Range("A1") , "Abs"
在 A1 单元格中随意输入 A 或 a
因省略了.value 在字典中添加关键字时将单元格A1视为对象添加到字典(对象可以重复添加)
若添加上.value 则会报错,因为 A 或 a 在之前已经创建

2、Exists 方法
用法 Object.Exists(key)
如果 Dictionary 对象中存在所指定的关键字,则返回True,否则返回False
Object 必需的,总是一个Dictionary对象、2.1
key 必需的,需要在 Dictionary 中搜索的 Key值、2.2
示例代码
Debug.Print D.Exists("A")
返回True,因之前已经添加,因此该关键字 “A” 在字典中存在
Debug.Print D.Exists("E")
返回False,因之前代码中未添加,因此该关键字 “E”在字典中不存在
Debug.Pring D.Exists("a")
将根据 CompareMode 属性中设置的值来返回

3、Keys
用法 Object.Keys()
返回一个 Variant 类型的一维数组,其中包含了一个 Dictionary 对象中现有的全部 关键字
3.1、Object 必需的,总是一个 Dictionary 对象
3.2、如果字典中未添加关键字,则返回一个(0 to -1)的一维数组
示例代码
Arr=D.Keys
运行此代码前,请不要往字典中添加任何关键字
Arr=D.keys
自行使用 Add 往字典中添加少许数据进行测试
Arr=D.Keys()
将字典中的 关键字 交给数组 Arr
Range("A1").Resize(,Ubound(Arr)+1).Value=Arr
将Arr中的值写到单元格中,写到一行里
Range("A3").Resize(Ubound(Arr)+1).Value=WorksheetFunction.Transpose(Arr)
将Arr中的值写到一列中,需要进行转置

4、Items
用法与 Keys 相同,这里不在做重复的描述
示例代码中将 Keys 改为 Items 即可

5、Remove
用法 Object.Remove(Key)
从一个 Dictionary 对象中清除 关键字项目对
5.1、Object 必需的,总是一个 Dictionary 对象
5.2、Key 必需的,要从 Dictionary 中删除的 关键字 项目对相关联
5.3、如果 所指定的 关键字 不存在,将返回一个错误
示例代码
D.Remove("A")
从字典中删除关键字是 A 的项目对
D.Remove("E")
要删除的关键字 E 在字典中不存在,因此报错误

6、RemoveAll
用法 Object.RemoveAll()
从一个 Dictionary 对象中清除所有关键字项目对
6.1、Object 必需的,总是一个 Dictionary 对象
示例代码
D.RemoveAll
清除字典 D 中所有的数据,又成了一个新字典了

C字典4属性
1、CompareMode 属性
用法 Object.CompareMode[=Compare]
设置或者返回在 Dictionary 对象中进行字符串关键字比较时所使用的 比较模式。
Object 必需的,总是一个Dictionary 对象的名称
Compare 可选项,如果提供此项,Compare 就是一个代表比较模式的值。
如果试图对已经包含数据的 Dictionary 对象的比较模式进行更改的话,就会出错
缺省为 二进制比较格式
CompareMethod 枚举说明
1.1、UseCompareOption
其值为 -1 使用 Option Compare 语句设置值进行比较(Excel中无效)
1.2、BinaryCompare
其值为 0 ,二进制比较模式
1.3、TextCompare
其值为 1 ,文本比较模式
1.4、DatabaseCompare
其值为 2 ,仅用于 MicrosoftAccess,进行基于你自己数据库中信息的比较
1.5若未引用 scrrun.dll 文件,在使用枚举时需在前面添加上vb
在VBA中为我们提供了 VbCompareMethod 枚举,其值都是一样的
即使引用了文件,也可使用 vbTextCompare
如:vbTextCompare
在 Add方法中已经有示例了,这里不在做示例

2、Count 属性
用法 Object。Count
返回集合或 Dictionary 对象中条目数。只读
Object 必需的,总是一个 Dictionary 对象
示例代码
DeBug.Print D.Count
返回 0 ,说明字典中还没有条目
D.add "A","abs"
往字典中添加条目
DeBug.Print D.Count
刚才建了个,所以返回1
D.Add "V","Vlookup"
往字典中添加条目
DeBug.Print D.Count
刚才又建了一个,返回返回 2

3、Key 属性
用法 Object.Key(Key)=NewKey
3.1、在 Dictionary 对象中修改一个Key
3.2、Object 必需的,总是一个 Dictionary 对象的名称
3.3、Key 必需的,被改变的 Key 值
3.4、NewKey 必需的,替换所指定的 Key的新值。
3.5、如果在改变一个Key时没发现该 Key ,将会报错。
示例代码
d.add "A","Abs"
d.key("A")="B"
此时原字典中的关键字 A 被更改为 B
d.key("A")="B"
再次运行此代码,因关键字 A已不存在,报错误。
通俗的理解是,修改 key

4、Item 属性
用法 Object.Item(Key)[=NewItem]
4.1、Item为Dictionary的缺省(默认)属性,因此在使用时可以 d(key)=""
4.2、在一个 Dictionary 对象中设置或返回所指定 key 的 Item。对于集合则根据所指定的key返回一个 item。读/写
4.3、Object 必需的,总是一个 Dictionary 对象的名字
4.4、Key 必需的,与被查找或添加的 item 相关联的 key
4.5、NweItem 可选项,仅适用于 Dictionary 对象,就是与所指定的 Key 相关联的新值
4.6、如果在改变一个 key 的Item时候没有该 key ,那么将利用所指定的 NewItem 创建一个新的 Key
4.7、如果在试图返回一个已有项目的时候没有找到 Key ,那么将创建一个新的 Key 且其相关的项目被设置为空
示例代码
D.Add "A","Abs"
在字典中添加一个关键字 A,它对应的 item是 “Abs”
D.Item("A")="And" 等同于 D("A")="And"
将字典中关键字为 A 的Item修改为 “And”
D.item("E")="Excel"
试图修改关键字 E 的item为 Excel,因在字典中并没有该关键字的存在,此句起了 add 的作用
Debug.Print D.Item("B")
返回字典中关键字为 B 的Item,因字典中并没有添加这个关键字,因此会将该关键字添加到字典中其对应的 Item 为 ""
根据它的特性,理解为修改指定key的Item,若没有该 key 则根据表达式新建一个,其对应的 Item 将受表达式影响。

你测试一下下面的代码,可能对你有帮助;
Sub test()
Dim L As Long
Dim Mystr As String
Dim i As Long
Dim MySi As String, Si As String


Mystr = "fdsaf4.56454dsaf"
L = Len(Mystr)
For i = 1 To L
MySi = Mid(Mystr, i, 1)
If VBA.IsNumeric(MySi) = True Or MySi = "." Then
Select Case i
Case Is = 1
Si = MySi
Case Is > 1
Si = Si & MySi
End Select
End If


Next i
MsgBox "字符串“" & Mystr & "”中包含有数字" & Si
End Sub

按Alt+F11,打开VBA编辑器

Alt+I+M,或【插入】-【模块】

在右侧编辑区域粘贴以下代码:

Function cTOe(txt As String)
  cTOe = Replace(txt, "c", "e")
End Function

这样,在单元格里可以使用=cTOe(txt)求得结果,如在B1单元格求A1单元格的替换结果,可在B1输入:

=ctoe(A1)



Sub test()
    MsgBox Replace("sbcce", "c", "e")
End Sub



截取字符串的函数截取字符串linux
Linux下shell截取指定本文内的字符串?sqlldr|sed-n'\/CQCS_OPT.I_P_GU_PLED_INFO:$\/{h;:a;n;\/^$\/!{H;ba};g;p}'这样实现跟行数无关。要将结果导入到另一个文件里,用输出重定向,命令后面加>>output linuxC截取字符串?简单介绍下Shell字符串截取的详细方法,如截取指定字数、按指定的...

高分:字符组合成的韩国字。
♥∷♥∷♥∷♥∷♥∷♥∷♥∷♥∷♥∷♥∷♥∷♥∷♥∷♥λrそδぁн ♥♥ⓛⓞⓥⓔ♥♥ⓛⓞⓥⓔ♥ ...

‘氵口巴’这个字读什么
“氵口巴”这个字读作“ba”。1. 字符构成:“氵口巴”是一个汉字,它由三部分构成:氵、口和巴。这种组合是汉字特有的构造方式,体现了汉字的形象性和表意性。2. 读音规则:汉字的读音往往与其构造有一定关系,但并非所有汉字都能直接通过其构造推断出其读音。&...

日文字符大全日文字
关于日文字符大全,日文字这个很多人还不知道,今天来为大家解答以上的问题,现在让我们一起来看看吧!1、对不起。2、すみません。3、u mi ma sen。4、 对不起。5、ごめんなさぃ。6、o men na sa i。7、请加油。8、(日本人临别时多用此语)がんばってください。9、 ga n ba tte ku ...

请使用指针编写程序,从键盘输入一个字符串,删除其中的a字母,比如,asd...
include<stdio.h> int main(){char s[200],*p,*q;gets(s);for(p=q=s;*p;p++)if(*p!='a')*q++=*p;q=*p;puts(s);return 0;}

...为2.输出所有由3个字母组成的字符串。aa,ab,ac,ba,bb,bc,ca,cb,c...
\/\/用递归作的 include <stdio.h> define M 256 char buf[M] = {0};void fun(int n, int size);int main(){ int n = 2;fun(1, n);\/\/第一个参数始终是1,表示从第一个字符开始处理 return 0;} void fun(int n, int size)\/\/形参n表示当前字符为第n个字符,size表示字符的个数...

Python 内置类型 Bytes
在 Python 3.11.0 的世界里,Bytes 是一个不可或缺的内置类型,它与字符串一样,具有不可变性,但承载着二进制数据的奥秘。每个 Bytes 对象本质上是一串由 0 和 1 构成的序列,为了便于理解,我们通常将其每八位划分为一个单元,然后以可打印的字符或十六进制形式显示。例如:print(b'\\x01')\/...

元字符的使用方式
(说明:我们可以把\\s和\\S以及\\w和\\W看作互为逆运算)下面来看看更多的例子:\\ba\\w*\\b匹配以字母a开头的单词——先是某个单词开始处(\\b),然后是字母a,然后是任意数量的字母或数字(\\w*),最后是单词结束处(\\b)。好吧,我们说说正则表达式里的单词是什么意思吧:就是不少于一个的连续的\\w...

计算机基础:Unicode是一个字符集, 可以看作为【内码】,什么叫做内码呢...
所谓代码页(code page)针种语言文字字符编码例GBKcode pageCP936BIG5code pageCP950GB2312code pageCP20936 Windows缺省代码页概念即缺省用编码解释字符例Windows记事本打文本文件面内容字节流:BA、BA、 D7、D6Windows应该解释呢按照Unicode编码解释、按照GBK解释、按照BIG5解释按照ISO8859-1 解释按GBK解释...

谁知道全部的日语罗马字符?
输入法:ba bi bu be bo 平假名:ぱ ぴ ぷ ぺ ぽ 片假名:パ ピ プ ペ ポ 输入法:pa pi pu pe po 拗音:(这里的片假名就省略了,因为写法完全一样)きゃ きゅ きょ kya kyu kyo しゃ しゅ しょ sya syu syo 『しゃsha しゅshu しょsho』ちゃ ちゅ ちょ cya cyu cyo 『ち...

普格县18499195656: vba中将字符"c"转换为字符"e"的代码 -
酉党四环: 按Alt+F11,打开VBA编辑器 Alt+I+M,或【插入】-【模块】 在右侧编辑区域粘贴以下代码:Function cTOe(txt As String) cTOe = Replace(txt, "c", "e") End Function这样,在单元格里可以使用=cTOe(txt)求得结果,如在B1单元格求A1单元格的替换结果,可在B1输入:=ctoe(A1)

普格县18499195656: vb中输入一段字符,要求去除其他,只留下大写字母,并按从z到a的逆向顺序输出 -
酉党四环: 新建一工程,在窗体上拖入一个Command控件即可.然后进代码区,删除所有代码后,粘贴以下代码即可:Option Explicit Private Sub Command1_Click() Dim InS As String, S As String, T As String Dim I As Integer, J As Integer, L As String ...

普格县18499195656: VB 中把字符转化为数字的函数是? -
酉党四环: Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串.那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别.但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制).空白、制表符和换行符都从参...

普格县18499195656: 那位高手知道在vba中将字符串变为字符型的数组? -
酉党四环: Function GetNumber(v As String) sz = "0123456789." For i = 1 To Len(v) c = Mid(v, i, 1) If InStr(sz, c) > 0 Then GetNumber = GetNumber & c End If Next End Function

普格县18499195656: vb的字符串操作 - ---有一个字符串变量,怎么样在它的后面再加上一个字符呢? -
酉党四环: s=s & &quotdim s as string s="b"'aaaaaaaaaaaa"用 & 符号 结果:s="aaaaaaaaaaaab&quot

普格县18499195656: VB中将两个字符串连接起来的运算符有:+和&,那么 ”123”+45结果是( ) -
酉党四环: 你可以输入以下代码 private sub form_load() print "123"+45 end sub 右边AutoRedraw属性改为True,运行程序,可以看到结果为168 因为一边为数值字符和一边为数值相加,会把数值字符转化为数值型,在进行相加的 如果一边是非数值型字符,一边是数值型的,则会报错

普格县18499195656: 请问在excel vba中的数字转字符? -
酉党四环: 直接"beat"&i就行了.比如要将beat1,beat2,beat3……beat10放到A5到A14.代码可以是 For i = 1 To 10 Cells(i + 4, 1) = "beat" & i Next 也可以是 For i = 5 To 14 Cells(i, 1) = "beat" & i - 4 Next

普格县18499195656: vb语言中 把一个字符串拆分,然后放到一个定长的数组中! -
酉党四环: Dim a(10) As Integer, b As Integer, myStr As String myStr = "123" For b = 1 To Len(myStr) a(b - 1) = Val(Mid(myStr, b, 1)) Next For b = 0 To UBound(a) Print "a(" & b & ")=" & a(b) Next

普格县18499195656: 如何在VBA中将键值用CHR函数表示 -
酉党四环: 你好. 根据你的描述:建议楼主用OFFSET属性 activecell.value="aa" activecell.value.offset(0,1).value="bb" ....

普格县18499195656: vb中数据类型的转换 -
酉党四环: + 与 & 区别 当 + 左右两边 都为字符型时 其作用连接字符串 当 + 左右两边 有数值型时 其作用起到运算相加的作用 而&只有连接字符的作用 所以结果为3548354835483548 8383 35483548

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网