excel vba 如何判断文本所在单元格,并对指定单元格合并和写入值

如图:在A1值为"2"时D列分为两行分别显示"XP-"和"P-15";E列分别显示“4“和”10” 在A1值为“1”时D列显示为一行“P-10”;E列显示为“4” 请问要如何用VBA 实现这个功能。谢谢!

你写代码的时候遇到了什么问题,或者有什么疑问,这个很重要,从你已经表达的文字来看,好像没有什么难度,代码这样:

If Range("A1")="2" Then
    Range("D1")="XP-"
    Range("D2")="P-15"
    Range("E1")=4
    Range("E2")=10
End If
If Range("A1")="1" Then
    Range("D1")="P-10"
    Range("E1")=4
    Range("D1:D2").Merge
    Range("E1:E2").Merge
End If追问

我是个菜鸟,为了使工作变得简单有效。百度了下需要一个VBA程序来解决并定位"固定值"和“分割”“合并单元格”的操作  向图例中A1值为2时“D"和“E”是需要分割单元格的也就是“xp-”“P-15”是在一行两个单元格内的,按你的提供的公式只能实现一行内的文字判断与变更。

这是修改后的公式可以实现分割 合并的功能。能帮个忙写一段自动判定前方值的代码吗?

追答

EXCEL的单元格是最基础的单位,没有分割的功能,另外,真正的表格是不能合并单元格的,合并了单元格之后筛选、排序都做不了。
你如果需要输入两行内容,可以这样:
Range("D1")="XP-" & VBCRLF & "P-10"

追问

这是一个判断A1值的公式,我有很多行需要做这个判断那需要将这个公式复制很多遍,可以告诉下这么写这个循环遍历A1-A99的公式吗?谢谢!

这个是原本要操作的图

追答

对A1~A99进行循环的套路是:

For i=1 To 99
    '两种方法访问i行的第一列,个人喜欢第二种
    Range("A" & i)=1
    Cells(i, 1)=1
Next i追问

那如何改变D和 E的单元格呢,I=A1时 ,D和E 也要等于D1和E1
I=A99时 ,D和E 也要等于D99和E99

追答

一样的呀,Cells(i, 1)就是Ai,Cells(i, 5)就是Ei

追问

    问题解决了 ,能告诉我下那个变量"j"为什么不能删除吗?一删除就类型不匹配

温馨提示:答案为网友推荐,仅供参考
相似回答