【问题标题】:How to merge numerical and alphabet VBA? [duplicate]如何合并数字和字母VBA? [复制]
【发布时间】:2021-08-17 19:19:15
【问题描述】:

我收到 VBA 错误 13,此行上的类型不匹配:

rngCell.Offset(, 2).Value = m5 + " " + m3 'ALPHA-NUMERICAL VALUE

否则一切正常。

下面提到的代码

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Range, m1 As Variant, m2 As Variant
Check1:
    If Application.Intersect(Target, Range("C11")) Is Nothing Then GoTo Check2
Application.EnableEvents = False
    For Each rngCell1 In Range("C11")
        v1 = rngCell1.Value
        If Len(v1) > 0 Then

            'See if the value is in your lookup table
            m1 = Application.VLookup(v1, ThisWorkbook.Sheets("PARTY DETAILS").Range("D4:E10001"), 2, False)

            'If found a match then replace wiht the vlookup result
            If Not IsError(m1) Then rngCell1.Value = m1

        End If
        Range("C11").Value = UCase(Range("C11").Value)
        Next
       Application.EnableEvents = True
'On Error GoTo hell
'If Target.Address(False, False) = "C11" And Target.Validation.Type = 3 Then
'    Range("D19:D28").Value = ""
'End If
HI:
Check2:
'On Error GoTo HELL:
If Application.Intersect(Target, Range("C18:C37")) Is Nothing Then GoTo Check3:
Dim m3 As Variant
Dim m5 As String
Dim m4 As Variant

For Each rngCell In Intersect(Target, Range("C18:C37"))
    If Len(rngCell.Value) > 0 Then
        m1 = Application.VLookup(rngCell.Value, ThisWorkbook.Sheets("Item Names").Range("D4:E10001"), 2, False) 'TEXT VALUE
        m2 = Application.VLookup(rngCell.Value, ThisWorkbook.Sheets("Item Names").Range("D4:K10001"), 3, False) 'NUMERIC VALUE
        m3 = Application.VLookup(rngCell.Value, ThisWorkbook.Sheets("Item Names").Range("D4:E10001"), 4, False) 'TEXT VALUE
        m5 = "1"
        m4 = Application.VLookup(rngCell.Value, ThisWorkbook.Sheets("Item Names").Range("D4:K10001"), 5, False) 'NUMERIC VALUE
        If Not IsError(m1) Then
            Application.EnableEvents = False
            rngCell.Value = m1  'TEXT VALUE
            rngCell.Offset(, 1).Value = m2  'NUMERIC VALUE
            rngCell.Offset(, 2).Value = m5 + " " + m3 'ALPHA-NUMERICAL VALUE
            rngCell.Offset(, 3).Value = m4  'NUMERIC VALUE
            Application.EnableEvents = True
        End If
    End If
Next
If m1 = "" Then
            rngCell.Offset(, 2).Value = ""
End If

'HELL:
Check3:
Calculate
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

我找不到我做错的地方。

任何帮助都会让我开心。

【问题讨论】:

  • + 更改为&
  • 请注意,将来所有大写字母都被解释为 SHOUTING。这里不需要大喊大叫,所以请不要全部大写。

标签: vba


【解决方案1】:

VBA 中的连接运算符是&,而不是+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-05
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多