Dear Teman,
Aku ada buat makro untuk menyalin data dari txt file (contoh saya attached) ke 
excel tapi saya ada kesulitan waktu masuk kepilihan "DTL02"  yang terdapat 
lebih dari satu detail (DTL02SNM, DTL02CNA dan seterusnya) tolong dibantu dung 
gimana cara mecahin data nya
Terima/Kasih 
Public BLNumber As String
Public CNTNumber As String
Public DOKNumber As String
Public DOKNumber2 As String
Public DOKNumber3 As String
Public pol As String
Public pod As String
Public desc As String
Public Cgn As String
Public Ntf As String
Public IntCounter As Integer
Public NextColumn As Integer
Function Test(strMSG As String)
strHDR = Mid(strMSG, 1, 3)
Select Case strHDR
Case "DTL01"
BLNumber = Trim(Mid(Text_Data, 90, 20))
'IntCounter = 1
Case "CNT01"
CNTNumber = Trim(Mid(Text_Data, 10, 20))
Cells(IntCounter, NextColumn).Value = CNTNumber
Cells(IntCounter, NextColumn + 1).Value = BLNumber
Cells(IntCounter, NextColumn + 2).Value = pol
Cells(IntCounter, NextColumn + 3).Value = pod
Cells(IntCounter, NextColumn + 4).Value = DOKNumber
Cells(IntCounter, NextColumn + 5).Value = DOKNumber2
Cells(IntCounter, NextColumn + 6).Value = DOKNumber3
Cells(IntCounter, NextColumn + 7).Value = desc
Cells(IntCounter, NextColumn + 8).Value = Cgn
Cells(IntCounter, NextColumn + 9).Value = Ntf
End Select
End Function
Private Sub CommandButton1_Click()

    Dim lngCount As Long
    ' Open the file dialog
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show
        ' Display paths of each file selected
        For lngCount = 1 To .SelectedItems.Count
            TextBox1.Text = .SelectedItems(lngCount)
           '  Label1.Caption = .SelectedItems(lngCount)
        Next lngCount
    End With
End Sub
Private Sub CommandButton2_Click()
On Error GoTo ERR_Handles
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim fs, f, Retstring
Dim File_Name As String
Dim Text_Data As String
Dim BL As Integer
NextColumn = TextBox2.Text
File_Name = TextBox1.Text
  Set fs = CreateObject("Scripting.FileSystemObject")
'Set Text_Stream = OFSO.OpenTextFile("J:\FLATFILES\SINARJAVA328\BL # 
OOLU2001234660.txt", ForReading, False)
 Set f = fs.OpenTextFile(File_Name, ForReading)
IntCounter = TextBox3.Text
Cells(IntCounter, NextColumn).Value = "CONTAINER NO"
Cells(IntCounter, NextColumn + 1).Value = "BL NO"
Cells(IntCounter, NextColumn + 2).Value = "POL"
Cells(IntCounter, NextColumn + 3).Value = "POD"
Cells(IntCounter, NextColumn + 4).Value = "KPBC"
Cells(IntCounter, NextColumn + 5).Value = "PEB No"
Cells(IntCounter, NextColumn + 6).Value = "DATE"
Cells(IntCounter, NextColumn + 7).Value = "desc"
Cells(IntCounter, NextColumn + 8).Value = "Cgn"
Cells(IntCounter, NextColumn + 9).Value = "Ntf"
IntCounter = IntCounter + 1
Do While f.AtEndOfStream <> True
   Retstring = f.Readline
 
strHDR = Mid(Retstring, 1, 5)
Select Case strHDR
Case "DTL01"
BLNumber = Trim(Mid(Retstring, 90, 20))
pol = Trim(Mid(Retstring, 25, 5))
pod = Trim(Mid(Retstring, 30, 5))
'IntCounter = 1
Case "DTL02"
shp = Trim(Mid(Retstring, 6, 200))

Case "DOK01"
DOKNumber = Trim(Mid(Retstring, 12, 6))
DOKNumber2 = Trim(Mid(Retstring, 19, 5))
DOKNumber3 = Trim(Mid(Retstring, 24, 8))
Case "CNT01"
If Mid(Retstring, 14, 1) = Chr(32) Then
CNTNumber = Trim(Mid(Retstring, 10, 4)) & Trim(Mid(Retstring, 14, 14))
Cells(IntCounter, NextColumn).Value = CNTNumber
Cells(IntCounter, NextColumn + 1).Value = BLNumber
Cells(IntCounter, NextColumn + 2).Value = pol
Cells(IntCounter, NextColumn + 3).Value = pod
Cells(IntCounter, NextColumn + 4).Value = DOKNumber
Cells(IntCounter, NextColumn + 5).Value = DOKNumber2
Cells(IntCounter, NextColumn + 6).Value = DOKNumber3
Cells(IntCounter, NextColumn + 7).Value = desc
Cells(IntCounter, NextColumn + 8).Value = Cgn
Cells(IntCounter, NextColumn + 9).Value = Ntf
Else
CNTNumber = Trim(Mid(Retstring, 10, 20))
Cells(IntCounter, NextColumn).Value = CNTNumber
Cells(IntCounter, NextColumn + 1).Value = BLNumber
Cells(IntCounter, NextColumn + 2).Value = pol
Cells(IntCounter, NextColumn + 3).Value = pod
Cells(IntCounter, NextColumn + 4).Value = DOKNumber
Cells(IntCounter, NextColumn + 5).Value = DOKNumber2
Cells(IntCounter, NextColumn + 6).Value = DOKNumber3
Cells(IntCounter, NextColumn + 7).Value = desc
Cells(IntCounter, NextColumn + 8).Value = Cgn
Cells(IntCounter, NextColumn + 9).Value = Ntf
End If
IntCounter = IntCounter + 1
End Select
Loop
'Text_Stream.Close

    f.Close
Set fs = Nothing
Unload Me

ERR_Handles:
Select Case Err.Number
Case 13
MsgBox "Isian Kurang Lengkap Atau Salah !", vbOKOnly, "Salin Kontainer"
End Select
End Sub

Private Sub UserForm_Click()
End Sub


      
HDR0111OSHERMES                                              NM100N             
              20080519000000V30MEM31
DTL0109E00010000   IDTPPIDTPPLKCMBLKCMBCMA CGM ROSE V.NMS022N                   
         12279-JKT-CMB                 20080519S8100JKTCMB109                
20080519  
000000000026536000000000000075490000000020000017400000000000000000000000000RO
DTL02SNM01PT. SERIM INDONESIA
DTL02SNA01DESA CIJANTRA KEC. PAGEDANGAN  TANGERANG INDONESIA
DTL02CNM01SINTESI LIMITED
DTL02CNA01#409, 3RD FLOOR, GALLE ROAD COLOMBO 03  SRI LANKA
DTL02NNM01SINTESI LIMITED
DTL02NNA01#409, 3RD FLOOR, GALLE ROAD COLOMBO 03  SRI LANKA
DTL02SMR01N/M
DTL02HSC01
DTL02DES013921.1300.00  174 ROLLS = 4,393 M OF :   SOFT POLY URETHANE FOAM
DOK01PEB00104030024992520080517
CNT010000GATU8237554              40F  0102392        
CNT010001DAYU2139082              20F  0102391        

Kirim email ke