问题和原始数据
目的:做EXCEL经常需要把EXCEL表内容(XY2个维度)转为1行或1列
考虑写个小工具,以后可以常用

输出行

输出列

代码1(开始前未做清除,需要手动清除)
Sub export_row1()
maxr1 = Range("c65535").End(xlUp).Row
maxc1 = Cells(1, 3).End(xlToRight).Column
k = 1
For i = Cells(1, 3).Row To maxr1
For j = Cells(1, 3).Column To maxc1
Worksheets("row").Cells(1, k) = Cells(i, j)
Worksheets("row").Cells(1, k).Interior.ColorIndex = 8
k = k + 1
Next
Next
End Sub
Sub export_COLUMN1()
maxr1 = Range("c65535").End(xlUp).Row
maxc1 = Cells(1, 3).End(xlToRight).Column
m = 1
For i = Cells(1, 3).Row To maxr1
For j = Cells(1, 3).Column To maxc1
Worksheets("column").Cells(m, 1) = Cells(i, j)
Worksheets("column").Cells(m, 1).Interior.ColorIndex = 4
m = m + 1
Next
Next
End Sub
代码2(自动清除,要注意效率)
Worksheets("column").Range("a1:a999").ClearContents
Worksheets("row").Range("a1:a999").ClearContents
放到转换代码里去,会报错
但是单独写了一个T1() 却可以正常运行。。。。
Sub t1()
'拿出来可以正常运行
m2 = Worksheets("row").Range("a1").End(xlToRight).Column
Worksheets("row").Range(Cells(1, 1), Cells(1, m2)).ClearContents
Worksheets("row").Range(Cells(1, 1), Cells(1, m2)).Interior.ColorIndex = -4142
End Sub
Sub export_row1()
maxr1 = Range("c65535").End(xlUp).Row
maxc1 = Cells(1, 3).End(xlToRight).Column
'报错原因?
'm2 = Worksheets("row").Range("a1").End(xlToRight).Column
'Worksheets("row").Range(Cells(1, 1), Cells(1, m2)).ClearContents
'Worksheets("row").Range(Cells(1, 1), Cells(1, m2)).Interior.ColorIndex = -4142
k = 1
For i = Cells(1, 3).Row To maxr1
For j = Cells(1, 3).Column To maxc1
Worksheets("row").Cells(1, k) = Cells(i, j)
Worksheets("row").Cells(1, k).Interior.ColorIndex = 8
k = k + 1
Next
Next
End Sub
&spm=1001.2101.3001.5002&articleId=106133921&d=1&t=3&u=7258dd5215f3413db6d7976d4419673d)
704

被折叠的 条评论
为什么被折叠?



