请问excel表格中,如何将A列、B列和C列自动排列组合,显示到D列(用VBA代码如何按A列型号排列组合到D列)

请问excel表格中,如何将A列、B列和C列自动排列组合,显示到D列(需要按型号,分开组合,不同型号,有不同的颜色和尺码)?输出结果如图,54型号有3个颜色和6个尺码,5... 请问excel表格中,如何将A列、B列和C列自动排列组合,显示到D列(需要按型号,分开组合,不同型号,有不同的颜色和尺码)?输出结果如图,54型号有3个颜色和6个尺码,55有2个颜色和3个尺码,还有很多型号,对应不同的颜色和尺码,VBA代码需要怎么写,才能实现? 展开
 我来答
mzz9060
2018-05-02 · TA获得超过1321个赞
知道小有建树答主
回答量:773
采纳率:84%
帮助的人:192万
展开全部

答:我用VBA写了一小段代码实现了上述功能。要运行宏,可参阅WPS运行宏的方法。

Sub Demo()
    Dim FirstRow As Long, LastRow As Long, i As Integer, j As Integer
    Dim Cell As Range, DesRng As Range
    Set DesRng = Range("D2")
    For Each Cell In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeConstants, 23)
        FirstRow = Cell.Row
        LastRow = Cell.End(xlDown).Row - 1
        If Cell.End(xlDown).Row = Cells.Rows.Count Then
            LastRow = Application.Max(Cells(Rows.Count, "B").End(xlUp).Row, Cells(Rows.Count, "C").End(xlUp).Row)
        End If
        For i = FirstRow To LastRow
            If Not IsEmpty(Cells(i, "B")) Then
                For j = FirstRow To LastRow
                    If Not IsEmpty(Cells(j, "C")) Then
                        DesRng = Cell & "+" & Cells(i, "B") & "+" & Cells(j, "C")
                        Set DesRng = DesRng.Offset(1, 0)
                    End If
                Next j
            End If
        Next i
     Next
     MsgBox "转换完成", vbInformation, "提示"
End Sub

姓王的wy451

2018-05-02 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8861万
展开全部
这么复杂的问题,要给一些奖赏,大家才有兴趣回答
追问
我也想给,但只有2个财富值,无法送出啊!跪求!
追答
你用的是WPS表格,先要确定是否能运行宏,不然白费工夫
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式