excel - 使用列而不是行复制/遍历范围
问题描述
我正在尝试将单元格值从范围复制到另一个工作表中。下面是我要复制的数据。
TableA TableB TableC
Col1 Col1 Col1
Col2 Col2
Col3
下面是我想要的输出(复制后)。我需要两列中的数据 - 表名和列名。
TableA Col1
TableA Col2
TableB Col1
TableB Col2
TableB Col3
TableC Col1
下面是我的代码。这将按每一行而不是每一列遍历范围。如何将其更改为逐列?
Sub Copy_Columns()
Dim c As Range
For Each c In Sheets("Sheet1").Range("A1:HJ185")
If Not IsEmpty(c.Value) Then
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1).Value = c.Value
End If
Next c
End Sub
解决方案
Sub Copy_Columns()
Dim col as range, c As Range
For Each col In Sheets("Sheet1").Range("A2:HJ185").Columns
For each c in col.cells
If Not IsEmpty(c.Value) Then
With Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp)
.value = c.entirecolumn.cells(1).value
.Offset(1).Value = c.Value
End with
End If
Next c
Next c
End Sub
推荐阅读
- javascript - 主题标签和单词的边界正则表达式
- c++ - 控制到达非空函数重载运算符 [] 的末尾;
- sql-server - 批处理文件来解析字符串的文本文件,该字符串将在返回 true 时执行 SQL 语句
- dart - 为什么我们在 Flutter 中需要 Statefulwidget 中的 State 方法?
- jquery - 为 jquery mouseleave 工具提示悬停添加延迟
- javascript - 在不使用 flexbox 的情况下对齐项目的顶部和底部
- javascript - 从 SuiteScript 的下拉菜单中选择一个选项后,如何使文本框出现?
- r - 如何在具有不同长度元素的列表上选择行并使用应用功能
- graphql - GraphQL API 前的 Google Endpoint
- visual-studio-code - VSCode:使用目录路径快速打开