如果当前单元格在 VBA 中为空,则获取相邻单元格的值
Posted
技术标签:
【中文标题】如果当前单元格在 VBA 中为空,则获取相邻单元格的值【英文标题】:Get value of the adjacent cell if current cell is empty in VBA 【发布时间】:2016-06-01 08:13:30 【问题描述】:如果当前单元格为空,是否可以使用 VBA 复制相邻单元格的值?
此处示例:
如果我遍历 A 列的单元格并且一个单元格为空,则将 B 列的相邻单元格的值复制到 A 列中的空单元格。
这应该是我生成的报告:
【问题讨论】:
【参考方案1】:试试这个:
Sub Demo()
Dim rng As Range
Dim lastRow As Long
Dim cell as Range
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Set rng = Range("A1:A" & lastrow)
For Each cell In rng
If cell.Value = "" Then
cell.Value = cell.Offset(0, 1).Value
End If
Next cell
End Sub
【讨论】:
【参考方案2】:你可以试试这个
Sub main()
With ActiveSheet.UsedRange.Columns("A")
If WorksheetFunction.CountBlank(.Cells) > 0 Then
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=RC[1]"
.Value = .Value
End If
End With
End Sub
【讨论】:
这也很棒!谢谢【参考方案3】:Sub movecells()
Dim usedrows As Integer
Dim tmpval As String
Dim i As Integer
usedrows = UsedRange.Rows.Count
For i = 1 To usedrows Step 1
If Cells(i, 1).Value = "" And Cells(i, 2).Value <> "" Then
Cells(i, 1).Value = Cells(i, 2).Value
Cells(i, 2).Value = ""
End If
Next i
End Sub
【讨论】:
以上是关于如果当前单元格在 VBA 中为空,则获取相邻单元格的值的主要内容,如果未能解决你的问题,请参考以下文章