Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA使用循环列合并单元格_Excel_Vba - Fatal编程技术网

Excel VBA使用循环列合并单元格

Excel VBA使用循环列合并单元格,excel,vba,Excel,Vba,我有一张像这样的照片 我有以下代码: Dim w As Long Dim wb As Workbook Dim sht As Worksheet Set wb = ActiveWorkbook Set sht = wb.ActiveSheet Dim lRow As Long Dim lCol As Long lRow = Cells(Rows.Count, 1).End(xlUp).Row lCol = Cells(4, Columns.Count).End(xlToLeft).Col

我有一张像这样的照片

我有以下代码:

Dim w As Long

Dim wb As Workbook
Dim sht As Worksheet

Set wb = ActiveWorkbook
Set sht = wb.ActiveSheet

Dim lRow As Long
Dim lCol As Long

lRow = Cells(Rows.Count, 1).End(xlUp).Row
lCol = Cells(4, Columns.Count).End(xlToLeft).Column

For w = 1 To lCol

   Range(.Cells(1, w), .Cells(2, w), .Cells(3, w)).Merge

Next w
我想使单元格合并并居中,如下所示:

但我找不到正确的方法。我想合并每列中的前3个单元格 示例:A1:A3,但是列太多了,所以我想循环遍历它们。
谢谢大家!

我想出来了!这就是答案

  For w = 1 To lCol

     With sht
         Range(Cells(1, w), Cells(3, w)).Merge

     End With

  Next w

.Range(.Cells(1,w),.Cells(3,2)).Merge
。句点很重要:-)无需使用
With
语句-您可以使用
属性:
sht.Rows(“1:3”).Columns(w).Merge