gpt4 book ai didi

excel - 列表框复制值属性

转载 作者:行者123 更新时间:2023-12-04 20:55:29 24 4
gpt4 key购买 nike

是否 ListBox具有允许从 ListBox 复制值的属性选择项目后直接使用 Ctrl+C 组合?

最佳答案

虽然此功能本身不适用于 MSForm.ListBox ,您可以编写一些函数来完成该任务。
您需要添加 KeyDown事件到您的列表框并检查 Ctrl+C 组合。
我使用另外两个功能:

  • 返回列表框某一列的选择(如果将 HasHeader 设置为 TRUE,它将忽略第一行)
  • 另一个函数将列表框中的文本放入剪贴板

  • 请注意,您必须预先知道必须从哪一列复制数据。如果它必须是动态的,您可以查看 MouseMove找到光标位置并推断应复制哪一列的事件。
    您可能还必须向您的项目添加一些库引用。
    Private Sub List_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If Not ListChoice(List, 0, HasHeader) = vbNullString And KeyCode = 67 And Shift = 2 Then
    ClipText ListChoice(List, 0)
    End If
    End Sub

    Public Function ListChoice(ByRef SourceList As MSForms.ListBox, _
    Optional ByVal Column As Long = 0, _
    Optional ByVal HasHeader As Boolean = False) As String
    'This function returns value of a selected row in single-select list.
    With SourceList
    If .ListIndex < 0 - HasHeader Then
    ListChoice = vbNullString
    Exit Function
    End If
    If IsNull(.List(.ListIndex, Column)) Then
    ListChoice = vbNullString
    Else
    ListChoice = .List(.ListIndex, Column)
    End If
    End With
    End Function
    Public Function ClipText(ByVal MyText As String)
    ' This function accepts any text strings
    ' and puts them in the clipboard
    Dim D As DataObject
    Set D = New DataObject
    With D
    .SetText MyText
    .PutInClipboard
    End With
    Set D = Nothing
    End Function

    关于excel - 列表框复制值属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48772343/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com