0

我在一张看起来像的表格中有数据

A      B      C       D
       1001   1002    1003
Phone  1      1       1
TV     1              1
Remote                1
AC     1      1       1

我想要一个宏,它可以在另一张表中提供数据,例如

Phone  1001;1002;1003
TV     1001;1003
Remote 1003
AC     1001;1002;1003

在 2 列中

这是样本数据,列和行每次都会变化,最多可达 1000。所以我需要一个宏来从第一行获取数据,前提是相应的单元格中有“1”。

4

1 回答 1

0

这可能有帮助..

Sub Init()
Dim x, y As Integer
Dim s As String
Dim xt As Worksheet

Set xt = Sheets("Sheet2")'----------> you may change this

For y = 2 To 6 '--------------------tv,remote,etc
  s = ""
  For x = 2 To 4 '------------------1001,1002,1003
    If Cells(y, x) = 1 Then
      If Len(s) > 0 Then s = s & "; "
      s = s & Cells(1, x)
    End If
  Next
  xt.Cells(y, 1) = Cells(y, 1)
  xt.Cells(y, 2) = s
Next
End Sub
于 2013-07-21T15:46:00.250 回答