- 帖子
- 15
- 主題
- 3
- 精華
- 0
- 積分
- 23
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- SP1
- 閱讀權限
- 10
- 註冊時間
- 2011-4-7
- 最後登錄
- 2011-5-23
|
回復 9# Hsieh
我想繼續延續上次版主說的解決辦法
不過要先謝謝版主, 我終於知道"名稱管理"的功用(2010)
另一個小疑問在於, 我是否可以直接在VBA的模組裡直接引用這些設定呢?
如果要引用這些設定, 應該要用什麼方式去做引用
我有試過製作了一個名為Sales
Sales=INDEX(客戶資料管理!$A$2:$D$1000, MATCH(專案紀錄!$C$2:$C$1000, 客戶資料管理!$A$2:$A$1000,0),4)
然後利用錄製巨集的方式記錄錄製,
之所以不願意, 直接在儲存格直接引用, 如下圖:
是因為整個檔案會變很大, 也不美觀
錄好的噹案長這樣
Sub 巨集1()
'
' 巨集1 巨集
'
Range("D2").Select
ActiveCell.FormulaR1C1 = "=Sales"
Range("D3").Select
End Sub
然後我把它改到我的模組裡
Sub 專案紀錄() 'Pro_Statu
Dim NewPro As Range
Dim PN As Range
Dim Cus As Range
Dim Sales_P As Range
Dim EnCus As Range
Sales_P.FormulaR1C1 = "=Sales"
With Worksheets("專案紀錄")
Set PN = .Columns(2).Cells.Find(Pro_Statu.Text_PN.Value, LookIn:=xlValues, Lookat:=xlWhole)
Set Cus = .Columns(3).Cells.Find(Pro_Statu.Combo_Cus.Value, LookIn:=xlValues, Lookat:=xlWhole)
Set EnCus = .Columns(12).Cells.Find(Pro_Statu.Text_EnCus.Value, LookIn:=xlValues, Lookat:=xlWhole)
If Not PN Is Nothing And Not Cus Is Nothing And Not EnCus Is Nothing Then
MsgBox "該客戶已開立此案! 如欲修改,請選擇紀錄維護,謝謝.", vbOKOnly + vbExclamation
Pro_Statu.Combo_Cus.SetFocus
Exit Sub
Else
Set NewPro = .Range("a65536").End(xlUp).Offset(0, 0)
NewPro.Offset(1, 0) = "Going"
NewPro.Offset(1, 1) = Pro_Statu.Text_PN
NewPro.Offset(1, 2) = Pro_Statu.Combo_Cus
NewPro.Offset(1, 3) = Sales_P
' NewPro.Offset(1, 4) = Qprice
' NewPro.Offset(1, 5) = Sprice
NewPro.Offset(1, 6) = Date
NewPro.Offset(1, 7) = Date
NewPro.Offset(1, 8) = Pro_Statu.Text_Model
NewPro.Offset(1, 9) = Pro_Statu.Combo_App
NewPro.Offset(1, 10) = Pro_Statu.Text_Qty
NewPro.Offset(1, 11) = Pro_Statu.Text_EnCus
NewPro.Offset(1, 12) = Pro_Statu.Combo_Cntry
NewPro.Offset(1, 13) = Pro_Statu.Text_Cap
NewPro.Offset(1, 14) = Pro_Statu.Text_Rev
NewPro.Offset(1, 15) = Pro_Statu.Text_Com
End If
End With
不過會一直跑出錯誤訊息:
再麻煩大大, 3Q |
|