[英]Alter cell value based on relative cell reference
我想创建一个宏,该宏看起来在列中为“ 0”,并且:
我试图记录类似:
Sub Macro14()
' Macro14 Macro
'
ActiveCell.FormulaR1C1 = "=R[-1]C/2"
Range("N57").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Range("N56").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("N57").Select
Selection.Copy
Range("N56").Select
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
但是我不知道如何引用给定列中包含“ 0”的单元格。
您的问题尚不清楚,但这可能会对您有所帮助。
Sub Ncolumn()
For Each Rng In Range("N1:N60") ' Change range to suit
If Rng.Value = "0" Then Rng.Value = Cells(Rng.Row - 1, Rng.Column).Value / 2
Next Rng
End Sub
您将要遍历您的专栏,并添加条件逻辑。 以此来帮助您。
dim rNg as range
dim rCell as range
set rNg = ThisWorkbook.Sheets("YourSheet").Range("Your Range")
for each rCell in rNg.Cells
if rCell.Value = 0 Then
'your code
end if
next rCell
这只是让您开始。 学习它的最佳方法是通过反复试验弄清楚一些事情。 但是,这大部分是您所需要的。
同样,像在上面的示例中一样,复制和粘贴也很麻烦。 您应该习惯于告诉单元格值是什么。 即
ThisWookbook.Sheets("Sheet1").Range("A1").Value = ThisWorkbook.Sheets("Sheet2").Range("A1").Value
您是新手,所以这个细微差别不会太相关,但是当您进入较大的脚本以提高vba性能时,这将是一个重要的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.