返回列表 上一主題 發帖

[發問] 儲存格自動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

多謝2位老師

TOP

回復 12# john2006168
If Target <> "" Then Target = [D7] & Target
以上程式碼 紅色文字 [儲存格不為空白] 的條件成立時 執行 Target = [D7] & Target

TOP

回復 16# GBKEE

yes刪除儲存格,就不行



回復 15# Hsieh


    因為有時候打錯,清空儲存格就不行了

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

回復 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

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

回復 10# Hsieh


    感謝  Hsieh大,受教了。

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

本帖最後由 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

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題