我正在嘗試撰寫一個宏,該宏將在 A 列中有 1 時在 C 列中生成數字 8,例如:
期望的輸出

我當前的代碼是:
Sub STD()
For Each X In Range("A2:A7")
If X.Value = 1 Then
Range("C2:C7").Value = 8
Else
End If
Next X
End Sub
然而,輸出用數字 8 填充列 C 的所有范圍。
電流輸出

我究竟做錯了什么?
uj5u.com熱心網友回復:
只需Range("C2:C7").Value = 8用以下行替換該行
Worksheets("Sheet1").Cells(x.Row, "C").Value = 8
,假設當前作業表是“Sheet1”。
uj5u.com熱心網友回復:
只需使用Cells(x.Row, "C").Value = 8編輯您的行
Range("C2:C7") .Value = 8
uj5u.com熱心網友回復:
包含結果的單元格位于 X 物件右側的兩列。因此,解決該單元格的方法之一是使用 .OFFSET 屬性,而不是使用 Range("C2:C7").Value = 8
For Each X In Range("A2:A7")
If X.Value = 1 Then
X.Offset(0, 2).Value = 8
Else
X.Offset(0, 2).Value = ""
End If
Next X
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411629.html
標籤:
上一篇:用VBa關閉excel應用程式
