Results 1 to 10 of 117

Thread: Notes tests, text files, manipulation of text files in Excel and with Excel VBA CSV stuff

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #11
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    10,457
    Rep Power
    10
    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 & vbLf
    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 & vbLf
    Code:
    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
    http://i.imgur.com/JouNd9P.jpg


    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
    results after running macro , Sub LookInAndImportTextStringSample()
    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:
    Last edited by DocAElstein; 12-01-2020 at 01:15 PM.
    ….If you are my competitor, I will try all I can to beat you. But if I do, I will not belittle you. I will Salute you, because without you, I am nothing.
    If you are my enemy, we will try to kick the fucking shit out of you…..
    Winston Churchill, 1939
    Save your Forum..._
    KILL A MODERATOR!!

Similar Threads

  1. Replies: 111
    Last Post: 08-10-2025, 08:44 PM
  2. Replies: 4
    Last Post: 01-30-2022, 04:05 PM
  3. Replies: 29
    Last Post: 06-09-2020, 06:00 PM
  4. Notes tests. Excel VBA Folder File Search
    By DocAElstein in forum Test Area
    Replies: 39
    Last Post: 03-20-2018, 04:09 PM
  5. Collate Data from csv files to excel sheet
    By dhiraj.ch185 in forum Excel Help
    Replies: 16
    Last Post: 03-06-2012, 07:37 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •