(EXCEL VB初体验)EXCEL自动行高再加高,超详细

举个栗子(我用的是Microsoft Office 2016,需要完成的操作是:C列高度+5。):

敲重点:文件格式必须是Excel 启用宏的工作薄,后缀为:xlxm

1.快速访问工具栏新增开发工具栏(已有请忽略)。

   操作顺序:下拉箭头---其他命令---自定义功能区---开发工具---确认。具体操作如下图:

 

2.录制宏操作(操作顺序很重要哦)

   1)点击C列以外的任一格

   2)点击开发工具

   3)点击录制宏,输入宏基本信息。可直接点击保存,使用默认信息。

   4)点击需要操作任一一格

   5)点击停止录制

3. 编辑执行宏操作

    1)点击宏,找到刚刚录制的宏,点击编辑按钮

2)弹出VB编辑页面,删除原有代码,贴上下面内容:  (其中,startrow 表示从第几行开始,nrow 表示循环多少行)。crtl+s保存后,关闭页面。

Sub HeightTo()
 y = InputBox("请输入数字", "行高增加", 5)
 Application.ScreenUpdating = False
 With Selection
    startrow = 2
    nrow = 100
 End With
 For i = startrow To startrow + nrow - 1
    'If Application.WorksheetFunction.CountA(Rows(i)) > 0 Then
        Rows(i).RowHeight = Rows(i).RowHeight + y
    'End If
 Next i
 Application.ScreenUpdating = True
End Sub

 3)点击宏---弹出框找到需要的宏---执行

 

至此大功告成。nice~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 NPOI 操作 Excel,可以通过设置的方式来自动调整。具体步骤如下: 1. 获取工作表对象: ```csharp ISheet sheet = workbook.GetSheet("Sheet1"); ``` 2. 创建单元格样式对象: ```csharp ICellStyle style = workbook.CreateCellStyle(); ``` 3. 设置单元格样式对象的自动属性为 true: ```csharp style.WrapText = true; ``` 4. 遍历需要设置,计算每度并设置: ```csharp for (int i = 0; i < sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); if (row != null) { row.HeightInPoints = sheet.DefaultRowHeightInPoints; int numLines = 1; foreach (ICell cell in row.Cells) { if (cell != null && cell.CellType == CellType.String) { string text = cell.StringCellValue; if (text.Contains("\n")) { numLines = Math.Max(numLines, text.Split('\n').Length); } } } row.HeightInPoints = sheet.DefaultRowHeightInPoints * numLines; } } ``` 其中,`sheet.DefaultRowHeightInPoints` 表示默认,`numLines` 表示中需要显示的数。在遍历每个单元格时,如果单元格中包含换符 `\n`,则计算需要显示的数。最后将计算得到的设置给该即可。 完整代码示例如下: ```csharp using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.IO; namespace NPOIDemo { class Program { static void Main(string[] args) { using (FileStream stream = new FileStream("test.xlsx", FileMode.Open, FileAccess.ReadWrite)) { XSSFWorkbook workbook = new XSSFWorkbook(stream); ISheet sheet = workbook.GetSheet("Sheet1"); ICellStyle style = workbook.CreateCellStyle(); style.WrapText = true; for (int i = 0; i < sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); if (row != null) { row.HeightInPoints = sheet.DefaultRowHeightInPoints; int numLines = 1; foreach (ICell cell in row.Cells) { if (cell != null && cell.CellType == CellType.String) { string text = cell.StringCellValue; if (text.Contains("\n")) { numLines = Math.Max(numLines, text.Split('\n').Length); } } } row.HeightInPoints = sheet.DefaultRowHeightInPoints * numLines; } } workbook.Write(stream); } } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值