View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Reading from file

Fix you clock - it isn't december yet.

--
Regards,
Tom Ogilvy
Asif wrote in message
...
Thanks very much, Dan. You explained it very well. But can you explain why
the y-values are slightly different from what they were originally (in the
file)?


Dan E wrote in message ...
Dim xvals(100) As Single
Dim yvals(100) As Single
Dim npts As Integer
' Dimension variables used in the code, due to the dimensioning of
' xvals and yvals as array's with 101 items, this code will work for text
' files with up to 101 data points.


Sub GetDataFromDisk()
' Open a text file named "Task2.2.dat" from the same directory as
' the current excel file is in...
Open ThisWorkbook.Path + "\Task2.2.dat" For Input As #1
' Get the first line (assumed to be a title)
Line Input #1, Title$
' Put the title in cell A1
Cells(1, 1) = Title$
' Get the second line (assumed to be column headers)
Input #1, xtit$, ytit$
' Put the column headers in A2 and B2
Cells(2, 1) = xtit$
Cells(2, 2) = ytit$
' Set the number of data points to 0
npts = 0
' While their is still data in the file do . . .
While Not EOF(1)
' Increment points counter
npts = npts + 1
' Get an x and y
Input #1, xvals(npts), yvals(npts)
' Put them in cells A(2+counter) and B(2+counter)
Cells(2 + npts, 1) = xvals(npts)
Cells(2 + npts, 2) = yvals(npts)
' Loop
Wend
' Close the open file
Close #1
End Sub
========================

And this is what I got (look at the y-values):
x-valuesy-values
0 1.39999997615814
1 4.30000019073486
2 6.19999980926513
3 5.09999990463256
4 6.40000009536743
5 7.69999980926513
6 7.90000009536743
7 8.39999961853027
8 7.30000019073486
9 6.19999980926513
10 9.10000038146972


Note: I've seen much better code than this!

Dan E