返回列表 上一主題 發帖

[發問] 儲存格的值由巨集來給予

[發問] 儲存格的值由巨集來給予

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

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

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

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

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

感恩~~~~
仁兄

回復 1# pitera88


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

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 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] = ""  地方要怎麼改!

謝謝大大
仁兄

TOP

本帖最後由 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] 存檔前要不要清就要看你的需求了

TOP

回復 4# luhpro


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

正在實作中,感謝您~~~
仁兄

TOP

回復 4# luhpro


    謝謝大大,可以用了

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

感恩!!!
仁兄

TOP

        靜思自在 : 人的眼睛長在前面,只看到別人的缺點,絲毫看不到自己的缺點。
返回列表 上一主題