问题描述
我目前正在尝试遍历一系列单元格,以确定该单元格是否为空白。如果它为空白和/或法律债务字段有“否”指示符,我将移至下一个单元格,但是如果该单元格中填充了数据并且法律债务具有“是”指示符,我希望能够获取该值并将其粘贴到另一个单元格中,但是我需要将其水平粘贴。因此,根据下表,假设范围以“A1:A3”结束,我希望将数据水平粘贴如下: A4 = $1450.00,B4 = 空白,C4 = $325.00 等等。我只能让我的代码拉出第一个单元格值,而不是遍历整个列。提前致谢!
法律债务(A) | Adj_month_amt (B) | C 列 |
---|---|---|
是 | $1450.00 | -------- |
没有 | $1275.75 | -------- |
是 | $325.00 | -------- |
Dim cell as Range
For Each cell In ws_loans.Range("N3:N22")
If cell <> "" And Cells(3,0).offset(0,1) <> "No" Then
ws_loans.Range("N3").copy ws_loans.Range("C49").Offset(0,1)
End If
Next
解决方法
只使用 For loop
更好,因为您只需要检查列 Law Debt (A)
如果 value 不等于 Yes
,那么什么都不做,它会跳过单元格
Dim ws_loans As Worksheet
Dim i,j As Integer
Dim rowcount As Integer
Set ws_loans = Sheets(1) 'Assume your worksheet is sheets(1)
rowcount = ws_loans.Range("A1:A4").Rows.Count 'change range("A1:A4") to your testing area
Dim cell As Range
For i = 0 To rowcount - 1
With ws_loans
'Change Range("A1") to your first top cell of your testing area
If .Range("A1").Offset(i,0).Value = "Yes" Then
'Loop the last row
For Each cell In .Range(.Range("A1").Offset(rowcount,0),.Range("A1").Offset(rowcount,rowcount - 1))
'If cell value is empty,paste the value to it and exit for each loop
If cell.Value = "" Then
.Range("A1").Offset(i,1).Copy cell
Exit For
End If
Next
End If
End With
Next i
,
如果我正确理解您的查询,下面是我的代码,希望它能解决您的要求。我附上了图片,以便我了解您的数据安排。请试试这个,让我知道你的反馈。该代码在我的数据上进行了测试。我添加了不言自明的评论。
$HOME/wekafiles/props