jindon -- your solution is absolutely **BRILLIANT**!! I'm super-impressed how flexible the code.

Allow me to ask a small follow up question based on the code below:


Private Sub ConvertData_Alpha_Click()
    Dim a, b, i As Long, ii As Long, iii As Long, n As Long, myCols
    With Sheets("MasterData")
        myCols = Application.Match("* ALPHA", .Rows(1), 0)
        If IsNumeric(myCols) Then
            With .Cells(1, myCols).MergeArea
                myCols = Array(.Column, .Column + .Columns.Count - 1)
            End With
        End If
        a = .Cells(1).CurrentRegion.Value
    End With
    If Not IsArray(myCols) Then MsgBox "ALPHA title not found", vbCritical: Exit Sub
    ReDim b(1 To UBound(a, 1) * UBound(a, 2), 1 To 9)
    For i = 3 To UBound(a, 1)
        For ii = myCols(0) To myCols(1)
            n = n + 1
            For iii = 1 To 7
                b(n, iii) = a(i, iii)
            Next
            b(n, 8) = a(2, ii): b(n, 9) = a(i, ii)
    Next ii, i
    With Sheets("ConvertedData_Alpha")
        .Cells.Delete
        .Cells(1).Resize(, 9).Value = Array("Unit", "Hull No", "Class", _
                "Home Port", "State", "Year", "Month", "Factor", "Value")
        .[a2].Resize(n, 9).Value = b
        .ListObjects.Add(1, .Cells(1).CurrentRegion).Name = "Table_Convert_Alpha"
    End With
End Sub

Private Sub ConvertData_BRAVO_Click()
    Dim a, b, i As Long, ii As Long, iii As Long, n As Long, myCols
    With Sheets("MasterData")
        myCols = Application.Match("* BRAVO", .Rows(1), 0)
        If IsNumeric(myCols) Then
            With .Cells(1, myCols).MergeArea
                myCols = Array(.Column, .Column + .Columns.Count - 1)
            End With
        End If
        a = .Cells(1).CurrentRegion.Value
    End With
    If Not IsArray(myCols) Then MsgBox "BRAVO title not found", vbCritical: Exit Sub
    ReDim b(1 To UBound(a, 1) * UBound(a, 2), 1 To 9)
    For i = 3 To UBound(a, 1)
        For ii = myCols(0) To myCols(1)
            n = n + 1
            For iii = 1 To 7
                b(n, iii) = a(i, iii)
            Next
            b(n, 8) = a(2, ii): b(n, 9) = a(i, ii)
    Next ii, i
    With Sheets("ConvertedData_Bravo")
        .Cells.Delete
        .Cells(1).Resize(, 9).Value = Array("Unit", "Hull No", "Class", _
                "Home Port", "State", "Year", "Month", "Factor", "Value")
        .[a2].Resize(n, 9).Value = b
        .ListObjects.Add(1, .Cells(1).CurrentRegion).Name = "Table_ConvertedData_Bravo"
    End With
End Sub

Private Sub ConvertData_CHARLIE_Click()
    Dim a, b, i As Long, ii As Long, iii As Long, n As Long, myCols
    With Sheets("MasterData")
        myCols = Application.Match("* CHARLIE", .Rows(1), 0)
        If IsNumeric(myCols) Then
            With .Cells(1, myCols).MergeArea
                myCols = Array(.Column, .Column + .Columns.Count - 1)
            End With
        End If
        a = .Cells(1).CurrentRegion.Value
    End With
    If Not IsArray(myCols) Then MsgBox "CHARLIE title not found", vbCritical: Exit Sub
    ReDim b(1 To UBound(a, 1) * UBound(a, 2), 1 To 9)
    For i = 3 To UBound(a, 1)
        For ii = myCols(0) To myCols(1)
            n = n + 1
            For iii = 1 To 7
                b(n, iii) = a(i, iii)
            Next
            b(n, 8) = a(2, ii): b(n, 9) = a(i, ii)
    Next ii, i
    With Sheets("ConvertedData_Charlie")
        .Cells.Delete
        .Cells(1).Resize(, 9).Value = Array("Unit", "Hull No", "Class", _
                "Home Port", "State", "Year", "Month", "Factor", "Value")
        .[a2].Resize(n, 9).Value = b
        .ListObjects.Add(1, .Cells(1).CurrentRegion).Name = "Table_ConvertedData_Charlie"
    End With
End Sub
Here, I've copied the same function now 3 times and replaced the "Alpha", "Bravo", and "Charlie" references where necessary. As you know, when each function is executed, I'm now creating 3 separate tabs based on the master data.

Now, here's my question:
As I only want one command button "Update Graphs" in cell A1, how can I create a separate function which then would call each of the three convert functions? Basically, let's say I change the command button's property from "ConvertData_Alpha" to "UpdateGraphs" and I then click it, what's the code in that function that calls/executes "ConvertData_Alpha" AND "ConvertData_Bravo" AND "ConvertData_Charlie" at the same time?

Again, thousand thanks for your help! Once I get to execute all 3 functions with 1 command button, I'd be set!

Cheers,
Tom