- 帖子
- 552
- 主題
- 6
- 精華
- 0
- 積分
- 576
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2015-2-8
- 最後登錄
- 2026-9-10
  
|
回復 16# oliwa
寫VBA本來就是要練習,而且要多看說明,
說實在的我並不是高手,只是自己公司有用到VBA去做進銷存,所以會的其實也不多!
我們再來以下的說明
新增
A)按下後新增一列 , 跳出視窗輸入公司代號 , 檢查是否已存在對應此代號的Sheet
B)複製Form Sheet , 及更名為該公司代號為Sheet名- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- If Target.Address = Cells(Target.Row, "A").Address Then
- If Target = "新增" Then
- msg = MsgBox("是否新增一筆資料", 4)
- If msg = vbNo Then End
- inp = InputBox("請輸入代號", "新增")
- If inp = "" Then End
- For Each sh In Sheets ' 找尋所有工作表
- If sh.Name = inp Then '如果有工作表名稱相同的,就結束此程序
- MsgBox "已有此代號存在,請重新輸入"
- End '結束 Sub
- End If
- Next
- Sheets("From").Copy Before:=Sheets(2) '複製From工作表放在第2個位置
- Sheets("From (2)").Name = inp '工作表各稱更改為InputBox輸入的代號
- Sheets("List").Select
- Rows(Target.Row).Insert '上面 For...Next 若沒找到InputBox相同代號則在"新增"的這個儲存格新增一列
- Cells(Target.Row - 1, "A") = inp '新增一則後,在A欄的新增出來的儲存格其為InputBox輸入的代號
- End If
- End If
- End Sub
複製代碼 |
|