+ Reply to Thread
Results 1 to 3 of 3

Excel Row limitations

  1. #1
    Registered User
    Join Date
    06-11-2006
    Posts
    4

    Excel Row limitations

    I am involved in manipulation files larger than 65000 lines constantly and is grateful if I can make this script works.

    I got this code from the forum which was written by Bernie, when I ran it in EXcel as a macro, it gave me an error message.

    Error message is Expected 'expected end sub'. I check the code all seems to match. Please help. Thanks.


    Bernie Dietrick wrote the code. I have not tested the code. Watch out for
    word wrap.

    Importing a large file into Excel. File MAY have more than 65,000 records
    and will
    automatically start a new sheet.


    Sub LargeFileImport()
    'Bernie Deitrick's code for opening vary large text files in Excel
    '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 = Application.GetOpenFilename
    '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
    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
    Jim Thomlinson
    Guest

    RE: Excel Row limitations

    What you posted compiles just fine so the error is somewhere else other than
    this...
    --
    HTH...

    Jim Thomlinson


    "Harry88" wrote:

    >
    > I am involved in manipulation files larger than 65000 lines constantly
    > and is grateful if I can make this script works.
    >
    > I got this code from the forum which was written by Bernie, when I ran
    > it in EXcel as a macro, it gave me an error message.
    >
    > Error message is Expected 'expected end sub'. I check the code all
    > seems to match. Please help. Thanks.
    >
    >
    > Bernie Dietrick wrote the code. I have not tested the code. Watch out
    > for
    > word wrap.
    >
    > Importing a large file into Excel. File MAY have more than 65,000
    > records
    > and will
    > automatically start a new sheet.
    >
    >
    > Sub LargeFileImport()
    > 'Bernie Deitrick's code for opening vary large text files in Excel
    > '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 = Application.GetOpenFilename
    > '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
    > 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
    >
    >
    > --
    > Harry88
    > ------------------------------------------------------------------------
    > Harry88's Profile: http://www.excelforum.com/member.php...o&userid=35297
    > View this thread: http://www.excelforum.com/showthread...hreadid=555089
    >
    >


  3. #3
    Registered User
    Join Date
    06-11-2006
    Posts
    4
    Thanks, it did work.

+ 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