列名称最多为一行

时间:2017-03-08 13:52:09

标签: excel vba excel-vba

不同表格的列标题

iI有很多行在表2中有数据,iI想要一行最大的列名(即从列名B2到AH2内的列,如果循环)。

Sub shanaya()

    Dim j As Integer
    Dim i As Integer
    Dim z As Integer
    Dim x As Integer

    z = 35
    For i = 11 To 28
        For j = 2 To 19
            If Sheet8.Cells(j, 1) = Sheet1.Cells(i, 1) Then
                Sheet1.Cells(i, 10) = Sheet8.Cells(j, z)
                Max [(Sheet8.Cells(J,2)): (Sheet8.Cells(j,z))]
                Sheet1.Cells(i,13) = column header of max function             
            End If     
        Next j
    Next i

End Sub

1 个答案:

答案 0 :(得分:0)

使用MATCH工作表函数会为您提供与MAX匹配的列:

+1,因为你的范围从第2列开始! ;)

Sub shanaya()
    Dim j As Integer
    Dim i As Integer
    Dim z As Integer
    Dim x As Integer
    Dim ColOfMax As Integer
    Dim RgToSearch As Range

    z = 35
    For i = 11 To 28
        For j = 2 To 19
            If Sheet8.Cells(j, 1) = Sheet1.Cells(i, 1) Then
                Sheet1.Cells(i, 10) = Sheet8.Cells(j, z)
                Set RgToSearch = Sheet8.Range(Sheet8.Cells(j, 2), Sheet8.Cells(j, z))
                ColOfMax = Application.WorksheetFunction.Match(Application.WorksheetFunction.Max(RgToSearch), RgToSearch, 0) + 1

                Sheet1.Cells(i, 13) = Sheet8.Cells(1, ColOfMax)
            End If
        Next j
    Next i
End Sub