我有一组值,就像这样。
5 5 5 5 5 5 9 7 7 6 6 55 5 4 4 7 5 30 10 8 7 6 9 60 9 9 9 9 9 80 20 20 20 20 20 20
假设我想将所有值编辑为-1或+1,我该怎么做?我对此非常陌生,任何帮助都将不胜感激!谢谢。
Excel 2007。
答案 0 :(得分:1)
在普通Excel或VBA中执行此操作的最快方法是使用Excel的Paste Special
功能
手动方法
这里提供了这种技术的乘法示例Mr Excel
VBA方法
针对xl07 / 10修改的Zack Barresse代码,该代码使用A列中的空白单元格进行添加
Option Explicit
Sub psAdd()
Dim y As Integer 'The multiplier value, user-defined
Dim x As Range 'Just a blank cell for variable
Dim z As Range 'Selection to work with
Set z = Selection
y = Application.InputBox("Enter amount to add to selection:", _
Title:="Add to selection", Default:=10, Type:=1)
Set x = Cells(Rows.Count, "A").End(xlUp).Offset(1)
If y = 0 Then Exit Sub 'Cancel button will = 0, hence cancel
If x <> "" Then
Exit Sub
Else: x.Value = y
x.Copy
z.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd
Application.CutCopyMode = False 'Kill copy mode
End If
x.ClearContents 'Back to normal : )
End Sub
答案 1 :(得分:0)
首先,要打开VBA编辑器,请尝试 Alt + F11 。
下面的代码显示了一种做你想做的事情。
不要复制和粘贴它
它可以帮助您开始使用自己的代码。
快速解释:
for
循环迭代一小部分单元格,之后你已经编写了自己的代码,你应该可以通过按 F5 来运行它。
option explicit
sub increment_cell_values()
dim r as long
dim c as long
dim ws as worksheet
set ws = activesheet
for r = 1 to 6
for c = 1 to 6
ws.cells(r,c).value = ws.cells(r,c).value + 1
next c
next r
next ws
end sub