range van cellen werkt niet

Status
Niet open voor verdere reacties.

barrytas

Gebruiker
Lid geworden
5 jan 2015
Berichten
13
Heb een stukje code waarbij enkele 10-tallen workbooks regelmatig moeten worden uitgelezen.

Hieronder stukje van de code, als ik per uit te lezen cel de waarde ophaal zoals hieronder werkt dat :
DoelSheet.Cells(RijLoper + 6, 31) = BronSheet.Range("d12")
DoelSheet.Cells(RijLoper + 6, 32) = BronSheet.Range("e12")
DoelSheet.Cells(RijLoper + 6, 33) = BronSheet.Range("f12")


Maar als ik er een range van maak dan werkt het niet meer:
DoelSheet.Range(Cells(RijLoper + 6, 31), Cells(RijLoper + 6, 33)) = BronSheet.Range(Cells(12, 4), Cells(12, 7))

Weet iemand een oplossing?

Alvast bedankt.
 
Code:
[I]DoelSheet.Range(Cells(RijLoper + 6, 31), Cells(RijLoper + 6, 33)) = BronSheet.Range(Cells(12, 4), Cells(12, 7))[COLOR=#FF0000].Value[/COLOR][/I]
 
Harry,

Dank voor je snelle antwoord. Ben er vanmorgen weer mee aan de slag gegaan en het lukt nog niet. Heb gemakshalve hieronder de hele code erin geplakt. Dat werkt, maar is niet echt efficient (moet nog 4 van die blokken maken). Jouw advies om hiervan te maken:
"DoelSheet.Range(Cells(RijLoper + 6, 1), Cells(RijLoper + 6, 10)) = Bronsheet.Range("c3:c12").value" werkt echt niet. Krijg als foutmelding: "Fout 1004 tijdens uitvoering: Methode Range van ibject _Worksheet is mislukt".

Is dit op te lossen?

Code:
Sub OpenLeesSluitFiles()
    Const BronPad As String = "C\Suppliers"
    Dim BronBoek As String, BronPadBoek As String
    Dim BronSheet As Worksheet
    Dim DoelSheet As Worksheet
    Dim RijLoper As Long
    
    Set DoelSheet = ActiveWorkbook.Worksheets(1)
    DoelSheet.Range("A7:Z999").ClearContents 
    BronBoek = Dir(BronPad & "*.xls") ' eerste bronboek lezen
    RijLoper = 1

    Do Until BronBoek = ""
        BronPadBoek = BronPad + BronBoek
        Workbooks.Open Filename:=BronPadBoek, ReadOnly:=True
        Set BronSheet = ActiveWorkbook.Worksheets(2)
        
              DoelSheet.Cells(RijLoper + 6, 1) = BronSheet.Range("c3")
        	DoelSheet.Cells(RijLoper + 6, 2) = BronSheet.Range("c4")
        	DoelSheet.Cells(RijLoper + 6, 3) = BronSheet.Range("c5")
        	DoelSheet.Cells(RijLoper + 6, 4) = BronSheet.Range("c6")
        	DoelSheet.Cells(RijLoper + 6, 5) = BronSheet.Range("c7")
        	DoelSheet.Cells(RijLoper + 6, 6) = BronSheet.Range("c8")
              DoelSheet.Cells(RijLoper + 6, 7) = BronSheet.Range("c9")
              DoelSheet.Cells(RijLoper + 6, 8) = BronSheet.Range("c10")
        	DoelSheet.Cells(RijLoper + 6, 9) = BronSheet.Range("c11")
        	DoelSheet.Cells(RijLoper + 6, 10) = BronSheet.Range("c12")
                
        ActiveWorkbook.Close SaveChanges:=False
        BronBoek = Dir ' volgende bronboek lezen
        RijLoper = RijLoper + 1
    Loop
    ' Application.ScreenUpdating = True
End Sub

=================
 
Laatst bewerkt:
Niet gezien dat de bereiken ongelijk van grootte waren.

Zo zou het goed moeten komen (punten die naar het blad verwijzen), anders je bestandje er maar bij doen.
Code:
with DoelSheet
.range(.Cells(RijLoper + 6, 1), .cells(rijloper + 6, 10)) = application.transpose(BronSheet.Range("c3:c12").value)
end with
 
En nu nog even VBA code tussen code-tags zetten !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan