Board logo

標題: [發問]請問如何做到用=時能copy到一樣的格式 [打印本頁]

作者: CyberKeith    時間: 2013-11-6 22:58     標題: [發問]請問如何做到用=時能copy到一樣的格式

即如對照格A1是ABC,而且是已BOLD及加底線

ABC

=(A1) 是會出一個沒有底線及BOLD的ABC,

那如果我要結果是有BOLD及底線,應該如何做?

謝謝
作者: luhpro    時間: 2013-11-6 23:21

本帖最後由 luhpro 於 2013-11-6 23:34 編輯
即如對照格A1是ABC,而且是已BOLD及加底線

ABC

=(A1) 是會出一個沒有底線及BOLD的ABC,

那如果我 ...
CyberKeith 發表於 2013-11-6 22:58

一般的做法是 : (以 Excel 2003 版為例)
1. 對 [a1]  儲存格按 滑鼠右鍵, 選 複製.
2. 對 標的儲存格 按 滑鼠右鍵, 選 選擇性貼上, 再選 格式.
3. 按 確定.
當然, 上述方式並不會在使用者輸入公式後自動變更格式.

所以改用 Excel VBA 是較洽當的方式:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.   With Target
  3.     If Left(.Formula, 1) = "=" Then
  4.       [A1].Copy
  5.       Target.PasteSpecial Paste:=xlPasteFormats
  6.     End If
  7.   End With
  8. End Sub
複製代碼

作者: CyberKeith    時間: 2013-11-6 23:23

以 Excel 2003 版為例:
1. 對 [a1]  儲存格按 滑鼠右鍵, 選 複製.
2. 對 標的儲存格 按 滑鼠右鍵, 選 選 ...
luhpro 發表於 2013-11-6 23:21


謝謝您的回覆,我是想用程式去自動做,所以本來我已經用"="去將資料抄來

我現想將格式資料也自動抄來,請問如何做,謝謝
作者: luhpro    時間: 2013-11-6 23:41

本帖最後由 luhpro 於 2013-11-6 23:43 編輯

回復 3# CyberKeith
因為 Excel VBA 程式相關討論 應該是要在 Excel程式區 中發表,
所以在 Excel一般區 我會儘量朝向 非程式 的方式處理.

然而你首篇的情形似乎又較適合用 Excel VBA 來處理,
所以 2# 發表後我又有做編輯再提供 Excel VBA 的處理方式,
請參考 2# 的程式.

又因為你已經發表了 3#,
怕我在其之後編輯 2# 再發文你沒收到回覆通知,
所以再發這一篇.
作者: CyberKeith    時間: 2013-11-7 00:11

感恩你,因為是新人,請原諒發錯
作者: CyberKeith    時間: 2013-11-7 00:18

一般的做法是 : (以 Excel 2003 版為例)
1. 對 [a1]  儲存格按 滑鼠右鍵, 選 複製.
2. 對 標的儲存格 按 ...
luhpro 發表於 2013-11-6 23:21


不好意思,請問如何使用?我copy 了去VBA, 但save後沒見到新增"Worksheet_Change"

我是否做漏了什麼?
作者: luhpro    時間: 2013-11-7 21:37

本帖最後由 luhpro 於 2013-11-7 21:39 編輯
不好意思,請問如何使用?我copy 了去VBA, 但save後沒見到新增"Worksheet_Change"

我是否做漏了什麼 ...
CyberKeith 發表於 2013-11-7 00:18

要 Copy 到程式想要發生作用的 Sheet 的程式區內.

如下圖:
[attach]16625[/attach]
先點 1 那個 Sheet1 ,  再點 2 那個圖示, 最後在右邊空白處 3 貼上程式即可.
(貼上後會看到其上方兩個圈選的地方, 分別變成 Worksheet 與 Change)

觸發程式執行的機制是在 Sheet1 的任一儲存格內,
輸入公式(開頭為 = 的計算式或參照) 再按 Enter,
即會發現其格式會自動變的與 [A1] 儲存格相同.
(當然 [A1] 要設定的與預設格式不同, 才能明顯看到格式變更後的結果)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)