gpt4 book ai didi

vba - Excel VBA - 双击时将列中所有选定的单元格大写

转载 作者:行者123 更新时间:2023-12-02 11:41:07 25 4
gpt4 key购买 nike

我有一个非常简单的 VBA 脚本,它将所选单元格大写:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveCell.Value = UCase(ActiveCell.Value)
End Sub

它按预期工作,但有时我想将选定列中的所有单元格大写,但前提是双击列本身。单击列字段时,我似乎无法接收 Worksheet_BeforeDoubleClick 事件..

有解决办法吗?

最佳答案

就像我提到的,为什么不使用快捷键?您可以为宏指定一个快捷键,如下所示

enter image description here

现在您所要做的就是选择该列并按快捷键。

此外,这里不是循环遍历列中的每个单元格,而是基于 ONE LINER HACK 的代码。通过 Peter Albert

将其放入模块中。

Sub ChangeToUpper()
Dim rng As Range

'~~> Check if what the user selected is a valid range
If TypeName(Selection) <> "Range" Then
MsgBox "Select a range first."
Exit Sub
End If

Set rng = Selection

rng = WorksheetFunction.Transpose(Split(UCase(Join( _
WorksheetFunction.Transpose(rng), vbBack)), vbBack))
End Sub

屏幕截图:

enter image description here

关于vba - Excel VBA - 双击时将列中所有选定的单元格大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769948/

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