有什么办法可以基于子列合并父列

时间:2019-03-27 03:58:01

标签: vba

我有3列日期和班次,如下所示

Date    Shift   Subject
26th    Shift 1 English
26th    Shift 1 Maths
26th    Shift 1 Hindi
26th    Shift 2 Anatomy
26th    Shift 2 Physiology
26th    Shift 3 Earth Science
27th    Shift 1 VHDL
27th    Shift 1 Verilog
27th    Shift 1 Logic Design
27th    Shift 2 Power Electronics
27th    Shift 3 VBA
27th    Shift 4 Sociology
28th    Shift 1 Law1
28th    Shift 2 Law2

请注意,上面的班次列取决于日期,主题列取决于日期和班次。我需要一个VBA代码才能在下一张表的图像输出中显示以下内容。

enter image description here

1 个答案:

答案 0 :(得分:0)

是的,您可以尝试使用以下代码:

fila = Cells(Rows.Count, 1).End(xlUp).Offset(0, 0).Row
For i = 1 To Cells(fila, Columns.Count).End(xlToLeft).Offset(0, 0).Column
    cont = 0
    For j = 1 To fila
        While (Cells(fila - j + 1, i - cont) = "")
            cont = cont + 1
        Wend
        n = Cells(fila - j + 1, i - cont) & " " & n
    Next j
    MsgBox n
    n = ""
Next i
MsgBox "Fin de aplicación"

我猜它从A1:B1开始,但是在启动宏之前,请选择表格左上方的第一个单元格。让我知道它是否有效。