Try this one:
Private Sub OKButton_Click()
Dim intLbxIndex As Long, _
List2Count As Long, _
iColumn As Long, _
HeaderRow As Range, _
Header As Range, _
rngCell As Range, _
rngDigData As Range, _
ColHead As String
List2Count = ListBox2.ListCount - 1
Set HeaderRow = Sheet1.Range("A1", Range(Cells(1, Columns.Count).End(xlToLeft).Address(0, 0)))
'add worksheet for digital data to be plotted and copy cycles to it
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Dig_Plot_Work"
Sheet1.Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row).Copy Sheets("Dig_Plot_Work").Range("A1")
'add data from listbox to new worksheet
For intLbxIndex = 0 To List2Count
ColHead = ListBox2.List(intLbxIndex)
For Each Header In HeaderRow
If ColHead = Header Then
iColumn = iColumn + 1
Sheet1.Range(Header.Address(0, 0), Sheet1.Cells(Rows.Count, Header.Column).End(xlUp).Address(0, 0)).Copy Sheets("Dig_Plot_Work").Range("A1").Offset(0, iColumn)
End If
Next Header
Next intLbxIndex
Unload Me
End Sub
Bookmarks