|
发起个面向新手的活动吧。
给定一段代码,在不考虑上下文环境的情况下,以行为单位编写原代码的等价实现方式。
首先是ccwan大虾的一段代码:
- #0001 Private Sub Worksheet_Change(ByVal Target As Range)
- #0002 If Target.Column <> 5 Or Target.Row < 2 Then Exit Sub
- #0003 If Len(Target.Text) < 2 Then Exit Sub
- #0004 Application.EnableEvents = False
- #0005 Dim str As String, var As String, x As String, s As String
- #0006 Dim rng, a%, n%, j%
- #0007 var = Target.Text
- #0008 rng = Range([a2], [b65536].End(3))
- #0009 Do Until n = Len(var)
- #0010 Do
- #0011 n = n + 1
- #0012 x = Mid$(var, n, 1)
- #0013 a = Asc(x)
- #0014 If a > 47 Then
- #0015 str = str & x
- #0016 Mid(var, n, 1) = ""
- #0017 End If
- #0018 If n = Len(var) Then x = "": Exit Do
- #0019 Loop While Asc(x) > 47
- #0020 If str <> "" Then
- #0021 For j = 1 To UBound(rng)
- #0022 If rng(j, 1) = str Then str = rng(j, 2): Exit For
- #0023 Next
- #0024 End If
- #0025 s = s & str & x
- #0026 str = ""
- #0027 Loop
- #0028 Target.Offset(, 1) = Application.Evaluate(s)
- #0029 Application.EnableEvents = True
- #0030 End Sub
复制代码 |
|