ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

½Ð°Ý¦p¦ó¥ÎTextbox·s¼W¸ê®Æ¨ìSheet?

½Ð°Ý¦p¦ó¥ÎTextbox·s¼W¸ê®Æ¨ìSheet?

½Ð°Ý¦p¦ó¥ÎTextbox·s¼W¸ê®Æ¨ìSheet?

±Í¤H¹ï©óVBA¤£À´¡A¥u·|°Å¶K­×§ï¤@¤U¡A©Ò¥Hµ{¦¡»Ý­n¤j®vÀ°¦£­×§ï¡C

¸Ì­±UserForm1¬O¤§«eºô¸ô¤H®a°µ¦nªº¡AUserForm2¬O§Ú·Q­n°µªº¡C
½ÐÀ°§Ú±NPart1¡BPart2¡BPart3¥\¯àµ²¦X°_¨Ó¡C

20130627 VBA ®×¥ó¥Hªí³æ¿é¤J«Ø¥ß¸ê®Æ v.05.zip (113.76 KB)

¦U¦ì¤j®v¡A¤§«e¥i¯à¬O¤p§Ì»¡ªº¤£²M·¡¡A¤~¨S¤H¦^À³¡A¦b¦¹§Ú¦A­«»¡¤@¦¸»Ý¨D¡G
ÀÉ®×1¡Ghttp://www.FunP.Net/368256
¦¹Àɪí³æUserForm1¤w§¹¦¨
ÀÉ®×2¡Ghttp://www.FunP.Net/623352
¦¹Àɪí³æUserForem2¤¤ªºListbox1-5¤]»s§@¦n¤F
»Ý¨D¬O¡G±NUserForm1ªº¥\¯à¥[¨ìUserForm2¸Ì­±

TOP

¦^´_ 2# jeffrey628litw
¸Õ¸Õ¬Ý
  1. Private Const Sh = "Sheet1"    '¸ê®Æ®w                   '¼Ò²Õªº¨p¥Î±`¼Æ
  2. Dim d As Object                                          '¼Ò²Õªº¨p¥ÎÅܼÆ
  3. Private Sub UserForm_Initialize()
  4.     Set d = CreateObject("Scripting.Dictionary")
  5.     With Sheets(Sh)
  6.         K = 2
  7.         Do While .Cells(K, "A") <> ""
  8.             d(.Cells(K, "A").Value) = ""
  9.             K = K + 1
  10.         Loop
  11.     End With
  12.     ListBox_1.List = d.KEYS
  13. End Sub
  14. Private Sub ListBox_1_Change()  '»Ý­×§ï ºò«æ«× ListBox±±¨î¶µ¦WºÙ
  15.      ¸ê®Æ¨î©w 1                 '©I¥sµ{¦¡ ¶Ç»¼°Ñ¼Æ : 1
  16. End Sub
  17. Private Sub ListBox_2_Change()  '»Ý­×§ï »sµ{ ListBox±±¨î¶µ¦WºÙ
  18.      ¸ê®Æ¨î©w 2                 '©I¥sµ{¦¡ ¶Ç»¼°Ñ¼Æ : 2
  19. End Sub
  20. Private Sub ListBox_3_Change()  '»Ý­×§ï ³¡ªù ListBox±±¨î¶µ¦WºÙ
  21.      ¸ê®Æ¨î©w 3                 '©I¥sµ{¦¡ ¶Ç»¼°Ñ¼Æ : 3
  22. End Sub
  23. Private Sub ListBox_4_Change()  '»Ý­×§ï «ù¦³ªÌ ListBox±±¨î¶µ¦WºÙ
  24.      ¸ê®Æ¨î©w 4                 '©I¥sµ{¦¡ ¶Ç»¼°Ñ¼Æ : 2
  25. End Sub
  26. Private Sub ListBox_5_Change()  '»Ý­×§ï ®×¥ó  ListBox±±¨î¶µ¦WºÙ
  27.      ¸ê®Æ¨î©w 5                 '©I¥sµ{¦¡ ¶Ç»¼°Ñ¼Æ : 2
  28. End Sub
  29. Private Sub ¸ê®Æ¨î©w(OB As Integer)
  30.     Dim xValue As String, i As Integer, xCellValue As String
  31.     '***®×¥ó°ò¥»¸ê®ÆªºTextBox ½Ð­×§ï TextBox1-TextBox9
  32.     For i = 1 To 9
  33.          Controls("TextBox" & i) = ""                                       '®×¥ó°ò¥»¸ê®ÆªºTextBox±±¨î¶µ.²MªÅ
  34.     Next
  35.     Set d = CreateObject("Scripting.Dictionary")                            '­«³]ª«¥ó
  36.       For i = 1 To 5
  37.        If i <= OB Then
  38.             xValue = xValue & Controls("ListBox_" & i).Value                'µ²¦XListBoxªº­È
  39.         Else
  40.             Controls("ListBox_" & i).Clear                                   'ListBox²M³æ²M°£
  41.         End If
  42.       Next
  43.       With Sheets(Sh)
  44.         K = 2
  45.         Do While .Cells(K, "A") <> ""
  46.             xCellValue = Application.Phonetic(.Cells(K, "A").Resize(1, OB)) 'µ²¦XÀx¦s®æªº­È
  47.             If OB = 5 And xValue = xCellValue Then
  48.                 For i = 1 To 9
  49.                     Controls("TextBox" & i) = .Cells(K, OB).Offset(, i)     '®×¥ó°ò¥»¸ê®ÆªºTextBox±±¨î¶µ.¿é¤J¸ê®Æ
  50.                 Next
  51.                 Exit Sub
  52.             ElseIf OB < 5 And xValue = xCellValue Then
  53.                 d(.Cells(K, OB + 1).Value) = ""
  54.             End If
  55.             K = K + 1
  56.         Loop
  57.         If OB < 5 Then Controls("ListBox_" & OB + 1).List = d.KEYS
  58.     End With
  59. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥ý¦b¦¹·P®¦ª©¤jªºÀ°¦£...^^...

ª©¥D¤j¤j±z¦n¡G§Ú¹ï©óVBA¹ê¦b«Ü²Â©å¡A½Ð°Ý§Ú±N§Aªºµ{¦¡¶K¹L¨Ó«á¡A¬O³o¸Ì¦³°ÝÃD¶Ü?

Private Sub UserForm_Initialize()


Set DY = CreateObject("Scripting.Dictionary")
Set DZ = CreateObject("Scripting.Dictionary")
Set Sht1 = Sheets("Sheet1")
K = Sht1.[A65536].End(xlUp).Row
With Sht1
    For Y = 2 To K
      Ts = .Range("A" & Y): If DY(Ts) <> "" Then Else DY(Ts) = Ts: ListBox5.AddItem Ts
       If .Range("D" & Y) <> "" Then TS1 = .Range("D" & Y)
       If DZ(TS1) <> "" Then Else DZ(TS1) = TS1: ListBox1.AddItem TS1
    Next
End With
     Set DY = Nothing: Set DZ = Nothing: Y = 0: Ts = "": TS1 = ""                         '³o¥H¤W¬°Private Sub ListBox5_Click()©MPrivate Sub ListBox4_Click()ªºµ{¦¡
     
           
  
  
  

End Sub


Private Const Sh = "Sheet1"    '¸ê®Æ®w                   '¼Ò²Õªº¨p¥Î±`¼Æ




    Set d = CreateObject("Scripting.Dictionary")

    With Sheets(Sh)

       K = 2

        Do While .Cells(K, "A") <> ""

            d(.Cells(K, "A").Value) = ""

            K = K + 1

        Loop

    End With

    ListBox_1.List = d.KEYS

End Sub

Àɮצb¦¹(¤è«Kªº¸Ü½Ð±z±NÀɮקï¦n¤W¶Çµ¹§Ú¤U¸ü)¡Ghttp://www.FunP.Net/823425

TOP

¦^´_ 4# jeffrey628litw
  1. 3# ³o¨â¦æ¶·¸m©ó¼Ò²Õªº³»ºÝ
  2. 01.Private Const Sh = "Sheet1"    '¸ê®Æ®w                   '¼Ò²Õªº¨p¥Î±`¼Æ
  3. 02.Dim d As Object                                          '¼Ò²Õªº¨p¥ÎÅܼÆ
½Æ»s¥N½X
½Ð±NUserForm2 ¤ºªºµ{¦¡½X²MªÅ,¶K¤W3#ªºµ{¦¡½X,¸Õ¸Õ¬Ý
¥i¦æ«á¦A¥[¤W­ì¥»ªº, §R°£ºò«æ«×,·s¼Wºò«æ«×......ªºµ{¦¡½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 5# GBKEE


    ª©¤j±z¦n¡A§Ú¸Õ¤F§â2­ÓÀɮשM±zªºµ{¦¡³£¶K¶i¥h¡AÁÙ¬O¤£¦æ(§Ú¹ê¦b¬O¬Ý¤£À´¤£·|§ï)¡A¯à§_¦A½Ð±zÀ°¦£¬Ý­n­×§ïªº¦a¤è¡G
¥D­n¤£ª¾¬O¤£¬O³oùئ³°ÝÃD?ÀɮפU¸üºô§}¡Ghttp://www.FunP.Net/678558

Private Sub UserForm_Initialize()

                             
Set DY = CreateObject("Scripting.Dictionary")                                             '³o¥H¤U¬°Private Sub ListBox5_Change()©MPrivate Sub ListBox4_Change()ªºµ{¦¡
   
Set DZ = CreateObject("Scripting.Dictionary")
Set Sht1 = Sheets("Sheet1")
K = Sht1.[A65536].End(xlUp).Row
With Sht1
    For Y = 2 To K
      Ts = .Range("A" & Y): If DY(Ts) <> "" Then Else DY(Ts) = Ts: ListBox5.AddItem Ts
       If .Range("D" & Y) <> "" Then TS1 = .Range("D" & Y)
       If DZ(TS1) <> "" Then Else DZ(TS1) = TS1: ListBox1.AddItem TS1
    Next
End With
     Set DY = Nothing: Set DZ = Nothing: Y = 0: Ts = "": TS1 = ""                         '³o¥H¤W¬°Private Sub ListBox5_Change()©MPrivate Sub ListBox4_Change()ªºµ{¦¡
     





yc = ListBox1.BackColor                                                              '³o¥H¤U¬°Listbox1¡BListbox2ªºµ{¦¡
    wc = TextBox1.BackColor
    Set d1 = CreateObject("Scripting.Dictionary")
    Set d2 = CreateObject("Scripting.Dictionary")
    With Sheets("¸ê®Æ®w")
        .Unprotect Password:="69123"
        rng = .[A1].CurrentRegion
    End With
    For r = 2 To UBound(rng)
        mycase = "-" & rng(r, 2)
        If Trim(rng(r, 1)) <> "" Then
            myname = Trim(rng(r, 1))
            br = r
            d1(myname) = r & "-" & r
        Else
            d1(myname) = br & "-" & r
        End If
        d2(myname & mycase) = r
    Next r
    UserForm2.ListBox1.List = d1.KEYS
    UserForm2.CommandButton11.SetFocus                                                '³o¥H¤W¬°Listbox1¡BListbox2ªºµ{¦¡






Set d = CreateObject("Scripting.Dictionary")

    With Sheets(Sh)

        K = 2

        Do While .Cells(K, "A") <> ""

            d(.Cells(K, "A").Value) = ""

            K = K + 1

        Loop

    End With

    ListBox_1.List = d.KEYS
   
End Sub

TOP

¦^´_ 6# jeffrey628litw
ªþÀɪºªí³æ±±¨î¶µ¦WºÙ »P§A­ì¥»ªþÀɤ£¤@¼Ë(»Ý­×§ï)


Book2.zip (19.89 KB)
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 7# GBKEE


    ª©¤j±z¦n¡A¤S­n³Â·Ð±z¤F¡A§Ú¤w¸g§ï¤F³¡¤À¤F¡A°ÝÃD1¡G¤£¹L§ï¨ìªí³æªº-->«ù¦³ªÌ"·s¼W«ù¦³ªÌ"³o­ÓOK-->®×¥ó"·s¼W®×¥ó"OK -->¦ý¬O "µ²§ô·s¼W" ´N¥X²{¥H¤U¤£ª¾­þ¸Ì¿ù»~?
°ÝÃD2¡G¦p¦óÅý«ù¦³ªÌ"·s¼W«ù¦³ªÌ"ªº¸ê®Æ¦s¨ì¥¿½T¦ì¸m Sheet1ªºDÄæ
                          ®×¥ó"·s¼W®×¥ó          ªº¸ê®Æ¦s¨ì¥¿½T¦ì¸m Sheet1ªºEÄæ

ÀɮפU¸üºô§}¡Ghttp://www.FunP.Net/710388

  Private Sub UpdateBox()
    d1.RemoveAll                                     <-------------------------------------------------------------------------------------------------³o¤@¬qµ{¦¡¤Ï¶À
    d2.RemoveAll
    rng = Sheets("Sheet1").[A1].CurrentRegion
    For r = 2 To UBound(rng)
        mycase = "-" & rng(r, 2)
        If Trim(rng(r, 1)) <> "" Then
            myname = Trim(rng(r, 1))
            br = r
            d1(myname) = r & "-" & r
        Else
            d1(myname) = br & "-" & r
        End If
        d2(myname & mycase) = r
    Next r
    UserForm2.ListBox_4.List = d1.keys
End Sub

TOP

¦^´_ 8# jeffrey628litw
  1. Private Const Sh = "Sheet1"                              '¼Ò²Õªº¨p¥Î±`¼Æ
  2. Dim d As Object                                          '¼Ò²Õªº¨p¥ÎÅܼÆ
  3. Private Sub UserForm_Initialize()    'ªí³æªì¨Ï¤Æ®Éªº¨Æ¥ó
  4.     Set d1 = CreateObject("Scripting.Dictionary")  '§A¨S¦³³]¸mÅܼÆ
  5.     Set d2 = CreateObject("Scripting.Dictionary")
  6.     ' µ{¦¡½X
  7.     '
  8.    
  9. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 9# GBKEE


    ·PÁª©¤j¤@ª½À°¦£¸Ñ¨M°ÝÃD¡A§Aªº¸Ñµª¯u¬O¤@°w¨£¦å¡A§Ú¦b§ïªº³~¤¤¤S¹J¨ì°ÝÃD¡G
¦b³Ì«á"®×¥ó°ò¥»¸ê®Æ" «ö¤U "­×§ï" ·|¥X²{¤U­±µ{¦¡¤Ï¶À¡A§Ú¤£ª¾¹D¬O¬Æ»ò°ÝÃD¡A¤S­n½Ð±Ðª©¥D¤F¡C

ÀɮפU¸üºô§}¡Ghttp://www.FunP.Net/331482

Private Sub CommandButton4_Click()
    With UserForm2
        myday = Trim(.TextBox8.Value)
        If myday <> "" And IsDate(myday) = False Then
            MsgBox "±z¿é¤Jªº§¹¤u¤é´ÁµLªk¿ë§O³á¡ã", vbCritical + vbOKOnly, "½Ð­«·s¿é¤J"
            .TextBox8.SetFocus
            Exit Sub
        End If
        .Frame1.Enabled = True
        .Frame2.Enabled = True
        .CommandButton2.Enabled = True
        .CommandButton11.Enabled = True
        myname = .ListBox_4.Text
        mycase = .ListBox_5.Text
        r = d2(myname & "-" & mycase)
        For i = 1 To 9
            Sheets("Sheet1").Cells(r, i + 1).Value = .Controls("TextBox" & i).Value              <--------------------------------------------------------------³o¬qµ{¦¡·|¤Ï¶À
            .Controls("TextBox" & i).ForeColor = -2147483640
            .Controls("TextBox" & i).BackColor = yc
            .Controls("TextBox" & i).Locked = True
        Next i
        Call UpdateBox
        .ListBox_4.Text = myname
        .ListBox_5.Text = mycase
        .CommandButton4.Enabled = False
    End With
    MsgBox "¤w¸g§¹¦¨Àx¦sÅo¡ã", vbOKOnly, "½Ðª`·N"
End Sub

TOP

        ÀR«ä¦Û¦b : ¯à¥I¥X·R¤ß´N¬OºÖ¡A¯à®ø°£·Ð´o´N¬O¼z¡C
ªð¦^¦Cªí ¤W¤@¥DÃD