0

在 Excel 文件中,我有 2 个选项卡:输入和输出。

在输入选项卡中,我在 A 列中有一个代码列表,例如:code001,它会无限期地运行,因为我添加的越来越多。

在 BI 列中有一个关键字列表,例如:蓝色连衣裙、红色铅笔、白色围巾……我又没有关键字的数量,因为我添加的关键字越来越多。

在 C 和 D 列上,我的结构与 A 和 B 相同。(文件结构不能更改!)

我想在选项卡输出上,在 A 列上,代码(来自选项卡输入的 A 列和 C 列)和 B 列上,关键字(来自选项卡输入的 B 列和 D 列)。

如何通过一段时间循环/函数遍历所有列和行?

4

3 回答 3

3

我认为您应该使用工作表公式来执行此操作。在工作表输出的 A 列中输入以下公式:

=Input!A:A&Input!C:C

在工作表输出的 B 列中输入以下公式:

=Input!B:B&Input!D:D

如果问题是您对 Excel VBA 一无所知,那么以下站点应该可以帮助您:

以下是一些其他网站供您阅读:

祝你好运

菲利普

于 2013-04-26T00:08:50.473 回答
1

我知道这是一个迟到的答案,但试试这个。它可能比需要的更复杂,但有很多方法可以做到这一点。

Public Sub stuff2()
    Dim rangeA, rangeB, ranceC, rangeD As Range
    Dim numA, numB, numC, numD As Integer

    With Sheets("Input")
        numA = Worksheetfunction.CountA(.Range("A:A"))
        numB = Worksheetfunction.CountA(.Range("B:B"))
        numC = Worksheetfunction.CountA(.Range("C:C"))
        numD = Worksheetfunction.CountA(.Range("D:D"))
        Set rangeA = .Range("A1:A" & numA)
        Set rangeB = .Range("B1:B" & numB)
        Set rangeC = .Range("C1:C" & numC)
        Set rangeD = .Range("D1:D" & numD)
    End With

    With Sheets("Output")
        rangeA.Copy .Range("A1")
        rangeB.Copy .Range("B1")
        rangeC.Copy .Range("A" & numA + 1)
        rangeD.Copy .Range("AB" & numB + 1)
    End With
End Sub
于 2014-05-06T20:15:33.020 回答
0

诚然,我迟到了 5 年才提供解决方案......这是我解决这个问题的方法

Sub consol
 Dim maxi as long, restrtrow as long, i as long  
 For i = 1 to 4
   If i = 1 or i = 3 then
       Maxi= sheets ("input").cells (1000000,i).end (xlup).row
       Restrtrow = sheets ("output").cells (1000000,1).end (xlup).row+1
       Sheets ("input").select
       Range (Cells (2 ,i),cells ( maxi,i)).copy
       Sheets ("output").select
       Cells(Restrtrow,1).SELECT
       Selection.pastespecial paste:= xlpastevalues
     Elseif i =2 or i=4 then
         Sheets ("input").select
         Range (cells (2,i),cells (maxi,i)).select
         Selection.copy
         Sheets ("output").select
         Cells (2,restrtrow).select
         Selection.pastespecial paste:= xlpastevalues
     End if   

   next
 end sub
于 2017-07-08T20:07:03.977 回答