Excel 笔记

实际问题记录

VBA脚本实现特殊的行转列

已知:位于同一Excel工作簿文件中的两个工作表:Sheet1、Sheet2。

问题:现要将Sheet2中的每一行,按Sheet1中的样子进行转置:

  1. Sheet2中每一行的黄色单元格,为列头。要求以合并3列单元格的方式纵向排列。
  2. Sheet2中每一行黄色单元格之后的3个单元格,分别为一级次列、二级次列和三级次列。要求纵向排列。

答:

vbnet 复制代码
Sub doAction()
    For i = 0 To 12 '处理Sheet2中的每一行
        Sheets("Sheet2").Select
            Range(Cells(i + 2, 2), Cells(i + 2, 2)).Select
            Selection.Copy
        Sheets("Sheet1").Select
            '当i=0时,黄色单元格应置于Sheet1的C3位置;当i=1时,黄色单元格应置于Sheet1的C6位置;当i=2时,黄色单元格应置于Sheet1的C9位置。
            '所以发现规律:i=0, 0*3+3=3; i=1, 1*3+3=6; i=2, 2*3+3=9。
            '所以应将每行的黄色单元格粘贴到Sheet1中的i * 3 + 3位置。
            Cells(i * 3 + 3, 3).Select
            ActiveSheet.Paste
            Range(Cells(i * 3 + 3, 3), Cells(i * 3 + 5, 3)).Merge 
            Range(Cells(i * 3 + 3, 3), Cells(i * 3 + 5, 3)).Interior.ColorIndex = xlNone
            
            For j = 0 To 2 '处理Sheet2中的每一行黄色单元格后的3个单元格
                Sheets("Sheet2").Select
                    Range(Cells(i + 2, j + 3), Cells(i + 2, j + 3)).Select
                    Selection.Copy
                Sheets("Sheet1").Select
                    Cells(i * 3 + 3 + j, 4).Select
                    ActiveSheet.Paste
            Next j
    Next i
End Sub
相关推荐
rannn_1119 小时前
【学以致用|python自动化办公】OCR批量识别自动存为Excel(批量识别发票)
python·ocr·excel·财务
小钱c717 小时前
Python使用 pandas操作Excel文件并新增列数据
python·excel·pandas
Shi_haoliu19 小时前
Vue2 + Office Add-in关于用vue项目于加载项控制excel单元格内容(Demo版)
前端·javascript·vue.js·node.js·html·excel·office
njsgcs19 小时前
json转excel python pd
python·json·excel·pd
RECRUITGUY19 小时前
Excel中将毫秒时间戳转换为标准时间格式
excel
SunkingYang21 小时前
详细介绍C++中捕获异常类型的方式有哪些,分别用于哪些情形,哪些异常捕获可用于通过OLE操作excel异常
c++·excel·mfc·异常捕获·comerror
lied16636348061 天前
List导出到Excel文件
servlet·list·excel
ZhengEnCi1 天前
Excel 文件结构完全指南-从基础概念到 Python 读取的实用宝典
python·excel
核桃杏仁粉1 天前
excel拼接数据库
数据库·oracle·excel
cx330上的猫1 天前
价值1w的数据分析课知识点汇总-excel使用(第一篇)
数据挖掘·数据分析·excel