当用户从下拉列表中选择一个项目时,我需要列表所在的单元格与下面的1个单元格或3个单元格合并并居中(单元格的总大小现在为2或4个单元格高度,具体取决于在下拉选项上)。我还需要输入一个字符("#"或" X"),因为合并的单元格在新合并单元格右侧的列中很高。
示例将单元格A1:A4合并并居中。需要填写单元格B1:B4,具体取决于下拉列表中选择的值。
A B
1 #
2 X
3 #
4 X
我尝试在宏中捕获我的步骤,但它只是记录我的确切条目,而不是我可以概括它的方式。我还认为我需要一个案例陈述,因为我有七种不同的格式化结果,基于18个项目的下拉列表。合并功能只是我记录为宏的复制/粘贴,我只想在代码中使用它。如果存在合并/中心,我将采用任何更简单的版本。这是针对七种情况中的两种情况,但其余部分仅在右侧列中添加的文本中有所不同:
Select Case Module
Case "TT"
Module = "ModTT"
ActiveCell.Resize(2, 0).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
ActiveCell.Offset(0, 1).Select.Value = "#"
ActiveCell.Offset(1, 0).Select.Value = "#"
Case "TF"
Module = "ModTF"
ActiveCell.Resize(4, 0).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
ActiveCell.Offset(0, 1).Select.Value = "#"
ActiveCell.Offset(1, 0).Select.Value = "X"
ActiveCell.Offset(1, 0).Select.Value = "#"
ActiveCell.Offset(1, 0).Select.Value = "X"