如果当前单元格在VBA中为空,则获取相邻单元格的值

如果使用VBA当前单元格值为空,是否有可能的方法来复制相邻单元格的值? 示例:

如果我将通过单元格A循环,然后下一个单元格是空的,我将复制单元格B的值

在这里输入图像描述

这应该是我将生成后的实际报告:

在这里输入图像描述

因此,在我将生成后,单元格A中的空单元应具有单元格B的值,如果两个单元格都有值,则代码将只复制第一个值。 你能帮我怎么做? 非常感谢! 🙂

尝试这个:

Sub Demo() Dim rng As Range Dim lasRow As Long 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 
 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 

你可以试试这个

 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