- 帖子
- 2848
- 主題
- 10
- 精華
- 0
- 積分
- 2903
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2026-7-25
|
2#
發表於 2016-11-6 11:41
| 只看該作者
方案一:複製工作表或更新內容(如果人員工作表已存在)- Sub 更新()
- Dim xR As Range, MySht As Worksheet, Sht As Worksheet, AR, i%
- Set MySht = ActiveSheet
- MySht.AutoFilterMode = False
- Application.ScreenUpdating = False
- For Each xR In Range(MySht.[A2], MySht.[A65536].End(xlUp))
- If xR.Row = 1 Then Exit Sub
- On Error Resume Next
- Set Sht = Nothing: Set Sht = Sheets(xR.Value)
- On Error GoTo 0
- If Sht Is Nothing Then
- Sheets("表格範本").Copy After:=Sheets(Sheets.Count)
- Set Sht = ActiveSheet: Sht.Name = xR.Value
- MySht.Select
- End If
- AR = Array("B3", "B4", "E3", "E4", "B6", "B7")
- For i = 0 To UBound(AR)
- Sht.Range(AR(i)) = ""
- If xR(1, i + 1) <> "" Then Sht.Range(AR(i)) = xR(1, i + 1).Text
- Next i
- Next
- End Sub
複製代碼 方案二:以一張表共用- Sub 申請表()
- Dim xR As Range, AR
- Set xR = ActiveCell
- If xR.Row = 1 Or xR.Column > 1 Or xR.Value = "" Then
- MsgBox "請在A欄選擇要填入申請表的人員姓名! ": Exit Sub
- End If
- AR = Array("B3", "B4", "E3", "E4", "B6", "B7")
- With Sheets("申請表")
- For i = 0 To UBound(AR)
- .Range(AR(i)) = ""
- If xR(1, i + 1) <> "" Then .Range(AR(i)).Value = xR(1, i + 1).Text
- Next i
- .Select
- End With
- End Sub
複製代碼
Xl0000027.rar (13.97 KB)
|
|