簡體   English   中英

如果相鄰單元格不為空,將公式向下復制的宏

[英]macro to copy formula down if adjacent cell not blank

好的,伙計們,我在下面有一個簡單的表格,我試圖在G列中計算宏vba公式,只要c列具有值即可。 電子表格中的所有信息已從上一個宏中提取。 這就是我所擁有的...

[ 子Macro1()''Macro1宏'

Dim x As Long

x = CLng((d2 + e2) / c2)


For Each r In Intersect(ActiveSheet.UsedRange, Range("C:C"))
    If r.Value <> "" Then
     r.Offset(1, 5).Value = x

    End If
Next r

結束子

嘗試下面的代碼,它將遍歷C列(直到最后一行中包含值),並使用G列中該行的相關參數來計算公式。

注意(D+E)/C公式將為您提供較小的值,因為C具有較高的值。 如果要使用該公式,則需要將輸出從Long更改為Double以顯示0.后面的數字。

Option Explicit

Sub Macro1()

' Macro1    
Dim r As Range
Dim LastRow As Long

' modify "Sheet1" to your sheet's name
With Sheets("Sheet1")
    ' find last row with data in Column C ("Salary")
    LastRow = .Cells(.rows.Count, "C").End(xlUp).Row

    For Each r In .Range("C2:C" & LastRow)
        If r.Value <> "" Then
            r.Offset(0, 4).Value = CDbl((Range("D" & r.Row).Value + Range("E" & r.Row).Value) / r.Value)
        End If
    Next r        
End With

End Sub

嘗試這個:

Range("G2:G" & Range("C" & Rows.Count).End(xlUp).Row).Formula = "=CONCATENATE(C2,"", "",B2)"

計算C列中的行(如果不為空),則填寫可以更改為公式的串聯公式。

您將單元格稱為Range(“ D2”)等,而不只是d2。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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