目标:目标是从下图中获得结果
问题:目前的情况如下我应该如何做,以获得的结果,在目标中使用VBA代码。
mec1mxoz1#
试试这个代码
Sub sample() Range("B4:E7") = [index(upper(B4:E7),)] End Sub
qhhrdooz2#
Dim rng As Range Dim cell As Range Set rng = Range("C4:F7") For Each cell In rng cell.Value = UCase(cell) Next cell
dpiehjr43#
前面的答案要求你包含一个范围,如果你是在讨论所有的单元格,这个方法也有效。
sub EverythingToUpperCase() For Each Cell in ActiveSheet.UsedRange.Cells Cell.Value = UCase(Cell.value) Next End Sub
rks48beu4#
我见过的最短版本:“带目标”(在底部以结束)
Target = UCase(Target) 'Ucase or Lcase 'Target = StrConv(Target, vbProperCase) '<< PROPER
还有...... 1号班轮?:
Selection.Value = UCase(Selection.Value) 'YES << 1 LINER UCASE (tested, worked), add a range
dgsult0t5#
我知道这是一个老线索,但正在寻找的东西,将大写只有我选择的单元格(水平,垂直,选定的单元格与差距,或任何组合)。最后做了一些对我有效的东西,我把丝带和拖动选择单元格,点击宏按钮得到所有上限!(如果需要整个工作表的上限,有更好的方法,如UsedRange,但只为一个特定的小选定范围,这工作得很好).对于原始的例子,我会拖动选择B4:E7,然后单击功能区宏按钮“All_Caps”和工作表的其余部分将保持不变.
Sub All_Caps() Dim rng As Range Dim cell As Range Dim addr As String addr = Selection.Address Set rng = Range(addr) For Each cell In rng cell.Value = UCase(cell) Next cell End Sub
5条答案
按热度按时间mec1mxoz1#
试试这个代码
qhhrdooz2#
dpiehjr43#
前面的答案要求你包含一个范围,如果你是在讨论所有的单元格,这个方法也有效。
rks48beu4#
我见过的最短版本:
“带目标”(在底部以结束)
还有...... 1号班轮?:
dgsult0t5#
我知道这是一个老线索,但正在寻找的东西,将大写只有我选择的单元格(水平,垂直,选定的单元格与差距,或任何组合)。最后做了一些对我有效的东西,我把丝带和拖动选择单元格,点击宏按钮得到所有上限!(如果需要整个工作表的上限,有更好的方法,如UsedRange,但只为一个特定的小选定范围,这工作得很好).对于原始的例子,我会拖动选择B4:E7,然后单击功能区宏按钮“All_Caps”和工作表的其余部分将保持不变.