- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2014-8-28 20:15
| 只看該作者
回復 3# j88141
不知是2007檔案在2003環境中轉檔,沒有見資料驗證的儲存格
修改一下你的程式- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim Rng(1 To 2) As Range, E As Range
- Set Rng(1) = [A1:C2] '擴充到C2試試 '可修改為大課表的E列 到 P列
- Application.EnableEvents = False
- If Not Intersect(Target, Rng(1)) Is Nothing Then 'Target, Rng(1) 儲存格範圍有交集到
- For Each E In Rng(1).Rows(1).Cells '姓名列
- Set Rng(2) = Range("C11:C14").Find(E, LookAt:=xlWhole, MatchCase:=True)
- With E.Offset(1)
- If Not Rng(2) Is Nothing Then .Value = Rng(2).Offset(0, 1).Value Else .Value = ""
- End With
- Next
- End If
- Application.EnableEvents = True
- End Sub
複製代碼 |
|