I have a problem
First, if I open de Txtfile on top of the procedure I get errors
So, I want to try open and closing them again depending on if statements
If someone can do it better, please help
Otherwise I need to know how to open it again and write after the last line
thanks,Richard ([COLOR="Red"]found it! "open for append")[/COLOR]
Code
'''Bestaat uit vier evaluaties nRijen = 1 en nkols = 1
'nRijen = 1
'nKols <> 13
'overig als de eerste drie ONWAAR zijn
Sub ToonFdd()
Const gsTXT_RAPPORT As String = "\RapportTdk.txt"
Const nRijenMax As Long = 65536
Dim wksFormules As Worksheet
Dim nRij As Long, nKol As Integer
Dim nRijen As Long, nKols As Integer
Dim brkTabelStart As Range
Dim brkHuidigeTblStart As Range
Dim brkHuidigeTblStop As Range
Dim brkHuidigeRij As Range
Dim brkHeaders As Range
Set wksFormules = ActiveWorkbook.Sheets("Formules")
Set brkTabelStart = wksFormules.Range("VBATabelInkomsten")
Set brkHuidigeTblStart = brkTabelStart
Dim TxtBestand As String
Dim Data
gsAppDir = ThisWorkbook.Path
TxtBestand = gsAppDir & gsTXT_RAPPORT
Do While brkHuidigeTblStart.Row <> nRijenMax
Set brkHuidigeTblStop = brkHuidigeTblStart.End(xlDown)
nKols = WorksheetFunction.CountA(brkHuidigeTblStart.Rows.EntireRow)
nRijen = brkHuidigeTblStart.CurrentRegion.Rows.Count
Set brkHuidigeRij = brkHuidigeTblStart.Resize(1, nKols)
brkHuidigeRij.Select
brkHuidigeRij.Cells(1).Select
' Dit is een geheel nieuwe sectie, DUS ga weg.
If nRijen = 1 And nKols = 1 Then Exit Sub
If nRijen = 1 Then
Set brkHuidigeTblStop = brkHuidigeTblStart
Open TxtBestand For Output As #1
' Maak hier de titel
Data = brkHuidigeRij.Cells(1)
Write #1, Data
Write #1, ""
For nKol = 2 To nKols
' Data = brkHuidigeRij.Cells(1)
Data = MonthName(nKol - 1)
Write #1, Data;
Data = Application.Intersect(Columns(nKol), brkHuidigeRij)
If IsNumeric(Data) Then Data = Val(Data)
Write #1, Data;
Data = Application.Intersect(Columns(nKol), brkHuidigeRij).Formula
Write #1, Data;
Data = vbnulstring
Write #1, Data
Next
Close #1
Exit Sub
GoTo VolgendeTabel
End If
If nKols <> 13 Then
Debug.Print brkHuidigeRij.Cells(1) '//maak van deze de titel
For nRij = 1 To nRijen
For nKol = 1 To nKols
Debug.Print brkHuidigeRij.Offset(nRij).Cells(nKol)
Next
Next
GoTo VolgendeTabel
End If
Open TxtBestand For Output As #1
Data = brkHuidigeRij.Cells(1).Value '//maak van deze de titel
Write #1, Data
For nRij = 1 To nRijen - 1
Data = brkHuidigeRij.Offset(nRij).Cells(1)
Write #1, Data
Write #1, ""
For nKol = 2 To nKols
'//De betreffende maand
Data = Application.Intersect(Columns(nKol), brkHuidigeRij)
Write #1, Data;
'//De waarde in de cel
Data = Application.Intersect(Columns(nKol), brkHuidigeRij.Offset(1))
If IsNumeric(Data) Then Data = Val(Data)
Write #1, Data;
'//De formule in de cel
Data = Application.Intersect(Columns(nKol), brkHuidigeRij.Offset(1)).Formula
Write #1, Data;
Write #1, vbnulstring
Next
Next
Close #1
'Exit Sub
VolgendeTabel:
' Reset het startpunt naar de volgende deeltabel.
Set brkHuidigeTblStart = brkHuidigeTblStop.End(xlDown)
brkHuidigeTblStart.Select
Loop
End Sub
Display More