PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAKörfel nr 6 SpillKörfel nr 6 Spill
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2020-11-10 18:20
 

 Hej,

Jag har ett macro som kör en rapport från vårt affärssytem till en textfil som jag sedan hämtar in till Excel. Jag får dock körfel 6 när Excel hämtat exakt 32767 rader från textfilen. 

Den del i koden som verkar vara fel är intRad = intRad + 1. Men varför - och varför klarar jag mig till 32767 rader men inte mer? 

    With objGarp.ReportGenerators.Item("265").Reports.Item("Jö")

        .Medium = "D"

        .FilePath = "G:\offertlistaja.txt"

        .RangeFrom = ordernrFrom

        .RangeTo = ordernrTom

        .SetDialogResponse "1=prel,2=def,3=kopia", prel

        .SetDialogResponse "Kundnummer from....:", kundnrFrom

        .SetDialogResponse "Kundnummer tom.....:", kundnrTom

        .SetDialogResponse "Orderdatum from....:", OrddatFrom

        .SetDialogResponse "Orderdatum tom.....:", OrddatTom

        .Run

        .Wait

    End With

    

    intRad = 9

    'Läs filen som skapats från Garp

    Open "G:\offertlistaja.txt" For Input As #1

    Do Until (EOF(1))

        Line Input #1, strRad

        If (Mid(strRad, 78, 1) = ">") Then

                'Midstr(värde, startposition, längd)

            Range("A" & intRad).Value = Mid(strRad, 3, 6)  'Ordernr

            Range("F" & intRad).Value = Mid(strRad, 10, 60) 'Orderradstext

            Range("G" & intRad).Value = Mid(strRad, 70, 5) 'Orderradsnr

            intRad = intRad + 1

            End If

    Loop

    Close

            

Nytt inlägg
 2020-11-11 08:00
 

 Hej hej

Du har juh mer eller mindre redan svarat på det :). Intar (16bit) kan inte hålla större tal än just 32767. Bara att ändra till en long istället. 

Dim intrad as long

Jag hade nog passat på att ändra namngivningen med :), till lngRad eller lngRow. 

Mvh

CHristian

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAKörfel nr 6 SpillKörfel nr 6 Spill

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter