首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型失配错误

类型失配错误
EN

Stack Overflow用户
提问于 2013-12-21 11:02:42
回答 1查看 925关注 0票数 1

当我使用下面提到的code.If时,我正在接收类型错配错误,请帮助解决下面提到的代码error.Both、AP#和AR3有字符值。

我的基本要求是使用函数,就像串联函数一样,使用vba代码从一个excel单元中的两个单元中添加两个字符值。

代码语言:javascript
复制
Range("AI3:AI" & lrv + 2).Value = Range("AP3:AP" & lrv + 2).Value & " " & Range("AR3:AR" & lrv + 2).Value
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-21 12:31:23

因为这是一种不正确的赋值方法,所以会出现不匹配错误。例如,这是不正确的。

代码语言:javascript
复制
Range("D1:D3").Value = Range("A1:A3").Value & " " & Range("B1:B3").Value

您正在使用数组。所以试试这个

代码语言:javascript
复制
Range("D1:D3").FormulaArray = _
"=(" & Range("A1:A3").Address & ") & "" "" & (" & Range("B1:B3").Address & ")"

所以你的代码变成

代码语言:javascript
复制
Range("AI3:AI" & lrv + 2).FormulaArray = _
"=(" & _
Range("AP3:AP" & lrv + 2).Address & _
") & "" "" & (" & _
Range("AR3:AR" & lrv + 2).Address & ")"

或者以一种更简单的方式

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20718288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档