在Excel VBA中将所选内容除以X
这可能是一个垒球,但我如何将选择除以一定数量?在这种情况下:2.204623?我知道你可以使用“PasteSpecial”,但我正在尝试找出如何只进行选择,然后分配一个热键(宏) 我想不出如何混合粘贴一个特定区域的功能在Excel VBA中将所选内容除以X,excel,vba,Excel,Vba,这可能是一个垒球,但我如何将选择除以一定数量?在这种情况下:2.204623?我知道你可以使用“PasteSpecial”,但我正在尝试找出如何只进行选择,然后分配一个热键(宏) 我想不出如何混合粘贴一个特定区域的功能 Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide, SkipBlanks _ :=False, Transpose:=False 如果要分割范围内的每个单元格 Sub Makemt()
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide, SkipBlanks _
:=False, Transpose:=False
如果要分割范围内的每个单元格
Sub Makemt()
Dim Cell As Range
Dim div_mt As Double
div_kg = 2.204623
For Each Cell In Selection
If IsNumeric(Cell.Value) Then
Cell = Cell/ div_kg
End If
Next Cell
End Sub
编辑:记下@ScottCraner关于单元格中数值的注释您可以通过以下方式避免单元格中的循环和数字:
Sub Makemt()
Dim div_mt As Double
div_mt = 2.204623
Selection.Value = Selection.Parent.Evaluate("INDEX(" & Selection.Address & "/" & div_mt & ",)")
End Sub
如果您的值位于单元格中,则使用以下选项:
Sub Makemt()
Worksheets("Sheet1").Range("K11").Copy
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide, SkipBlanks _
:=False, Transpose:=False
End Sub
Sheet1上的K11将是找到该值的单元格。要使用paste special,必须将
2.204623
放在单元格中。这不是简单的cell=cell/2.204623吗?如果2.204623所在的区域有一个命名范围,它会工作吗?所以“选择”/“命名范围”?只要号码在单元格中就可以了是的。我不知道是否有什么事你不能回答Scott!非常感谢。第一部分工作完美。
Sub Makemt()
Worksheets("Sheet1").Range("K11").Copy
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide, SkipBlanks _
:=False, Transpose:=False
End Sub