VBA:创建具有标高的可变块
我是一名Excel VBA编程的初学者,有15天的经验,我使用宏录制功能使用VBA,我对它非常熟悉 我有一个由以下列组成的工作表:级别、Id、工作产品、开始、结束 级别列由级别1、2、3、4组成,另一列由随机数据组成。因此,第1级基本上包括:VBA:创建具有标高的可变块,vba,excel,excel-2010,Vba,Excel,Excel 2010,我是一名Excel VBA编程的初学者,有15天的经验,我使用宏录制功能使用VBA,我对它非常熟悉 我有一个由以下列组成的工作表:级别、Id、工作产品、开始、结束 级别列由级别1、2、3、4组成,另一列由随机数据组成。因此,第1级基本上包括: Level ID Work Product Start End 1 A1 ABCD 1.1.2011 1.1.2013 类似地,2、3和4级也包含一些数据。现在,我的任务是
Level ID Work Product Start End
1 A1 ABCD 1.1.2011 1.1.2013
类似地,2、3和4级也包含一些数据。现在,我的任务是创建一个如下所示的变量块:
'First Block Borders
'
Range("O12:V13,O14:V14,O15:V15,O16:V16,O17:V17").Select
Selection.BorderAround ColorIndex:=xlColorIndexAutomatic
Level ID Start End PT
1 A1 01.10.2012 30.09.2013 271.39
2 A1.1 01.10.2012 30.09.2013 83
3 A1.2 01.10.2012 30.09.2013 125.89
'正在为第一个块的合并循环工作
暗排一样长
For row = 12 To 17
If row = 12 Then
Range(Cells(row, 15), Cells(row + 1, 22)).Merge
row = row + 1
Else
Range(Cells(row, 15), Cells(17, 22)).Select
Selection.Merge True
Exit For
End If
Next row
现在,我有两个问题:
第一个问题是,这里创建的块是一个固定的块,我希望它是灵活的,这样,如果任何人想要他只需要前4列,那么他就可以用类似的轮廓来做,或者如果他想要添加另一个级别,这也是可能的,程序会自动创建另一个级别或级别类似地,如果用户添加新列,则在块中添加另一行
第二个问题是级别,我想使用循环自动设置级别,以便在查看级别数量后,程序自动创建包含内容的块
我已经彻底搜索了所有的论坛帖子和互联网上的答案,但我无法自动化这一点。我的缺点是我仍处于学习阶段,我知道上面的任务需要一些经验和一些与宏无关的编码
你们谁能帮我完成这项任务,我将不胜感激
谢谢
谢谢你的回复,如果我的问题没有被正确理解,很抱歉。我现在会尽量说得更清楚 共有2个工作表工作表1由数据模型组成,如下所示:
'First Block Borders
'
Range("O12:V13,O14:V14,O15:V15,O16:V16,O17:V17").Select
Selection.BorderAround ColorIndex:=xlColorIndexAutomatic
Level ID Start End PT
1 A1 01.10.2012 30.09.2013 271.39
2 A1.1 01.10.2012 30.09.2013 83
3 A1.2 01.10.2012 30.09.2013 125.89
第二份工作表将包含此工作表中的数据,但形式不同。它是一个WBS(工作分解结构)树。我在上面发布的区块示例是我想象的区块的估计大小。现在,我已经创建了WBS树,但我的要求全错了,因为我修复了“在列“O”和“V”中的数据周围创建边框”
我想在这里实现的是,通过编程,如果我运行此VBA脚本,它应该执行以下操作:
再次感谢您的帮助。我很难理解您在这里想要做什么。据我所知,您有以下代码行:
Range("O12:V13,O14:V14,O15:V15,O16:V16,O17:V17").Select
这是你从录制宏中得到的。您希望能够选择其他列和范围,而不是局限于“O”和“V”列。我在上述问题中添加了一些额外的详细信息。我希望这能让事情变得更清楚。如果你愿意,你可以把你的文件寄给我,我会看一看