• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Kopiëren naar ander gesloten werkblad, VBA code aanpassen

Status
Niet open voor verdere reacties.

samabert

Gebruiker
Lid geworden
27 mrt 2010
Berichten
308
Hallo Forumleden,

Volgende code die ik hier op het forum heb gekregen en die een range kopieert naar een ander gesloten werkblad werkt volledig.
Code:
Option Explicit

Sub Kopie()
    Dim wbDst As Workbook
    Dim Br
    On Error Resume Next
    Application.ScreenUpdating = False

    
   
    Set wbDst = Workbooks.Open("C:\Users\dispatching\Music\Backup_Test.xlsm", Password:="3605", WriteResPassword:="3605")

    For Each Br In Application.GetCustomListContents(13)
        With wbDst.Sheets(Br)

                .Unprotect Password:="3605"
           
            
            ThisWorkbook.Sheets(Br).Range("A1:AL29").Copy .Range("A" & Rows.Count).End(xlUp).Offset(3)
            

            
                .Protect Password:="3605"


        End With
    Next
    Application.ScreenUpdating = True

    wbDst.Close True

End Sub



Mijn vraag:
Hoe pas je deze code aan zodat telkens de vorige cellen overschreven worden. Dus zonder End(xlUp).
Offset (3) moet blijven.

Alvast bedankt.
Marc
 
Niet helder.
Ik gok maar wat
Code:
...
    ThisWorkbook.Sheets(Br).Range("A1:AL29").Copy .Range("A4:AL32")
...
 
Hi Timshel,

Goed gegokt, het werkt helemaal. :thumb:
Vorige code is trouwens ook van jou.

Bedankt voor de hulp.

Marc
 
Zonder 'beveiliging'

Code:
Sub M_snb()
  with getobject("C:\Users\dispatching\Music\Backup_Test.xlsm")
    For Each it in Application.GetCustomListContents(13)
      .Sheets(it).Range("A4:AL32")=ThisWorkbook.Sheets(it).Range("A1:AL29").value
    Next
    .close -1
  end with
End Sub
 
snb,

Ik heb uit interesse jouw code ook getest.
Er lijkt gekopieerd te worden, daarna kan ik het back-up werkboek openen maar alles is geblokkeerd, zelfs de werkbalken?

Ik ga verder met de oplossing van Timshel.
Toch ook bedankt voor jouw bijdrage.

Marc
 
Je wilde toch 'beveiligen' ?

Code:
Sub M_snb()
  with getobject("C:\Users\dispatching\Music\Backup_Test.xlsm")
    For Each it in Application.GetCustomListContents(13)
      .Sheets(it).Range("A4:AL32")=ThisWorkbook.Sheets(it).Range("A1:AL29").value
    Next
    .visible=true
    .close -1
  end with
End Sub
 
snb,

Met nogmaals jouw eerste code te testen, merk ik dat mijn melding van een geblokkeerd werkboek niet juist was.:o
Rechtstreeks openen van het werkboek, Via Beeld/zichtbaar maken is alles zichtbaar.
Ik zie nu hoe het in zijn werk gaat, lijkt veel sneller te gaan dan mijn vorige code.

Ik heb wel nog een vraag:

Wat doet .Close -1? Kan hier niets over terugvinden.

Bedankt.
Marc
 
In VBA is True gelijk aan -1

Code:
Sub M_snb()
   MsgBox 1 * True
   MsgBox 0 + True
   MsgBox --True
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan