+ Reply to Thread
Results 1 to 4 of 4

Need desperate help: microsofts macro for converting large text files more than 65000 rows

Hybrid View

  1. #1
    fari
    Guest

    Need desperate help: microsofts macro for converting large text files more than 65000 rows

    Hi,

    the microsofts macro for converting large text files more than 65000
    rows to excel only converts my 1st line.. Below is the macro, please
    help. Thanks
    farida


    Sub LargeFileImport()

    'Dimension Variables
    Dim ResultStr As String
    Dim FileName As String
    Dim FileNum As Integer
    Dim Counter As Double
    'Ask User for File's Name
    FileName = InputBox("Please enter the Text File's name, e.g.
    test.txt")
    'Check for no entry
    If FileName = "" Then End
    'Get Next Available File Handle Number
    FileNum = FreeFile()
    'Open Text File For Input
    Open FileName For Input As #FileNum
    'Turn Screen Updating Off
    Application.ScreenUpdating = False
    'Create A New WorkBook With One Worksheet In It
    Workbooks.Add template:=xlWorksheet
    'Set The Counter to 1
    Counter = 1
    'Loop Until the End Of File Is Reached
    Do While Seek(FileNum) <= LOF(FileNum)
    'Display Importing Row Number On Status Bar
    Application.StatusBar = "Importing Row " & _
    Counter & " of text file " & FileName
    'Store One Line Of Text From File To Variable
    Line Input #FileNum, ResultStr
    'Store Variable Data Into Active Cell
    If Left(ResultStr, 1) = "=" Then
    ActiveCell.Value = "'" & ResultStr
    Else
    ActiveCell.Value = ResultStr
    End If

    'For Excel versions before Excel 97, change 65536 to 16384
    If ActiveCell.Row = 65536 Then
    'If On The Last Row Then Add A New Sheet
    ActiveWorkbook.Sheets.Add
    Else
    'If Not The Last Row Then Go One Cell Down
    ActiveCell.Offset(1, 0).Select
    End If
    'Increment the Counter By 1
    Counter = Counter + 1
    'Start Again At Top Of 'Do While' Statement
    Loop
    'Close The Open Text File
    Close
    'Remove Message From Status Bar
    Application.StatusBar = False

    End Sub


  2. #2
    aidan.heritage@virgin.net
    Guest

    Re: Need desperate help: microsofts macro for converting large text files more than 65000 rows

    There is nothing wrong with the code, it runs as expected - are you
    sure your file has more lines in it?
    fari wrote:
    > Hi,
    >
    > the microsofts macro for converting large text files more than 65000
    > rows to excel only converts my 1st line.. Below is the macro, please
    > help. Thanks
    > farida
    >
    >
    > Sub LargeFileImport()
    >
    > 'Dimension Variables
    > Dim ResultStr As String
    > Dim FileName As String
    > Dim FileNum As Integer
    > Dim Counter As Double
    > 'Ask User for File's Name
    > FileName = InputBox("Please enter the Text File's name, e.g.
    > test.txt")
    > 'Check for no entry
    > If FileName = "" Then End
    > 'Get Next Available File Handle Number
    > FileNum = FreeFile()
    > 'Open Text File For Input
    > Open FileName For Input As #FileNum
    > 'Turn Screen Updating Off
    > Application.ScreenUpdating = False
    > 'Create A New WorkBook With One Worksheet In It
    > Workbooks.Add template:=xlWorksheet
    > 'Set The Counter to 1
    > Counter = 1
    > 'Loop Until the End Of File Is Reached
    > Do While Seek(FileNum) <= LOF(FileNum)
    > 'Display Importing Row Number On Status Bar
    > Application.StatusBar = "Importing Row " & _
    > Counter & " of text file " & FileName
    > 'Store One Line Of Text From File To Variable
    > Line Input #FileNum, ResultStr
    > 'Store Variable Data Into Active Cell
    > If Left(ResultStr, 1) = "=" Then
    > ActiveCell.Value = "'" & ResultStr
    > Else
    > ActiveCell.Value = ResultStr
    > End If
    >
    > 'For Excel versions before Excel 97, change 65536 to 16384
    > If ActiveCell.Row = 65536 Then
    > 'If On The Last Row Then Add A New Sheet
    > ActiveWorkbook.Sheets.Add
    > Else
    > 'If Not The Last Row Then Go One Cell Down
    > ActiveCell.Offset(1, 0).Select
    > End If
    > 'Increment the Counter By 1
    > Counter = Counter + 1
    > 'Start Again At Top Of 'Do While' Statement
    > Loop
    > 'Close The Open Text File
    > Close
    > 'Remove Message From Status Bar
    > Application.StatusBar = False
    >
    > End Sub



  3. #3
    clucas
    Guest

    Re: Need desperate help: microsofts macro for converting large text files more than 65000 rows

    This looks like a great macro! I need a similar one that can add
    additional sheets if there are more than 256 columns. Can anyone help
    revise this code? Thanks so much!


    aidan.heritage@virgin.net wrote:
    > There is nothing wrong with the code, it runs as expected - are you
    > sure your file has more lines in it?
    > fari wrote:
    > > Hi,
    > >
    > > the microsofts macro for converting large text files more than 65000
    > > rows to excel only converts my 1st line.. Below is the macro, please
    > > help. Thanks
    > > farida
    > >
    > >
    > > Sub LargeFileImport()
    > >
    > > 'Dimension Variables
    > > Dim ResultStr As String
    > > Dim FileName As String
    > > Dim FileNum As Integer
    > > Dim Counter As Double
    > > 'Ask User for File's Name
    > > FileName = InputBox("Please enter the Text File's name, e.g.
    > > test.txt")
    > > 'Check for no entry
    > > If FileName = "" Then End
    > > 'Get Next Available File Handle Number
    > > FileNum = FreeFile()
    > > 'Open Text File For Input
    > > Open FileName For Input As #FileNum
    > > 'Turn Screen Updating Off
    > > Application.ScreenUpdating = False
    > > 'Create A New WorkBook With One Worksheet In It
    > > Workbooks.Add template:=xlWorksheet
    > > 'Set The Counter to 1
    > > Counter = 1
    > > 'Loop Until the End Of File Is Reached
    > > Do While Seek(FileNum) <= LOF(FileNum)
    > > 'Display Importing Row Number On Status Bar
    > > Application.StatusBar = "Importing Row " & _
    > > Counter & " of text file " & FileName
    > > 'Store One Line Of Text From File To Variable
    > > Line Input #FileNum, ResultStr
    > > 'Store Variable Data Into Active Cell
    > > If Left(ResultStr, 1) = "=" Then
    > > ActiveCell.Value = "'" & ResultStr
    > > Else
    > > ActiveCell.Value = ResultStr
    > > End If
    > >
    > > 'For Excel versions before Excel 97, change 65536 to 16384
    > > If ActiveCell.Row = 65536 Then
    > > 'If On The Last Row Then Add A New Sheet
    > > ActiveWorkbook.Sheets.Add
    > > Else
    > > 'If Not The Last Row Then Go One Cell Down
    > > ActiveCell.Offset(1, 0).Select
    > > End If
    > > 'Increment the Counter By 1
    > > Counter = Counter + 1
    > > 'Start Again At Top Of 'Do While' Statement
    > > Loop
    > > 'Close The Open Text File
    > > Close
    > > 'Remove Message From Status Bar
    > > Application.StatusBar = False
    > >
    > > End Sub



  4. #4
    aidan.heritage@virgin.net
    Guest

    Re: Need desperate help: microsofts macro for converting large text files more than 65000 rows

    As the original macro was a Microsoft one, I did a quick search in the
    knowledge base - check out

    http://support.microsoft.com/kb/272729/en-us


    clucas wrote:
    > This looks like a great macro! I need a similar one that can add
    > additional sheets if there are more than 256 columns. Can anyone help
    > revise this code? Thanks so much!
    >
    >
    > aidan.heritage@virgin.net wrote:
    > > There is nothing wrong with the code, it runs as expected - are you
    > > sure your file has more lines in it?
    > > fari wrote:
    > > > Hi,
    > > >
    > > > the microsofts macro for converting large text files more than 65000
    > > > rows to excel only converts my 1st line.. Below is the macro, please
    > > > help. Thanks
    > > > farida
    > > >
    > > >
    > > > Sub LargeFileImport()
    > > >
    > > > 'Dimension Variables
    > > > Dim ResultStr As String
    > > > Dim FileName As String
    > > > Dim FileNum As Integer
    > > > Dim Counter As Double
    > > > 'Ask User for File's Name
    > > > FileName = InputBox("Please enter the Text File's name, e.g.
    > > > test.txt")
    > > > 'Check for no entry
    > > > If FileName = "" Then End
    > > > 'Get Next Available File Handle Number
    > > > FileNum = FreeFile()
    > > > 'Open Text File For Input
    > > > Open FileName For Input As #FileNum
    > > > 'Turn Screen Updating Off
    > > > Application.ScreenUpdating = False
    > > > 'Create A New WorkBook With One Worksheet In It
    > > > Workbooks.Add template:=xlWorksheet
    > > > 'Set The Counter to 1
    > > > Counter = 1
    > > > 'Loop Until the End Of File Is Reached
    > > > Do While Seek(FileNum) <= LOF(FileNum)
    > > > 'Display Importing Row Number On Status Bar
    > > > Application.StatusBar = "Importing Row " & _
    > > > Counter & " of text file " & FileName
    > > > 'Store One Line Of Text From File To Variable
    > > > Line Input #FileNum, ResultStr
    > > > 'Store Variable Data Into Active Cell
    > > > If Left(ResultStr, 1) = "=" Then
    > > > ActiveCell.Value = "'" & ResultStr
    > > > Else
    > > > ActiveCell.Value = ResultStr
    > > > End If
    > > >
    > > > 'For Excel versions before Excel 97, change 65536 to 16384
    > > > If ActiveCell.Row = 65536 Then
    > > > 'If On The Last Row Then Add A New Sheet
    > > > ActiveWorkbook.Sheets.Add
    > > > Else
    > > > 'If Not The Last Row Then Go One Cell Down
    > > > ActiveCell.Offset(1, 0).Select
    > > > End If
    > > > 'Increment the Counter By 1
    > > > Counter = Counter + 1
    > > > 'Start Again At Top Of 'Do While' Statement
    > > > Loop
    > > > 'Close The Open Text File
    > > > Close
    > > > 'Remove Message From Status Bar
    > > > Application.StatusBar = False
    > > >
    > > > End Sub



+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

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

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1