Board logo

標題: 文具系統 [打印本頁]

作者: JEAN    時間: 2012-10-18 14:01     標題: 文具系統

您好:
我可以把文具系統改成這個嗎?
我想把領用單裡面的部門單位和申請人名字用這樣選擇.,不然好難找喔
[attach]12813[/attach]
作者: mark15jill    時間: 2012-10-18 15:41

本帖最後由 mark15jill 於 2012-10-18 15:43 編輯

回復 1# JEAN

個人建議
若要將圖表PO上
請先將相關資料遮蔽~
避免觸法..
資訊安全 及 個人資料安全保護法  這兩種


另外
只丟圖 +一段說明 很難讓人清楚 您要的是什麼?
是額外的表單 或者是  照程式改寫?
作者: GBKEE    時間: 2012-10-18 16:36

回復 1# JEAN
2# mark15jill  說的是

試試看 是這方向嗎?


[attach]12815[/attach]
作者: JEAN    時間: 2012-10-19 09:35

因為我不知道要如何說明
才會用這個方式
作者: JEAN    時間: 2012-10-19 10:41     標題: 文具系統

[attach]12825[/attach]
我改成用選擇的,不想用拉下式選擇。
作者: GBKEE    時間: 2012-10-19 15:23

本帖最後由 GBKEE 於 2012-10-19 15:26 編輯

回復 5# JEAN
試試看
  1. '[領用單]部門單位: B3 有變動 ->申請人名字: B4 會更著變動名單
  2. Private Sub CommandButton1_Click()
  3.     首頁
  4. End Sub
  5. Private Sub CommandButton2_Click()
  6.     Sheets("領用記錄明細表").Visible = True
  7.     Sheets("領用記錄明細表").Select
  8.     Me.Visible = False
  9. End Sub
  10. Private Sub Worksheet_Activate() '製定部門單位的驗證, [領用單]工作表為作用中時的預設件
  11.     Dim Ar As String, xI As Integer
  12.     With Sheets("人員資料").[E2]
  13.         xI = 2
  14.         Do While .Cells(xI) <> ""
  15.             If Ar = "" Then
  16.                 Ar = "," & .Cells(xI, 1)
  17.             Else
  18.                 If InStr(Ar, "," & .Cells(xI)) & "," = 0 Then Ar = Ar & "," & .Cells(xI)
  19.             End If
  20.             xI = xI + 1
  21.         Loop
  22.     End With
  23.     With Range("B3").Validation
  24.         .Delete
  25.         If Ar <> "" Then .Add xlValidateList, , , Mid(Ar, 2)
  26.     End With
  27. End Sub
  28. Private Sub Worksheet_Change(ByVal Target As Range)
  29.     Application.EnableEvents = False
  30.     If Target(1).Address(0, 0) = "B3" Then
  31.         If Target(1) = "" Then Range("B4") = ""
  32.         驗證B4
  33.     End If
  34.     Application.EnableEvents = True
  35. End Sub
  36. Private Sub 驗證B4()
  37.     Dim Ar As String, xI As Integer
  38.     With Sheets("人員資料").[A2]
  39.         xI = 2
  40.         Do While .Cells(xI) <> ""
  41.             If .Cells(xI) = [B3] Then
  42.                 If Ar = "" Then
  43.                     Ar = "," & .Cells(xI, 3)   '中文姓名 在第3欄
  44.                 Else
  45.                     If InStr(Ar, "," & .Cells(xI, 3) & ",") = 0 Then Ar = Ar & "," & .Cells(xI, 3)
  46.                 End If
  47.             End If
  48.             xI = xI + 1
  49.         Loop
  50.     End With
  51.     With Range("B4").Validation
  52.         .Delete
  53.         If Ar <> "" Then .Add xlValidateList, , , Mid(Ar, 2)
  54.     End With
  55. End Sub
複製代碼

作者: sheau-lan    時間: 2012-10-20 22:40

如果要多一個查詢功能應該怎麼做呢??
作者: JEAN    時間: 2012-10-22 09:16

這個要怎麼改~~
作者: GBKEE    時間: 2012-10-22 09:46

回復 7# sheau-lan
要如何查詢??
回復 8# JEAN
5# 附檔 [人員資料] 請先建立名單資料...
6#的程式碼 複製覆蓋  5# [領用單]工作表的程式碼
到活頁簿視窗 頁首  執行領用單 先選B3,再選B4 看看
作者: JEAN    時間: 2012-10-22 11:34

我裡面己經有建立人員名單了
是要把程式碼放在領用單裡面嗎
作者: GBKEE    時間: 2012-10-22 12:26

回復 10# JEAN
沒錯 程式碼 置[領用單]模組
資料沒完整

     [attach]12847[/attach]


PS 回文時  請按 [回覆] 按鈕  答覆你的人才會得到通知, 這是基本的禮貌
作者: sheau-lan    時間: 2012-10-22 18:37

就是再設同一個檔案裡設一個工作表..查詢的功能
例如附件
作者: JEAN    時間: 2012-10-23 09:14

回復 11# GBKEE

裡面的人員資料,只要看C欄和E欄位,前面的部門和員工編號不要管他。我不敢刪除怕會去動到其他的表格
你說資料不完整,.是因為不用能實名 所以我用其他的名字替代。
作者: JEAN    時間: 2012-10-23 09:14

回復 12# sheau-lan


   不懂你的意恩
作者: GBKEE    時間: 2012-10-23 10:08

回復 13# JEAN
6# 的程式碼 概念  B4的驗證清單 : 僅是B3選擇部門的人員,並非是全部的人員清單

當進入[領用單]時, 設立(部門) B3的驗證清單,為 Sheets("人員資料").[E2]....[E?] 的範圍

[領用單] B3 有改變-> 重新設立(人員)  B4的驗證清單
為 Sheets("人員資料").[A:A] =B3(部門)範圍,Sheets("人員資料").[C:C] 的名單
作者: JEAN    時間: 2012-10-23 15:35

回復 15# GBKEE

[attach]12865[/attach]
    這個是我用出來的圖片,請你幫我看一下,我用的對不對
作者: GBKEE    時間: 2012-10-23 15:54

回復 16# JEAN
人員名單須是連續不可中斷的
作者: JEAN    時間: 2012-10-23 16:20

回復 17# GBKEE


    [attach]12866[/attach]

第一.請問可不可以用申請人名字,來選擇部門。
第二.他不會自己變
作者: GBKEE    時間: 2012-10-23 21:03

回復 18# JEAN
修改定義名稱公式 :中文姓名
=OFFSET(人員資料!$B$3,0,0,COUNTA(人員資料!$B$3:$B$65535),1)
[領用單] 模組就一程式即可如下
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim xf As Range
  3.     Application.EnableEvents = False
  4.     If Target(1).Address(0, 0) = "B4" Then
  5.         If Target(1) = "" Then
  6.             Range("B3") = ""
  7.         Else
  8.             Set xf = [中文姓名].Find(Target(1), lookat:=xlWhole)
  9.             Range("B3") = xf.Offset(, -1)            
  10.         End If
  11.     End If
  12.     Application.EnableEvents = True
  13. End Sub
複製代碼

作者: JEAN    時間: 2012-10-24 10:31

回復 19# GBKEE


可以了,謝謝您




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)