簡體   English   中英

根據相對像元參考更改像元值

[英]Alter cell value based on relative cell reference

我想創建一個宏,該宏看起來在列中為“ 0”,並且:

  • 它將“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM