VBA根据if语句

时间:2016-06-13 20:56:40

标签: vba excel-vba merge excel

示例图片 enter image description here

我遇到了使用VBA在Excel中合并数据的问题。

基本上,我希望每个单元格行的大小相同,当一个单元格与特定名称匹配时,我希望某些单元格(名称前面的特定2组行)合并和居中,而其他单元格只是合并但是这样,列中的一些单元格具有一个数字,而其他单元格具有百分比和分数,如上图所示。

我想知道偏移在这里是否也有用吗?

这里有一些伪ish代码给你一个想法:基本上,如果A范围中的单元格与颜色(或我放的任何东西)匹配,那么我们想要合并并居中两行单元格和3列。否则,如果A范围中的单元格与名称(或我放置的任何内容)匹配,则将单元格分开但可以合并。

sub example1()

if (cell in A range) = "red", "orange", "yellow", "green", "blue",
then offset ( , 1) and merge&center 
else if (cell in A range) = "sarah", "mark", "bob", "steve", "Brittany",
then offset (, 1) and leavealone or merge just across

end if

end sub

1 个答案:

答案 0 :(得分:0)

像斯科特·霍尔兹曼(Scott Holtzman)所说的那样,更具体的问题和任何一个例子对于更好地理解将是很好的...但是基于我们拥有的东西:

  

我认为我需要首先合并每2个单元格并使其居中,然后需要一个if语句,说明它是否突出显示一个单元格,“”任何需要拆分的名称,取消合并单元格,否则将它们合并并加入

做一些事情然后在同一个动作中进行下一次撤消可能不是一个好主意......如果您之前检查条件然后只执行一个特定操作,那就更好了。

我假设您使用某种循环?那么,你可以先检查你的'if / else'条件,然后执行合并或拆分吗?

实际上,这里的示例非常有用。

  

我想知道偏移在这里是否也有用吗?

我无法想象什么?如果我理解你的问题,你的VBA中只需要`if / else if / else'条件。