Wat in office2003 wel werkt, werkt niet in office 2012

  • Onderwerp starter Onderwerp starter HWV
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.213
Beste,

Ik kom het volgende probleem tegen, ik verzamel gegevens vanuit de map Omzet per accountmanager opslag.
Maar nu kopieer hij het niet meer, enkel als ik dit er tussen zet:

Code:
Windows("Totaal Omzet.xls").Activate
Sheets("Omzet").Select

Na de regel :

Code:
Range("B7").End(xlDown).Offset(1, -1).EntireRow.Copy

Maar dan kom ik niet meer terug naar de scheet die actief was, ivm dat dit een variable sheet is

Hiernder het stukje script wat ik hiervoor gebruikt
Code:
'verzamelen gegevens
    c0 = Dir("P:\automatisering\PPPP Omzet\Omzet per accountmanger opslag\*.xls")
    Do
                 
      With Workbooks.Add("P:\automatisering\PPPP Omzet\Omzet per accountmanger opslag\" & c0)

'==========================
    
Range("B7").End(xlDown).Offset(1, -1).EntireRow.Copy

Workbooks("Totaal Omzet.xls").Sheets("Omzet").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues

ActiveSheet.Range("B2").Copy
Workbooks("Totaal Omzet.xls").Sheets("Omzet").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial xlValues
'==========================

.Close ''False
      
      End With
      c0 = Dir
    Loop Until c0 = ""

Hoe kan ik dit werkend krijgen, ik kom er even niet uit.

Alvast bedankt

HWV
 
Wat als je de target direct achter de copy zet en geen paste gebruikt? Ik ben nog commerciële rollout van office 2012 tegengekomen, dus er is nog weinig informatie over hoe en wat
 
Bedankt voor je reactie.
Ik heb deze code van SNB gekregen, en heb daar de aanpassingen in gedaan.
Kan je misschien iets duidelijker aangeven wat je bedoel, ik weet wel iets hoe je moet aanpassen maar bij loopt hij niet goed hij slaat alles over

Code:
Range("B7").End(xlDown).Offset(1, -1).EntireRow.Copy = Workbooks("Totaal Omzet.xls").Sheets("Omzet").Range("A" & Rows.Count).End(xlUp).Offset(1).xlValues

ActiveSheet.Range("B2").Copy = Workbooks("Totaal Omzet.xls").Sheets("Omzet").Range("A1").End(xlDown).Offset(1, 0).xlValues

Alvast bedankt

HWV
 
Volgens mij ben je wat punten vergeten:

Code:
sub snb()
  c00="P:\automatisering\PPPP Omzet\Omzet per accountmanger opslag\"
  c01 = Dir(c00 & "*.xls")

  Do
    With Workbooks.Add(c00 & c01)
      .Range("B7").End(xlDown).Offset(1, -1).EntireRow.Copy
      Workbooks("Totaal Omzet.xls").Sheets("Omzet").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues
      .Range("B2").Copy
      Workbooks("Totaal Omzet.xls").Sheets("Omzet").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial xlValues
      .Close False
    End With
    c01 = Dir
  Loop Until c01 = ""
end sub

Is dit een typefout ?

="P:\automatisering\PPPP Omzet\Omzet per accountmanager opslag\"
 
zoiets?

Code:
ActiveSheet.Range("B2").Copy Workbooks("Totaal Omzet.xls").Sheets("Omzet").Range("A1").End(xlDown).Offset(1, 0)
 
Bedankt voor de reactie.

HIer met 2010 wil het niet werken hij kopieer niet de laatste regel in de sheet
Ik zal het thuis nog even proberen met excel 2007, ik hou jullie op de hoogte

Groet HWV
 
ik denk dat deze doet wat je wil:
Code:
sub snb()
  c00="P:\automatisering\PPPP Omzet\Omzet per accountmanger opslag\"
  c01 = Dir(c00 & "*.xls")

  Do
    With Workbooks.Add(c00 & c01)
      .Range("B7").End(xlDown).EntireRow.Copy
      Workbooks("Totaal Omzet.xls").Sheets("Omzet").cells(rows.Count,1).End(xlUp).Offset(1).PasteSpecial xlValues
      Workbooks("Totaal Omzet.xls").Sheets("Omzet").cells(rows.count,1).End(xlUp).Offset(1).value=.Range("B2").Value
      .Close False
    End With
    c01 = Dir
  Loop Until c01 = ""
end sub
 
Beste SNB,

Bedankt voor de snelle reactie.
Wat doet de code nu:

Openen van het eerste bestand uit de map
c00="P:\automatisering\PPPP Omzet\Omzet per accountmanger opslag\"
maar hij kopieer niet de laatste regel van het werkblad naar :
Code:
Workbooks("Totaal Omzet.xls").Sheets("Omzet").cells(rows.Count,1).End(xlUp).Offset(1).PasteSpecial xlValues
tevens doet hij ook niks met de volgende regel:
Code:
 Workbooks("Totaal Omzet.xls").Sheets("Omzet").cells(rows.count,1).End(xlUp).Offset(1).value=.Range("B2").Value
Hij sluit daarna netjes het bestand en ga dan naar het volgende bestand in de map.

Groet HWV
 
Dan denk ik dat je toch eens dat bestand dat wordt geopend aan een nadere inspectie moet onderwerpen.
Plaats het eens hier.

De 'laatste' regel zou ik niet zoeken met
.Range("B7").End(xlDown).EntireRow.Copy

maar met:

Code:
Workbooks("Totaal Omzet.xls").Sheets("Omzet").cells(rows.Count,1).End(xlUp).Offset(1).resize(,20) =.cells(rows.count,1).end(xlup).resize(,20).value
 
Laatst bewerkt:
Oké bedankt ik ga het bekijken

Groet HWV
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan