Avatar billede bpoul Nybegynder
25. oktober 2013 - 10:14 Der er 2 kommentarer og
1 løsning

Subscript out of range

Hej alle,

Jeg har et problem i forbindelse med et lille Excel (Office 2010) VBA stykke kode. Jeg før en "Run time error 9; Subscript out of range" fejl i linjen med "Range("AB" & j, "AI" & j).Copy Workbooks("I:\2care4 ApS\Kalkulationer\Produktforespørgsler\nyeForespørgsler.xlsm").Sheets(i).Range("A" & fundne)".

Jeg har prøvet en række forskellige løsninger så som at aktivere nyeProdukter før jeg paster, diverse variationer over adressen, men fejlen er konstant den samme. Navnet og adressen er korrekt, det er copy/paste.

Sub hentForespørgsler()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim lastRow As Integer
Dim denneSti As String
Dim sourceFil As String
Dim targetFil As String
Dim fundne As Integer

denneSti = "I:\2care4 ApS\Kalkulationer\Produktforespørgsler\"
sourceFil = denneSti & "Produktforespørgsler vs2.xlsx"
targetFil = denneSti & "nyeForespørgsler.xlsm"


'        lastRow = sourceFil.Cells.Find("*", searchorder:=xlByRows, _
            LookIn:=xlValues, searchdirection:=xlPrevious).Row
        For i = 1 To 22
            fundne = 2
            For j = 2 To 1000
                If Cells(j, i + 5) = "x" Then
                    Range("AB" & j, "AI" & j).Copy Workbooks("I:\2care4 ApS\Kalkulationer\Produktforespørgsler\nyeForespørgsler.xlsm").Sheets(i).Range("A" & fundne)
                    fundne = fundne + 1
                End If
           
            Next j
        Next i

'sourceFil.Close False
End Sub

Jeg håber spørgsmålet er præcist nok, men ellers må i endeligt spørge.
Avatar billede tjp Mester
25. oktober 2013 - 11:59 #1
Har du tjekket hvad 'i', 'j' og 'fundne' har af værdier på fejltidspunktet? Det må jo næsten være én af dem der peger på noget som ikke er... :-)
Avatar billede bpoul Nybegynder
25. oktober 2013 - 12:33 #2
Hej tjp,
Ja, det er ikke der problemet ligger. j ligger på 802, i på 1 og fundne på 2.
Når jeg skiller copy/paste linjen ad:
Range("AB" & j, "AI" & j).Copy
Workbooks("I:\2care4 ApS\Kalkulationer\Produktforespørgsler\nyeForespørgsler.xlsm").Activate
Sheets(i).Range("A" & fundne).Paste

så er det rigtige Range kopieret fra Produktforespørgsler. Fejlen må ligge i Workbooks("I:\2care4 ApS\Kalkulationer\Produktforespørgsler\nyeForespørgsler.xlsm") - men jeg kan ikke finde den....
Avatar billede bpoul Nybegynder
14. november 2013 - 13:18 #3
Desværre ikke noget svar på denne. Jeg har fundet en alternativ løsning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester