需要结合2个VBAs [英] Need to combine 2 VBAs

查看:59
本文介绍了需要结合2个VBAs的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有活动表34. 如果我把变量"1"放在一边,我想这样做。在B列中,它显示为250. 每1 = 250  我找到了一个效果很好并且粘贴在下面的代码。

I have active sheet 34.  I want to make it so if I put the variable "1" in Column B, it displays as 250.  Each 1 = 250   I found a code that works very well and pasted below.

在同一张纸上,34,我想输入相同的代码,但是对于C列。 对于每个"1",放入该栏目,它应该等于200. 

On the same sheet, 34, I want to put in the same code, but for Column C.  For every "1" put in that column, it should equal 200. 

尽我所能,我似乎无法弄清楚如何结合2并正常工作。 代码:

Tried as I might, I can't seem to figure it how to combine the 2 and work properly.  Code:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

   如果不相交(目标,列("B"))则为Nothing然后为
        On Error GoTo Erreur

        Application.EnableEvents = False

        D d作为范围

       对于每个d在相交中(目标,列("B"))

           如果IsNumeric(d.Value)和d.Value> 0然后

                '对8小时工作日感兴趣<
               d.Value = d.Value * 250

               


           否则b $ b                d.Value =""

           结束如果

       下一页d

   结束如果是
   

    GoToFìn

Erreur:

    Debug.Print Err
$ b $bFìn:

    Application.EnableEvents = True

End Sub

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not Intersect(Target, Columns("B")) Is Nothing Then
        On Error GoTo Erreur
        Application.EnableEvents = False
        Dim d As Range
        For Each d In Intersect(Target, Columns("B"))
            If IsNumeric(d.Value) And d.Value > 0 Then
                ' Interested in a 8-hour day
                d.Value = d.Value * 250
               
            Else
                d.Value = ""
            End If
        Next d
    End If
   
    GoTo Fìn
Erreur:
    Debug.Print Err
Fìn:
    Application.EnableEvents = True
End Sub

推荐答案

像这样:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

   昏暗作为范围

    On Error GoTo Erreur

   如果不相交(目标,列("B"))则为Nothing然后为
        Application.EnableEvents = False

       对于每个d在相交中(目标,列("B"))

           如果IsNumeric(d.Value)和d.Value> 0然后

                d.Value = d.Value * 250

           否则b $ b                d.ClearContents

           结束如果

       下一页d

   结束如果是
   如果不相交(目标,列("C"))则为Nothing然后为
        Application.EnableEvents = False

       对于每个d在相交中(目标,列("C"))

           如果IsNumeric(d.Value)和d.Value> 0然后

                d.Value = d.Value * 200

           否则b $ b                d.ClearContents

           结束如果

       下一页d

   结束如果是
    GoToFìn

Erreur:

    Debug.Print Err
$ b $bFìn:

    Application.EnableEvents = True

End Sub

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim d As Range
    On Error GoTo Erreur
    If Not Intersect(Target, Columns("B")) Is Nothing Then
        Application.EnableEvents = False
        For Each d In Intersect(Target, Columns("B"))
            If IsNumeric(d.Value) And d.Value > 0 Then
                d.Value = d.Value * 250
            Else
                d.ClearContents
            End If
        Next d
    End If
    If Not Intersect(Target, Columns("C")) Is Nothing Then
        Application.EnableEvents = False
        For Each d In Intersect(Target, Columns("C"))
            If IsNumeric(d.Value) And d.Value > 0 Then
                d.Value = d.Value * 200
            Else
                d.ClearContents
            End If
        Next d
    End If
    GoTo Fìn
Erreur:
    Debug.Print Err
Fìn:
    Application.EnableEvents = True
End Sub


这篇关于需要结合2个VBAs的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆