如果是整数,则将单元格的值移动到下一列

时间:2014-06-06 23:26:51

标签: excel vba formula

之前我没有在Excel中使用过公式。目前,我的单元格的值未对齐。我想要做的是将列F的值移动到列G(如果它们是数值)。例如,在我的图像中显示的第7行中,我想将48移动到右边的相邻单元格。与3054,5770和32相同。但是,我不想移动IsCallOnly,因为它是一个字母数字值。我该怎么做呢?谢谢!

example of issue

3 个答案:

答案 0 :(得分:1)

在单元格G2中,尝试:

 =IF(ISNUMBER(F2),F2,"")

这将告诉我是复制相邻的单元格(如果它是一个数字),但如果不是,则将单元格留空。

答案 1 :(得分:1)

我建议,在H1中复制下来:

=IF(G1="",F1,G1)  

这看起来G1是否为空,如果是,则取F1,否则取G1。

然而,ColumnF中的数字值被复制而不是移动,尽管它可以被安排用于移动'而不是如果需要的话,复制一些小小的东西。

既不需要VBA,但如果这是强制性的话,那么如果你发布你迄今为止尝试过的代码会有所帮助。

答案 2 :(得分:0)

我认为你要求只将F栏中的数字移到G列?如果是这样,以下内容可能会有所帮助。

Sub MoveMyNumbers()

    MoveNumbers "XXX", "F"

End Sub

Function MoveNumbers(ShtName As String, ColLetter As String)
Dim ws As Excel.Worksheet
Dim ColNumber As Integer
Dim lRow As Long
Dim i As Long

Set ws = ThisWorkbook.Sheets(ShtName)
    lRow = ws.Range(ColLetter & ws.Rows.Count).End(xlUp).Row

   'Get Column Number from column letter
    ColNumber = ws.Range(ColLetter & "1").Column

    For i = 1 To lRow
        If IsNumeric(Cells(i, ColNumber).Value) Then 
           Cells(i, (ColNumber + 1)).Value = Cells(i, ColNumber).Value
           Cells(i, ColNumber).Value = " "
        End IF
    Next i
   End Function