這是《Excel VBA:辦公自動化》教程的第8節,介紹字符串。
1.認識VBA:什麼是VBA?
2.這些掌握了,你才敢說自己懂VBA
3.VBA變量5年踩坑吐血精華總結
4.VBA中重要的強制申明,誰看誰明白
5.VBA掌握循環結構,包你效率提高500倍
6.精通VBA分支結構,少寫程序100行
7.VBA程序報錯,用調試三法寶,bug不存在的
你可能會說:猴子,這個字符串的介紹應該不需要了吧,大家應該都懂。
我的天台式微笑還沒上揚嘴角,基礎不牢,地動山搖。
是的,所有語言的數據類型就那麼幾種,而字符串就是其中重要的一種,也是基礎中的基礎,值得我們好好研究。
1.什麼是VBA字符串?
VBA字符串是一個字符序列,類似于Excel中的文本。
這個含義簡單明了,我們可以等價理解為:VBA字符串就是多個字符連接起來。
2.VBA字符串特點
(1)VBA字符串用英文雙引号括起來
比如上圖用英文雙引号括起來的「“富豪”」和「“超級富豪”」,這裡特别強調是:英文雙引号、英文雙引号、英文雙引号,否則VBA會批紅色報錯
有同學肯能會問了,猴子,為什麼VBA裡字符串要用英文雙引号括起來呢?
請按小本本記下來,下面
這句話
就目前我接觸的編程語言來看,字符串都是用英文引号括起來,注意是英文引号,不是英文雙引号。因為有些語言兼容靈活性高,比如:python中的字符串用英文單引号、英文雙引号括起來都行。用英文引号括起來的主要目的是為了對變量和字符串作出明确的區分,最大程度的降低程序出錯概率。
那麼最後一句話應該如何理解呢?舉個小例子,你就能明白。
我們可以看到:
左邊圈起來的「If Cells(1, 1) = “富豪” Then」會被VBA翻譯為:如果單元格A1的值等于字符串「富豪」,那麼就執行後面的語句。
右邊圈起來的「If Cells(1, 1) = 富豪 Then」會被VBA翻譯為:如果單元格A1的值等于變量「富豪」,而由上文知「富豪 = 10」,那麼句代碼就變為單元格A1的值等于10,那麼就執行後面的語句。
很明顯,添加英文引号前後的代碼邏輯意思千差萬别,因為一個代表字符串,另一個代表變量。
(2)字符串區分大小寫
我們前面說過VBA中的變量大小寫不敏感,即:變量Aa = 1 和變量 aA = 10會被認為是同一個變量被賦不同的值。但是,大家要記得字符串是區分大小寫的。
(3)純數字和文本數字二者不等價
大家聽到這些叫法似乎有點懵,我第一次聽到也和你們一樣完全懵圈,心想這是傻X嗎,數字就數字,還分什麼純數字和文本數字?
非也,非也!各位看官切莫着急,且聽奴家一一道來。
純數字就是我們日常我們所理解的那些數字,能夠直接進行加減乘除運算的數字,比如1、2、3等。
文本數字,大家可以理解為字符串數字,就是把上面的純數字用英文引号括起來,那麼它有了一個新的身份——文本數字,也就是字符串數字。
我們知道,純數字可以進行加減乘除運算,那麼文本數字可以進行嗎?
回答:Yes。
我們可以看到,文本數字相加的符号是「&」,即:字符串連字符,主要用于将多個字符或字符串連接起來,形成新的字符串。至于,字符串有沒有其他諸如減乘除的運算操作,由于這塊工作中基本不涉及,而且也沒有想明白字符串的乘除會涉及哪些使用場景,所以沒有查詢相關資料進行研究。當然了,看文章的同學們,如果有興趣研究,可以在自己研究後,将自己的研究成果在留言區和我們大家分享。
(4)特殊字符使用要額外注意
特殊字符,又是一個讓人懵圈的詞彙。
其實,也沒有那麼複雜,我們常見的3大特殊字符,比如:空格、回車、換行
[備注]
圖片中引用了「chr()」函數,這塊大家查一下就知道怎麼用了,知道這裡的「chr(10)」表示換行操作就行了
(5)字符串可以有多個,也可以一個都沒有
在VBA字符串中,字符串可以是
這種包含有具體内容的字符串,也存在那種什麼都沒有
,僅有2個英文雙引号的字符串,他們通常被我們稱為「空串」。另外,我們要注意區分一字之差的「空串」和「空格串」的區别。
3.總結
所謂VBA字符串就是多個字符連接起來。
VBA字符串有以下特點:
(1)VBA字符串用英文雙引号括起來
(2)字符串區分大小寫
(3)純數字和文本數字二者不等價
(4)特殊字符使用要額外注意
(5)字符串可以有多個,也可以一個都沒有
好了,今天的分享就到這裡了。
推薦:人工智能時代的必學技能
,