In support of this Thread
https://www.ozgrid.com/forum/index.p...23#post1241623
Code:"-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & " " & vbCr & vbLf & "This is a report for last week " & vbCr & vbLf & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & " " & vbCr & vbLf & " " & vbCr & vbLf & "Date" & "," & "RunbookBCompletionTime " & vbCr & vbLf & "20201116" & "," & "05" & ":" & "44 AM" & vbCr & vbLf & "20201117" & "," & "05" & ":" & "47 AM" & vbCr & vbLf & "20201118" & "," & "05" & ":" & "39 AM" & vbCr & vbLf & "20201119" & "," & "06" & ":" & "10 AM" & vbCr & vbLf & "20201120" & "," & "05" & ":" & "49 AM" & vbCr & vbLf & "20201121" & "," & "07" & ":" & "13 AM" & vbCr & vbLf & "20201122" & "," & "06" & ":" & "01 AM" & vbCr & vbLf & " " & vbCr & vbLf & "Date" & "," & "ActiveProducts " & vbCr & vbLf & "20201116" & "," & "24" & vbCr & vbLf & "20201117" & "," & "244" & vbCr & vbLf & "20201118" & "," & "245 " & vbCr & vbLf & "20201119" & "," & "24 " & vbCr & vbLf & "20201120" & "," & "249 " & vbCr & vbLf & "20201121" & "," & "250 " & vbCr & vbLf & "20201122" & "," & "250 " & vbCr & vbLf & " " & vbCr & vbLf & "Date" & "," & "ActiveSKUs " & vbCr & vbLf & "20201116" & "," & "137" & vbCr & vbLf & "20201117" & "," & "13" & vbCr & vbLf & "20201118" & "," & "13" & vbCr & vbLf & "20201119" & "," & "1368" & vbCr & vbLf & "20201120" & "," & "13" & vbCr & vbLf & "20201121" & "," & "1381" & vbCr & vbLf & "20201122" & "," & "13" & vbCr & vbLf & " " & vbCr & vbLf & "Date" & "," & "CompletedOrderCount " & vbCr & vbLf & "20201116" & "," & "24" & vbCr & vbLf & "20201117" & "," & "24" & vbCr & vbLf & "20201118" & "," & "3" & vbCr & vbLf & "20201119" & "," & "24" & vbCr & vbLf & "20201120" & "," & "63" & vbCr & vbLf & "20201121" & "," & "69" & vbCr & vbLf & "20201122" & "," & "8" & vbCr & vbLf & "20201123" & "," & "9" & vbCr & vbLf & " " & vbCr & vbLf & "Date" & "," & "PendingOrderCount " & vbCr & vbLf & "20201116" & "," & "18" & vbCr & vbLf & "20201117" & "," & "5405" & vbCr & vbLf & "20201118" & "," & "6114" & vbCr & vbLf & "20201119" & "," & "6" & vbCr & vbLf & "20201120" & "," & "6482" & vbCr & vbLf & "20201121" & "," & "74" & vbCr & vbLf & "20201122" & "," & "128" & vbCr & vbLf & "20201123" & "," & "4" & vbCr & vbLf & " " & vbCr & vbLfCode:"-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & " " & vbCr & vbLf "This is a report for last week " & vbCr & vbLf "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & " " & vbCr & vbLf " " & vbCr & vbLf "Date" & "," & "RunbookBCompletionTime " & vbCr & vbLf "20201116" & "," & "05" & ":" & "44 AM" & vbCr & vbLf "20201117" & "," & "05" & ":" & "47 AM" & vbCr & vbLf "20201118" & "," & "05" & ":" & "39 AM" & vbCr & vbLf "20201119" & "," & "06" & ":" & "10 AM" & vbCr & vbLf "20201120" & "," & "05" & ":" & "49 AM" & vbCr & vbLf "20201121" & "," & "07" & ":" & "13 AM" & vbCr & vbLf "20201122" & "," & "06" & ":" & "01 AM" & vbCr & vbLf " " & vbCr & vbLf "Date" & "," & "ActiveProducts " & vbCr & vbLf "20201116" & "," & "24" & vbCr & vbLf "20201117" & "," & "244" & vbCr & vbLf "20201118" & "," & "245 " & vbCr & vbLf "20201119" & "," & "24 " & vbCr & vbLf "20201120" & "," & "249 " & vbCr & vbLf "20201121" & "," & "250 " & vbCr & vbLf "20201122" & "," & "250 " & vbCr & vbLf " " & vbCr & vbLf "Date" & "," & "ActiveSKUs " & vbCr & vbLf "20201116" & "," & "137" & vbCr & vbLf "20201117" & "," & "13" & vbCr & vbLf "20201118" & "," & "13" & vbCr & vbLf "20201119" & "," & "1368" & vbCr & vbLf "20201120" & "," & "13" & vbCr & vbLf "20201121" & "," & "1381" & vbCr & vbLf "20201122" & "," & "13" & vbCr & vbLf " " & vbCr & vbLf "Date" & "," & "CompletedOrderCount " & vbCr & vbLf "20201116" & "," & "24" & vbCr & vbLf "20201117" & "," & "24" & vbCr & vbLf "20201118" & "," & "3" & vbCr & vbLf "20201119" & "," & "24" & vbCr & vbLf "20201120" & "," & "63" & vbCr & vbLf "20201121" & "," & "69" & vbCr & vbLf "20201122" & "," & "8" & vbCr & vbLf "20201123" & "," & "9" & vbCr & vbLf " " & vbCr & vbLf "Date" & "," & "PendingOrderCount " & vbCr & vbLf "20201116" & "," & "18" & vbCr & vbLf "20201117" & "," & "5405" & vbCr & vbLf "20201118" & "," & "6114" & vbCr & vbLf "20201119" & "," & "6" & vbCr & vbLf "20201120" & "," & "6482" & vbCr & vbLf "20201121" & "," & "74" & vbCr & vbLf "20201122" & "," & "128" & vbCr & vbLf "20201123" & "," & "4" & vbCr & vbLf " " & vbCr & vbLfhttp://i.imgur.com/JouNd9P.jpgCode:0 "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & " " & vbCr & vbLf 1 "This is a report for last week " & vbCr & vbLf 2 "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & "-" & " " & vbCr & vbLf 3 " " & vbCr & vbLf 4 "Date" & "," & "RunbookBCompletionTime " & vbCr & vbLf 5 "20201116" & "," & "05" & ":" & "44 AM" & vbCr & vbLf 6 "20201117" & "," & "05" & ":" & "47 AM" & vbCr & vbLf 7 "20201118" & "," & "05" & ":" & "39 AM" & vbCr & vbLf 8 "20201119" & "," & "06" & ":" & "10 AM" & vbCr & vbLf 9 "20201120" & "," & "05" & ":" & "49 AM" & vbCr & vbLf 10 "20201121" & "," & "07" & ":" & "13 AM" & vbCr & vbLf 11 "20201122" & "," & "06" & ":" & "01 AM" & vbCr & vbLf 12 " " & vbCr & vbLf 13 "Date" & "," & "ActiveProducts " & vbCr & vbLf 14 "20201116" & "," & "24" & vbCr & vbLf 15 "20201117" & "," & "244" & vbCr & vbLf 16 "20201118" & "," & "245 " & vbCr & vbLf 17 "20201119" & "," & "24 " & vbCr & vbLf 18 "20201120" & "," & "249 " & vbCr & vbLf 19 "20201121" & "," & "250 " & vbCr & vbLf 20 "20201122" & "," & "250 " & vbCr & vbLf 21 " " & vbCr & vbLf 22 "Date" & "," & "ActiveSKUs " & vbCr & vbLf 23 "20201116" & "," & "137" & vbCr & vbLf 24 "20201117" & "," & "13" & vbCr & vbLf 25 "20201118" & "," & "13" & vbCr & vbLf 26 "20201119" & "," & "1368" & vbCr & vbLf 27 "20201120" & "," & "13" & vbCr & vbLf 28 "20201121" & "," & "1381" & vbCr & vbLf 29 "20201122" & "," & "13" & vbCr & vbLf 30 " " & vbCr & vbLf 31 "Date" & "," & "CompletedOrderCount " & vbCr & vbLf 32 "20201116" & "," & "24" & vbCr & vbLf 33 "20201117" & "," & "24" & vbCr & vbLf 34 "20201118" & "," & "3" & vbCr & vbLf 35 "20201119" & "," & "24" & vbCr & vbLf 36 "20201120" & "," & "63" & vbCr & vbLf 37 "20201121" & "," & "69" & vbCr & vbLf 38 "20201122" & "," & "8" & vbCr & vbLf 39 "20201123" & "," & "9" & vbCr & vbLf 40 " " & vbCr & vbLf 41 "Date" & "," & "PendingOrderCount " & vbCr & vbLf 42 "20201116" & "," & "18" & vbCr & vbLf 43 "20201117" & "," & "5405" & vbCr & vbLf 44 "20201118" & "," & "6114" & vbCr & vbLf 45 "20201119" & "," & "6" & vbCr & vbLf 46 "20201120" & "," & "6482" & vbCr & vbLf 47 "20201121" & "," & "74" & vbCr & vbLf 48 "20201122" & "," & "128" & vbCr & vbLf 49 "20201123" & "," & "4" & vbCr & vbLf 50 " " & vbCr & vbLf
results after running macro , Sub LookInAndImportTextStringSample()Code:Sub LookInAndImportTextStringSample() Dim FileNum As Long: Let FileNum = FreeFile(1) ' https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/freefile-function Dim PathAndFileName As String, TotalFile As String, FlNme As String Let FlNme = "Sample.txt" Let PathAndFileName = ThisWorkbook.Path & "\" & FlNme Open PathAndFileName For Binary As #FileNum 'Open Route to data. Binary is a fundemental type data input... Let TotalFile = Space(LOF(FileNum)) '....and wot recives it hs to be a string of exactly the right length Get #FileNum, , TotalFile Close #FileNum '' What is in this string? 'Call WtchaGot_Unic_NotMuchIfYaChoppedItOff(TotalFile, FlNme) ' We now have the entire text file as a long string, it looks like the conventional vbCr and vbLf are used as line seperators, Dim arrRws() As String: Let arrRws() = Split(TotalFile, vbCr & vbLf, -1, vbBinaryCompare) ' ' Make an array for the output Dim arrOut() As Variant: Let arrOut() = ThisWorkbook.Worksheets("Sheet1").Range("B4:AC10").Value ' An array for the Headers in Excel file Dim ExHdrs() As Variant: Let ExHdrs() = ThisWorkbook.Worksheets("Sheet1").Range("A4:A10").Value Dim Cnt As Long Do While Cnt - 1 < UBound(arrRws) Let Cnt = Cnt + 1 ' For next line Dim Lne As String: Let Lne = arrRws(Cnt - 1) ' The line text If Left(Lne, 4) = "Date" Then ' we have arived at a chunk of data Dim Hdr As String: Let Hdr = Mid(Lne, (InStr(1, Lne, ",", vbBinaryCompare) + 1)) ' this picks out the header in the text string line Let Hdr = Trim(Hdr) ' the text sample data has an extra space at the end, so this takes it off Dim ExHdrRw As Variant: Let ExHdrRw = Application.Match(Hdr, ExHdrs(), 0) ' this will be the first dimension ( "row" ) where the data should go in the output array If IsError(ExHdrRw) Then ' Application.match will give an Excel error if it does not find the matching heading in the Excel worksheet column "A4:A10" MsgBox prompt:="The header, """ & Hdr & """ , is not in the Excel file" Exit Sub Else ' we have a valid header Do While Trim(arrRws(Cnt)) <> "" And Cnt - 1 < UBound(arrRws) ' ( I am using Trim( ) because some of the "empty" lines actually had a space in them ) Let Cnt = Cnt + 1 ' For next line Let Lne = arrRws(Cnt - 1) ' The line text If Left(Lne, 2) = "20" Then ' check we have a dtae entry in the line Dim Dey As Long: Let Dey = Mid(Lne, 7, 2) ' pick out the day ' We now have the day and the Header row, so we can go about picking out the data and putting the data ijn the corr4ect place in the output array Dim Tme As String: Let Tme = Mid(Lne, InStr(1, Lne, ",", vbBinaryCompare) + 1) ' this picks out the time shown after the "," Let arrOut(ExHdrRw, Dey) = Tme Else ' we do not have a date enty in the line End If Loop ' While arrRws(Cnt) <> "" And Cnt - 1 < UBound(arrRws) End If Else ' Its a sutuation to keep going down looking for a "Date" in the line text End If Loop ' While Cnt < ubound(arrRws) ' ' Finally paste the output array to the worksheet Let ThisWorkbook.Worksheets("Sheet1").Range("B4:AC10").Value = arrOut() End Sub
Row\Col Q R S T U V W X Y 1 2 16 17 18 19 20 21 27 3 M T W Th F S Su M T 4 5:44 AM 5:47 AM 5:39 AM 6:10 AM 5:49 AM 7:13 AM 6:01 AM 4 5 24 244 245 24 249 250 250 6 137 13 13 1368 13 1381 13 7 8 9 24 24 3 24 63 69 8 9 10 18 5405 6114 6 6482 74 128 4 11
See also next post for more detailed results:





Reply With Quote
Bookmarks