Vba 将值复制到右侧的空单元格
我正在寻找类似于从ASAP实用程序将值复制到下面的空单元格,而不是向右复制。所以,当我选择一行时,它会将值从填充的单元格复制到右边的空单元格,直到有一个填充的单元格,然后开始复制该单元格,依此类推 下面是一个代码示例,在我选择整行时除外:Vba 将值复制到右侧的空单元格,vba,excel,Vba,Excel,我正在寻找类似于从ASAP实用程序将值复制到下面的空单元格,而不是向右复制。所以,当我选择一行时,它会将值从填充的单元格复制到右边的空单元格,直到有一个填充的单元格,然后开始复制该单元格,依此类推 下面是一个代码示例,在我选择整行时除外: Sub CopyToRight() On Error GoTo Err_Handler Selection.SpecialCells(xlCellTypeBlanks).Select Selection.FormulaR1C1 = "=RC[-1]" E
Sub CopyToRight()
On Error GoTo Err_Handler
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=RC[-1]"
Exit_This_Sub:
Exit Sub
Err_Handler:
Resume Exit_This_Sub
End Sub
你试过这样的东西吗?如果没有任何代码示例,很难看到您正在尝试做什么
Sub CopyRow()
Rows("32:32").Select
Selection.Copy
Rows("33:33").Select
Selection.Insert Shift:=xlDown
End Sub
这将满足您的要求:
Sub CopyToRight()
Dim CurCol As Long, CurRow As Long, LastCol As Long
Dim CopyRng As Range
CurRow = ActiveCell.Row
LastCol = Cells(CurRow, Columns.Count).End(xlToLeft).Column
For CurCol = 1 To LastCol
If Not Cells(CurRow, CurCol).Value = "" Then
Set CopyRng = Cells(CurRow, CurCol)
ElseIf CopyRng is Nothing Then
MsgBox "Error First Cell is Blank"
Else
Cells(CurRow, CurCol).Text = CopyRng.Text
End If
Next CurCol
End Sub
到目前为止,您尝试了什么代码<代码>范围。FillRight将是您的最佳选择。是否需要它来循环所有行?请张贴你的工作表的一个例子。添加代码来说明。我不需要这个循环。只是为了能够选择我感兴趣的任何一行。是否一次只选择一行?你会在某一行上运行这个吗?你想在所有行中循环吗?不是我要找的。我将其粘贴到代码中,因此您可以尝试在一行中选择一些单元格。我希望这可以用于选择整行。谢谢,但它会显示行If单元格(CurRow,CurCol)的类型不匹配错误。Value=”“Then。一定是因为我正在选择文本。我在一个简单的a-blank-blank-blank-B-blank-blank-C-blank-D行上测试了这一点,它复制得很好。请共享您其中一行的一些示例数据,以便我可以测试并尝试复制错误。失败的只是纯文本。但它可以处理数值。请将所有
.Value
更改为.Text
,然后重试