EXCEL VBA – 格式化:合并,换行文字

我从一个非常好的绅士那里得到了关于这个代码的帮助。 代码的这一部分基本上写了一个横跨两列,合并和包装文本的标题。 我生成这个excel提取不同长度的标题。 对于一些报道,如果标题短,高度是一个正常的单元格,对于其他人,其高度x3,即使标题的长度不需要那么多的高度。 有没有一种方法可以让我指定我希望ROW始终是…说普通行HEIGHT的高度的3倍。 我不希望它从报告到报告有所不同。 不pipestring的长度如何,我希望它看起来一样。 如果我正在使用.merge和.wraptext = true,那就是这样的可能性

Do While Not g_RS3.EOF With xlSheetInsurance.Cells(xlRow, xlCol) .Value = g_RS3("ShortLabel") With .Resize(1, 2) .WrapText = True .Merge End With .Offset(1, 0).Resize(1, 2) = Array("# Clients", "# Students") .Offset(2, 0).Resize(1, 2).ClearContents With .Offset(0, 1) .Resize(1, 2).Merge .Value = "TOTAL" .Offset(1, 0).Resize(1, 2) = Array("# Clients", "# Students") .Offset(2, 0).Resize(1, 2).Formula = _ "=SUMIFS(" & xlSheetInsurance.Range(.Parent.Cells(xlRow + 2, xlStartCol), .Parent.Cells(xlRow + 2, xlCol + 1)).Address(0, 1) & Chr(44) & _ xlSheetInsurance.Range(.Parent.Cells(xlRow + 1, xlStartCol), .Parent.Cells(xlRow + 1, xlCol + 1)).Address(1, 1) & Chr(44) & _ .Parent.Cells(xlRow + 1, xlCol).Address(1, 0) & Chr(41) .Offset(2, 0).Resize(1, 2).AutoFill .Offset(2, 0).Resize(7, 2) ' AutoFill formula for all Types .Offset(2, 0).Resize(7, 2).Borders(xlEdgeRight).LineStyle = xlContinuous End With With .Resize(2, 4) .Font.Bold = True .WrapText = True .VerticalAlignment = xlCenter .HorizontalAlignment = xlCenter .Borders.Weight = xlThin End With End With xlCol = xlCol + 2 g_RS3.MoveNext Loop 

这会得到你所需要的:

  With .Resize(1, 2) .WrapText = True .Merge .RowHeight = 45 End With