返回列表 上一主題 發帖

[發問] 儲存格自動update

[發問] 儲存格自動update

A

john&ABC01
john&ABC01

D7係人手輸入,我想問問,如果我先在A1輸入ABC01之後  儲存格自動變成  john&ABC01
應該怎樣寫?     
    Dim myRng(1 To 1003) As Range
    Dim i             As Long
    For j= 1 To 1003
        
Set john=D7
Set myRng(j) = Cells(j, 1)      
    Next
    Cells.Clear                                 
   myRng(1).Value = "john&ABC01"              
    myRng(2).Value = "john&ABC02""
           
End Sub

是這樣嗎?
private sub worksheet_selectionchange(byval target as range)
    target.value = "john" & target.value
end sub
若是我回答,使您滿意,請您讓我知道!                  
若是我的回覆,您仍有其他見解,也請您不嗇指教!

TOP

是的,今天工作一天比較累......
我是說

D7是會改變的 今天是D7=JOHN
明天可能是D7=PETER
如果.A5輸入ABC01,A5儲存格是否可以自動變成JOHNABC01

TOP

當然我可以 以EXCEL公式 A10="D7"&"A5",再COPY去A5不過這樣就比較煩.

TOP

本帖最後由 victorl 於 2010-6-5 02:44 編輯

回復 6# john2006168

參考一下
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$D$7" And InStr(Target.Value, Range("D7").Value) = 0 Then Target.Value = [D7] & Target.Value
End Sub
說明:
1. Target.Address <> "$D$7"      D7儲存格變更不能觸發Worksheet_Change事件
2. InStr(Target.Value, Range("D7").Value) = 0     避免重複觸發Worksheet_Change事件
3. 除D7儲存格之外只要內容變更均會依  樓主的需求變更內容

TOP

本帖最後由 Hsieh 於 2010-6-5 14:15 編輯

回復 9# victorl
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Not Target.Address Like "$A$*" Then Exit Sub '不是在A欄輸入就退出
  3. Application.EnableEvents = False '關閉觸發事件程序
  4.     Target = [D7] & Target
  5. Application.EnableEvents = True '開啟觸發事件程序
  6. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 10# Hsieh


    感謝  Hsieh大,受教了。

TOP

If Not Target.Address Like "$A$*" Then Exit Sub '不是在A欄輸入就退出
Hsieh 發表於 2010-6-5 09:01

一樣的效果  If Target.Column <> 1 Then Exit Sub '不是在A欄輸入就退出

TOP

回復 14# john2006168


    是怎樣不行?是不能清空嗎?
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Not Target.Address Like "$A$*" Or Target = "" Then Exit Sub '不是在A欄輸入就退出
  3. Application.EnableEvents = False '關閉觸發事件程序
  4.     Target = [D7] & Target
  5. Application.EnableEvents = True '開啟觸發事件程序
  6. End Sub
複製代碼
學海無涯_不恥下問

TOP

    是可以,不過如果有delete就不行了.   是刪除儲存格嗎? 是會有問題
john2006168 發表於 2010-6-5 23:03

是儲存格="" 嗎?
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Column <> 1 Then Exit Sub '不是在A欄輸入就退出
  3. Application.EnableEvents = False '關閉觸發事件程序
  4. If Target <> "" Then Target = [D7] & Target
  5. Application.EnableEvents = True '開啟觸發事件程序
  6. End Sub
複製代碼

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題