Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
Can someone please help to fix & improve this code? Data files below with two questions: Option Explicit Type RecordIn AccNo As String * 3 Com1 As String * 1 TrxName As String * 4 Com2 As String * 1 EffDate As String * 10 LineFeed As String * 2 End Type Type RecordOut AccNo As String * 3 TrxName As String * 4 EffDate As String * 10 Ind As String * 3 LineFeed As String * 2 End Type Sub Button3_Click() Dim MyRecIn As RecordIn Dim MyRecOut As RecordOut Dim f As Integer Dim g As Integer Dim CurrAcc As String Dim CurrTrx As String Dim CurrDt As String Dim OutAcc As String Dim OutTrx As String Dim OutDt As String Dim OutInd As String Dim OutAcc1 As String Dim OutTrx1 As String Dim OutDt1 As String Dim i As Integer Dim r As Long f = FreeFile g = FreeFile Open "c:\hil\inpn.txt" For Random As #f Len = Len(MyRecIn) g = FreeFile Open "c:\hil\out.txt" For Random As #g Len = Len(MyRecOut) r = 0 Do Until EOF(f) r = r + 1 Get #f, r, MyRecIn CurrAcc = MyRecIn.AccNo CurrTrx = MyRecIn.TrxName CurrDt = MyRecIn.EffDate Do Until MyRecIn.AccNo < CurrAcc Get #f, r, MyRecIn MyRecOut.AccNo = MyRecIn.AccNo MyRecOut.TrxName = MyRecIn.TrxName MyRecOut.EffDate = MyRecIn.EffDate MyRecOut.Ind = MyRecIn.TrxName Put #g, r, MyRecOut OutAcc = MyRecOut.AccNo OutTrx = MyRecOut.TrxName OutDt = MyRecOut.EffDate OutInd = MyRecOut.Ind r = r + 1 Loop r = r - 2 Get #f, r, MyRecIn OutAcc1 = MyRecIn.AccNo OutTrx1 = MyRecIn.TrxName OutDt1 = MyRecIn.EffDate If MyRecIn.TrxName < "Curr" Then MyRecOut.AccNo = MyRecIn.AccNo MyRecOut.TrxName = MyRecIn.TrxName MyRecOut.EffDate = MyRecIn.EffDate MyRecOut.Ind = "Off" Put #g, r, MyRecOut End If Loop Close #f Close #g MsgBox ("End of Run") End Sub Input file: 001,Prev,31/12/2003 001,Curr,31/12/2004 002,Prev,31/12/2003 002,PI ,01/01/2004 003,Prev,31/12/2004 Output file: 001Prev31/12/2003Pre 001Curr31/12/2004Cur 002Prev31/12/2003Pre 002PI 01/01/2004Off 003Prev31/12/2004Off * * The last record is incorrect - should show "Pre". There is also an extra output "record" just made up of spaces - ends where the asterisk is. This must not appear. Would also like commas between the output data fields. Thanks Hilton |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
split post code (zip code) out of cell that includes full address | Excel Discussion (Misc queries) | |||
Code to conditional format all black after date specified in code? | Excel Discussion (Misc queries) | |||
Drop Down/List w/Code and Definition, only code entered when selec | Excel Worksheet Functions | |||
option buttons run Click code when value is changed via VBA code | Excel Programming | |||
VBA code delete code but ask for password and unlock VBA protection | Excel Programming |