在另一个单元格中输入数据时的公式值

时间:2015-04-08 02:19:34

标签: excel-vba vba excel

如果我在B列下的任何单元格上放置一个值,宏将复制并粘贴为单元​​格j& k与活动单元格属于同一行

例如,如果我在b 10上键入一个值,然后按下宏按钮j 10& k 10从公式变为值。

每次在B列下的任何单元格中输入值而不是按下按钮时,我真的想自动执行此操作。

请参阅下面我所拥有的宏的当前代码

http://imageshack.com/f/exgUKSP0p

1 个答案:

答案 0 :(得分:0)

这是一个相当标准的Worksheet_Change框架,可以帮助您入门。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns("B")) Is Nothing Then
        On Error GoTo Safe_Exit
        Application.EnableEvents = False
        Dim rng As Range
        For Each rng In Intersect(Target, Columns("B"))
            If rng.Row > 2 Then ' your sample code seemed to suggest that this should start on row 3 and higher
                Call Settime(rng.Row)
            End If
        Next rng
    End If
Safe_Exit:
    Application.EnableEvents = True
End Sub

Sub Settime(rw as long)
    If range("B" & rw) = "" Then
        MsgBox "Ingrese El account Number" 
    Else
        Range("J" & rw & ":K" & rw) = Range("J" & rw & ":K" & rw).value
    End If 
End Sub

我不知道是否应该处理将多个值粘贴到B列中,但上面的内容确实依次处理了添加/更改/删除的每个值。如评论中所述,您需要将目标行传递到宏中,以便它知道要在J和K列中处理哪一行。尽可能尝试不依赖ActiveCell.Select来确定细胞或细胞范围将接受处理。