【问题标题】:VBA - For exporting data from Excel to text (cell by cell with separators)VBA - 用于将数据从 Excel 导出到文本(带分隔符的逐个单元格)
【发布时间】:2015-05-05 14:53:11
【问题描述】:

我对 VBA 有疑问。我正在尝试创建用于将我的 Excel 工作表导出到 txt 文件的宏。 > 我有一张表,里面有一些记录,我想将它们一个一个地放在新行中,并以列名作为分隔符。应该是这样的:

"column name1" 

 1value_col1 

"coumn name2"

1value_col2

"column name 1"

2value_col1

"column name2"

2value_col2

等等,直到文档结束。

感谢您提供任何类似的建议示例。

【问题讨论】:

  • 请分享您当前的 VBA。你试过什么?

标签: vba excel


【解决方案1】:

制作另一个工作表,在其中格式化数据,如示例中所示,例如

=Data!A$1
=OFFSET(Data!A1;ROUNDDOWN(ROW()/(no_of_columns*2);0);0)
=Data!A$2
...

或者如果你想要一个宏:

Dim c As Long
For i = 2 To Range("A1").End(xlDown).Row
   For j = 1 To Range("A1").End(xlToRight).Column
      Worksheets("Out").Range("A1").Offset(c).Value = Cells(1, j)
      c = c + 1
      Worksheets("Out").Range("A1").Offset(c).Value = Cells(i, j)
      c = c + 1
   Next j
Next i

然后简单地将工作表另存为txt:

ActiveWorkbook.SaveAs Filename:= "C:\Book1.txt", FileFormat:=xlTextMSDOS,CreateBackup:=False

【讨论】:

  • 好的,那么在这种情况下,在工作表之间传输数据的宏可以是什么?大约有 500 条记录,所以准备这样的文件需要很多时间
  • 无宏 - 只需编写一些公式并将它们沿工作表向下复制。公式将适当地格式化数据。使用我上面的例子。
  • 使用上面的宏或公式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多