VBA将Excel中具有两行的多列放在自己的行上

莎拉

我有一张看起来像这样的工作表:

   A   |   B   |   C   |   D   |   E   |
----------------------------------------
     62| Value1| Value2|       |       |
    345| Value3| Value4| Value5| Value6|
     17| Value7| Value0|       |       |
    111| Value8| Value9| ValueA|ValueC |

我想将其转换为此(A是标准,接下来的两个单元格-B&C,D&E ..):

   A   |   B   | C    |
-----------------------
     62| Value1|Value2|
    345| Value3|Value4|
    345| Value5|Value6|
     17| Value7|Value0|
    111| Value8|Value9|
    111| ValueA|ValueC|

目前,我仅通过转换以下一行来使用下面的宏,但我希望它具有两个单元格值。

Sub Transform()

Dim rowStr As String
Dim rowIndex As Integer

rowIndex = 1

For Each Cell In Sheet1.Range("A1:E5")
    If Cell.Column = 1 Then
        rowStr = Cell.Value
    ElseIf Not IsEmpty(Cell.Value) Then
        Sheet2.Cells(rowIndex, 1) = rowStr
        Sheet2.Cells(rowIndex, 2) = Cell.Value
        rowIndex = rowIndex + 1
    End If
Next Cell

End Sub
ZygD

我会用这个。

Sub Transform_2()

Dim c As Range
Dim rngFirstCol As Range
Dim rowIndex As Long
Dim j As Long

rowIndex = 1
Set rngFirstCol = Sheet1.Range(Sheet1.Cells(1, 1), Sheet1.Cells(1, 1).End(xlDown))
For Each c In rngFirstCol
  For j = 0 To rngFirstCol.CurrentRegion.Columns.Count - 2 Step 2
    If c.Offset(, j + 1).Value <> "" Or c.Offset(, j + 2).Value <> "" Then
      Sheet2.Cells(rowIndex, 1).Value = c.Value
      Sheet2.Cells(rowIndex, 2).Resize(1, 2).Value = c.Offset(, j + 1).Resize(1, 2).Value
      rowIndex = rowIndex + 1
    End If
  Next
Next

End Sub

它会自动确定数据表有多少行。如果需要,可以通过更改自己设置

Sheet1.Range(Sheet1.Cells(1, 1), Sheet1.Cells(1, 1).End(xlDown))

像这样列引用

Sheet1.Range("A1:A6")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在熊猫中创建两行具有差异的列

来自分类Dev

将列表项放在两行中,偏移 50%

来自分类Dev

将具有不同数据的两行分成两个不同的列

来自分类Dev

更改表将两行具有相同值的列合并

来自分类Dev

如何比较具有相同列的两行

来自分类Dev

AWK提取列中具有相同单词的前两行

来自分类Dev

具有两行布局的CursorAdapter

来自分类Dev

比较两列中的两行

来自分类Dev

根据条件将具有不同级别的两行合并为R中的一行

来自分类Dev

将flex列分为两行

来自分类Dev

将连续的行分为具有开始和结束的两行

来自分类Dev

在具有特定值的行之后提取两行

来自分类Dev

如何在Linux的文件中连接两行具有不同模式的行?

来自分类Dev

如何将包含多列的结果分成两行

来自分类Dev

如何将熊猫数据框多索引列移动到两行

来自分类Dev

如果行具有匹配的名称,则 awk 将两行相加

来自分类Dev

在R中的时间序列数据中的每一行中创建最后两行具有最大值的不同列

来自分类Dev

将列值(行)转换为列并汇总两个不同表的两行上的计数

来自分类Dev

访问VBA-添加具有多列的行

来自分类Dev

Mysql:如何检索具有相同ID但列中值不同的两行

来自分类Dev

有没有办法把这两行代码放在一行

来自分类Dev

将两行转换为两列

来自分类Dev

将由CR / LF分隔的两行放在存在某个符号的同一行上

来自分类Dev

合并具有唯一属性的两行

来自分类Dev

具有RSCSS的两行导航栏

来自分类Dev

查找具有两行之间关系的记录

来自分类Dev

如何使两行具有相同的终点和起点?

来自分类Dev

导入具有两行作为列名的文件

来自分类Dev

合并具有唯一属性的两行

Related 相关文章

热门标签

归档