Board logo

標題: [發問] 儲存格的值由巨集來給予 [打印本頁]

作者: pitera88    時間: 2012-10-2 08:57     標題: 儲存格的值由巨集來給予

a1儲存格 =(巨集內的變數)

  a2=if(a1=5(假設值),"可以顯示","")

請問這樣可以作到嗎?? 也就是a1的值要由巨集來給,不執行巨集時 a1 的值是空的

這樣就不怕另存新檔時,a1 的值就被存起來了

以上的想法不知有大大們可以參詳一下嗎,可以作到嗎??  還是有另外更好的方法呢??

感恩~~~~
作者: mark15jill    時間: 2012-10-2 09:24

回復 1# pitera88


    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If [a1] <> "" Then [b1] = [a1] Else [a1] = ""
End Sub
作者: pitera88    時間: 2012-10-2 15:00

回復 2# mark15jill


       Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If [a1] <> "" Then [b1] = [a1] Else [a1] = ""  
End Sub

不好意思,這個是要放在輸入頁那個sheet 的巨集嗎??

如果[a1]是在「輸入頁」這個sheet  但[b1] 是在「列印頁」 這個  If [a1] <> "" Then [b1] = [a1] Else [a1] = ""  地方要怎麼改!

謝謝大大
作者: luhpro    時間: 2012-10-2 21:44

本帖最後由 luhpro 於 2012-10-2 21:45 編輯
回復  mark15jill


       Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If [ ...
pitera88 發表於 2012-10-2 15:00

因為你的需求是 -> 於另存新檔時 a1 的值不要被存起來.

所以我會建議放在 BeforeSave 裡,
亦即於存檔前再做處理:
  1. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel as Boolean)
  2.   With Sheets("輸入頁")
  3.     If .[a1] <> "" Then Sheets("列印頁").[b1] = .[a1]
  4.     .[a1] = "" ' 存檔前強制清除 A1 的值
  5.   End With
  6. End Sub
複製代碼
另外 Sheets("列印頁").[b1] 存檔前要不要清就要看你的需求了
作者: pitera88    時間: 2012-10-2 22:15

回復 4# luhpro


    感謝大大的指教,原來存檔前還可以作這個動作,受教了~~

正在實作中,感謝您~~~
作者: pitera88    時間: 2012-10-3 10:41

回復 4# luhpro


    謝謝大大,可以用了

另外請教一下,存檔之前,可以讓畫面保持不變嗎? 因為把 a1 清空後,畫面會不同,雖然只有一下下(可以讓人看不出來嗎)

感恩!!!




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