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

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

¥»©«³Ì«á¥Ñ 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

        ÀR«ä¦Û¦b : ¦³´¼¼z¤~¯à¤À¿ëµ½´c¨¸¥¿¡F¦³Á¾µê¤~¯à«Ø¥ß¬üº¡¤H¥Í¡C
ªð¦^¦Cªí ¤W¤@¥DÃD