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

¨Ï¥Î ¸ê®Æ>ÅçÃÒ>Àx¦s®æªº¤U©Ô¦¡²M³æ¡A¥i¥HÅý¤U©ÔÅã¥Üµ¡®æ¼W¥[¦C¼Æ¶Ü?

¨Ï¥Î ¸ê®Æ>ÅçÃÒ>Àx¦s®æªº¤U©Ô¦¡²M³æ¡A¥i¥HÅý¤U©ÔÅã¥Üµ¡®æ¼W¥[¦C¼Æ¶Ü?

½Ð°Ý¨Ï¥Î ¸ê®Æ>ÅçÃÒ>Àx¦s®æªº¤U©Ô¦¡²M³æ¡A¤U©ÔÅã¥Üµ¡®æ¥u¦³8¦C¡A¶W¥X§Y¶·¨Ï¥Î±²¶b¡A¥i¥HÅý¤U©ÔÅã¥Üµ¡®æ¼W¥[¦C¼Æ¶Ü?
¸ê®ÆÅçÃÒ¤U©Ôµ¡®æ.jpg
2010-12-11 15:04
1

µû¤À¤H¼Æ

    • Hsieh: ¥[¤JºëµØª÷¿ú + 4

¥»©«³Ì«á¥Ñ Hsieh ©ó 2010-12-12 23:49 ½s¿è

¦^´_ 1# sasser
°ò¥»¤W³o¤@©« ¥H«e¦bEXCELHELP ¤W¦³¤Hµoªí¹L
¦ý¥Ø«eEXCELHELP¥H¤wÃöª©

§Ú±N¤å³¹¶K¦b³oHUNGCHILIN
Àɮ׳sµ²¤]¨S¦³¤FµLªk¤U¸ü

¨Ï¥Î¤U¦Cµ{¦¡ COPY «á ¶K¨ì³o­ÓÀɮפ¤ªº THISWORKBOOK µ{¦¡°Ï¤º´N¥i¥H¨Ï¥Î¤F
----------------------------------------------------------------------------------------
¥[ªø ÅçÃÒ ªºªø«×¤Î¼e«×¡@

³o½gÃö©óÅçÃÒªº¤å³¹ ¹ï©óÅçÃÒ¦³«Ü¤jªºÀ°§U
¥i¥H¬ð¯}excel­­¨î¨ÏÅçÃÒ²M³æ©Ôªø·|¤ñ¸û¤è«K

Âà¶Kµ¹¦U¦ì°Ñ¦Ò
  1. Option Explicit

  2. Dim oDpd As Object
  3. Dim sFml1
  4. Dim prvTarget As Range

  5. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  6.    Const dFixedPos As Double = "0.8"
  7.    Const dFixWidth As Double = "16"    ' §ïÅÜ DropDown ªº¼e«×
  8.    Dim vld As Validation
  9.    Dim lDpdLine As Long

  10.    If Not prvTarget Is Nothing Then
  11.        If Not oDpd Is Nothing Then
  12.            If oDpd.value = 0 Then
  13.                prvTarget.value = vbNullString
  14.            Else
  15.                prvTarget.value = Range(Mid(sFml1, 2)).Item(oDpd.value)
  16.            End If
  17.            Set prvTarget = Nothing
  18.        End If
  19.    End If

  20.    On Error Resume Next
  21.    oDpd.Delete
  22.    sFml1 = vbNullString
  23.    Set oDpd = Nothing
  24.    On Error GoTo 0

  25.    If Target.Count > 1 Then
  26.        Set oDpd = Nothing
  27.        Exit Sub
  28.    End If

  29.    Set vld = Target.Validation
  30.    On Error GoTo Terminate
  31.    sFml1 = vld.formula1
  32.    On Error GoTo 0

  33.    Set prvTarget = Target

  34.    lDpdLine = Range(Mid(sFml1, 2)).Rows.Count

  35.    With Target
  36.        Set oDpd = ActiveSheet.DropDowns.Add( _
  37.                                             .Left - dFixedPos, _
  38.                                             .Top - dFixedPos, _
  39.                                             .Width + dFixWidth + dFixedPos * 2, _
  40.                                             .Height + dFixedPos * 2)
  41.    End With
  42.    With oDpd
  43.        .ListFillRange = sFml1
  44.        .DropDownLines = lDpdLine
  45.        .Display3DShading = True
  46.    End With
  47. Terminate:
  48. End Sub
½Æ»s¥N½X
Âà©«¦Û excelhelp

TOP

³o­Ó­n¥ÎVBA¤~¿ìªº¨ì ¦¹©«­nÂà¨ìVBAª©

TOP

¦^´_ 3# HUNGCHILIN


    ·PÁª©¥D«ü¾É, ´ú¸Õok, ¸Ñ¨M¤F§Úªº§xÂZ, ¤£¹L¤º®e©|¥¼§¹¥þ°Ñ³z, »Ý­n¦AªáÂI®É¶¡¬ã¨s

TOP

¦^´_ 2# HUNGCHILIN


    µo²{¤@­Óª¬ªp, ·í¦P¤@Àx¦s®æ¤w¿é¤J§¹¦¨, ­Y¦A¿ï¨ú¸ÓÀx¦s®æ®É, «h­ì¥ý¤º®e·|³Q²MªÅ, ½Ð°Ý¦³¸Ñ¶Ü?
¸ê®ÆÅçÃÒ¤U©Ôµ¡®æ-1.jpg
2010-12-12 11:31

TOP

¥»©«³Ì«á¥Ñ FAlonso ©ó 2010-12-14 12:25 ½s¿è
  1. If Not prvTarget Is Nothing Then
  2.        If Not oDpd Is Nothing Then
  3.            If oDpd.value = 0 Then
  4.                prvTarget.value = vbNullString
  5.            Else
  6.                prvTarget.value = Range(Mid(sFml1, 2)).Item(oDpd.value)
  7.            End If
  8.            Set prvTarget = Nothing
  9.        End If
  10.    End If

  11.    On Error Resume Next
  12.    oDpd.Delete
  13.    sFml1 = vbNullString
  14.    Set oDpd = Nothing
  15.    On Error GoTo 0
½Æ»s¥N½X
³o¬qµ{¦¡«ç»ò¸Ñ,·Q¤F«Ü¤[³£¨SÀYºü
ÁÙ¦³³o­ÓVBA¦ü¥G¦³¤@­Ó«á¿ò¯g,´N¬O·íclick¦³¤U©Ô¦¡²M³æ®æ¤l®É,¥¦·|¦Û°Ê¼W¥[¤@­Ó¤U©Ô¦¡²M³æ(¤Î¨ä½s¸¹¤]¸`¸`¤W¤É),·d±o¸Ó®æ¤lº¡¬O²M³æ,²V¶Ã¦Ü·¥
¦³¨S¦³¿ìªk§â²M³æªº.listfullrange¤Î.dropdownlines³]©wreplace±¼´Nºâ¤F?
80 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

        ÀR«ä¦Û¦b : ¤H¨ÆªºÁ}Ãø»PµZ¿i¡A´N¬O¤@ºØ¦ÒÅç¡C
ªð¦^¦Cªí ¤W¤@¥DÃD