簡體   English   中英

MS Excel VBA類型不匹配錯誤

[英]Ms Excel VBA type mismatch error

我使用下面提到的代碼時收到類型不匹配錯誤。如果可能,請幫助解決下面提到的代碼錯誤。AP#和AR3都有字符值。

我的基本要求是使用函數,就像使用vba代碼在一個excel單元格中的兩個單元格中添加兩個字符值的連接函數一樣

Range("AI3:AI" & lrv + 2).Value = Range("AP3:AP" & lrv + 2).Value & " " & Range("AR3:AR" & lrv + 2).Value

您會遇到不匹配錯誤,因為這是分配值的錯誤方法。 例如,這是不正確的

Range("D1:D3").Value = Range("A1:A3").Value & " " & Range("B1:B3").Value

您正在使用數組。 所以試試這個

Range("D1:D3").FormulaArray = _
"=(" & Range("A1:A3").Address & ") & "" "" & (" & Range("B1:B3").Address & ")"

所以你的代碼變成

Range("AI3:AI" & lrv + 2).FormulaArray = _
"=(" & _
Range("AP3:AP" & lrv + 2).Address & _
") & "" "" & (" & _
Range("AR3:AR" & lrv + 2).Address & ")"

或者以更簡化的方式

Dim rng1 As Range, rng2 As Range, rng3 As Range

Set rng1 = Range("AI3:AI" & lrv + 2)
Set rng2 = Range("AP3:AP" & lrv + 2)
Set rng3 = Range("AR3:AR" & lrv + 2)

rng1.FormulaArray = "=(" & _
                    rng2.Address & _
                    ") "" "" & (" & _
                    rng3.Address & _
                    ")"

rng1.Value = rng1.Value

rng2.Resize(1,2).ClearContents

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM