excel中怎样批量将行数据转换成列数据?

发布网友 发布时间:2022-04-23 02:34

我来回答

5个回答

热心网友 时间:2023-09-11 03:03

你好,楼主想要的功能,可以使用VBA程序实现。

(一)VBA程序代码如下:(代码运行之前请做好数据备份,以免丢失)

Sub abcd()
Dim i1, i2, i3, str
On Error Resume Next
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")  '定义工作表Sheet1

For i1 = 1 To 1000  '从第1行到1000行
 If mysheet1.Cells(i1, 1) <> "" Then     '如果单元格不是空白,则
  str = Mid(mysheet1.Cells(i1, 1), 1, 1) '截取第一个字符
  If IsNumeric(str) = True Then          '如果截取的字符是数字,则
   i2 = i1
   i3 = 1
  Else
   i3 = i3 + 1
  mysheet1.Cells(i2, i3) = mysheet1.Cells(i1, 1)  '把ABCD项写入含有数字的那一行
 End If
End If
Next

End Sub

(二)程序运行前后的结果如下图所示,望笑纳。

热心网友 时间:2023-09-11 03:04

Sub cs()
Dim i As Integer
For j = 1 To Sheets("sheet2").[a65556].End(xlUp).Row
For i = 1 To Sheets("sheet2").Cells(j, 200).End(xlToLeft).Column
n = n + 1
If i = 1 Then
Cells(n, 1) = Sheets("sheet2").Cells(j, i)
Else
Cells(n, 2) = Sheets("sheet2").Cells(j, i)
End If
Next
Next
End Sub

如不会使用,需要原件,可私信给油箱

热心网友 时间:2023-09-11 03:04

选中复制,然后选中你要粘贴的表格地方,鼠标右键选择性粘贴,选择转置,可以实现行数据和列数据的转换,反过来列数据转换行数据也是一样。

热心网友 时间:2023-09-11 03:05

从图中看,这并不是简单的用转置能实现的,因为同一行到的新的区域拆分成两列,也许为更多列,因为有数十列,可能规则更复杂。
用vba可以实现,但需要明确地说明转换与拆分规则。

热心网友 时间:2023-09-11 03:06

这么大数量需要vba了,建立更强大的沟通渠道。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com