返回列表 上一主題 發帖

[發問] 有無辦法讓字串轉為對象的方法

無法找到字符

本帖最後由 Hsieh 於 2014-6-16 09:34 編輯

[a1]=YEAR(TODAY()) - 1911&"/06/08"
替換 & 為 abc
[a1].Replace "&", "abc"
[a1].Replace chr(38), "abc"
都找不到 &
& 跟 " 替換或被替換都有問題,如何把它當成一般的字??
看以下這篇文章,還是無解.............
http://support.microsoft.com/kb/147687/zh-tw

TOP

本帖最後由 t8899 於 2014-6-16 12:20 編輯
回復  t8899

儲存格的Replace方法,是對文字內容取代,並非對公式內容作取代
要讓公式改變可使用取出公 ...
Hsieh 發表於 2014-6-16 09:55


[a1]=YEAR(TODAY()) - 1911&"/06/08"
如果我改為 替換 &"/06/08" (即&後面的字全替換) 為 +10  (這樣改後公式是正確的,答案為113)


[a1]=Replace([A1].Formula, "&"/06/08"", "+10")
出現 語法錯誤 ??
---------------------------------------------------
原1樓我想到的另外方法是
[a1]=YEAR(TODAY()) - 1911&"/06/08"  '求 替換 & 為 abc  
DIM A,B,C,D,E
D = InStr([a1].Formula, Chr(38)) '&在左邊第幾字,即&左邊共幾字(含&)
A = Left([a1].Formula, D - 1) '扣掉& ,取&左邊剩下的字
B = Len([a1].Formula) ' 全部的字數
C = B - D '& 右邊的字數
E = Right([a1].Formula, C) '右邊的字
[a25].Formula = A & "ABC" & E  '<==='答案 & 失去作用((舉例不當,替換後公式錯誤,邏輯對(三個個別代入都對))

TOP

本帖最後由 t8899 於 2014-6-16 14:37 編輯
回復  t8899
GBKEE 發表於 2014-6-16 13:33

                原來     =YEAR(TODAY()) - 1911&"/06/08"
.FormulaR1C1 = "=YEAR(TODAY()) - 1911&"/06/08""   <===引到公式因該是
.FormulaR1C1 = "=YEAR(TODAY()) - 1911&""/06/08"""  為何放到程式視窗會自動多加引號??

直接抓儲存格裡的值沒問題
  [A2] = Mid(Range("A1").Formula, 1, InStr(Range("A1").Formula, "&") - 1) & " + 10"

TOP

找儲存格的字做處理

找A欄的所有單元格裡面的字,
1.假如有 & 此字則刪除此字
2.假如有 & 此字則替換為""
3.假如有 & 此字則在此字的前面加""
這三情況,程序應如何寫??(儲存格包含公式)

TOP

回復  t8899
假設儲存格A1值為「甲&此字」
Q1.假如有 & 此字則刪除此字
       A1: 儲存格B1公式輸入=S ...
p212 發表於 2014-6-17 08:56


謝謝!我想知道的是VB的語法 (此區是程式區)

TOP

[發問] 有無辦法讓字串轉為對象的方法

將[A10]裡的第三字刪除 (不要用REPLACE,用DELETE屬性)
Sub MA3333()
DIM D
SET d = Mid([A10], 3, 1) '型態不符合, ,有無辦法讓字串轉為對象的方法
  d.Delete
End Sub

[版主管理留言]
  • GBKEE(2014/6/18 13:07): 可列出三種情形的結果看看

[回復  t8899

[A10] 的字串是??
讓字串轉為對象.對象(物件)是哪ㄧ種
GBKEE 發表於 2014-6-18 07:18

抱歉,我是想學習,所以以下列三種情形都做假設
1.文子
2.數字
3.公式裡的字

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題