我想创建一个宏,查看列中有“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”的单元格。
答案 0 :(得分:1)
您的问题有点不清楚,但这可能会对您有所帮助。
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
答案 1 :(得分:0)
您需要循环遍历列,并添加条件逻辑。用它来帮助你。
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时,性能将是一个重要的问题。