Cellen kopieren

Status
Niet open voor verdere reacties.

Scryf

Gebruiker
Lid geworden
4 mei 2012
Berichten
9
Hallo Allemaal,

Ik heb een calculatie bestand gemaakt welke een overzicht weergeeft van de ingevulde gegevens. Dit overzicht wil ik kopieren naar bijvoorbeeld E-mail / Word. De cellen in het werkblad heeft een achtergrond kleur. In de E-mail moet de tabel zichtbaar zijn zonder achtergrondkleur.

Het selecteren en kopieren van de cellen is geen probleem:
Code:
Sub copy()
       Range("B3:G18").Select
       Selection.Copy
End Sub

Het aanpassen van de achtergrondkleur en vervolgens deze selecteren en kopieren is me ook nog gelukt:
Code:
Sub copy()       
 Range("B3:G18").Interior.Color = RGB(255, 255, 255)
 Range("B3:G18").Select
 Selection.Copy
End Sub

Er zijn alleen 2 dingen waar ik tegenaan loop. Wanneer ik de volgende code gebruik dan wordt de achtergrond eerst wit en dan weer de zelfde kleur als de rest alleen wanneer ik dan dit probeer te plakken zijn de cellen niet meer wit. Kan dit op een betere/makkelijkere manier?
Code:
Sub copy()       
 Range("B3:G18").Interior.Color = RGB(255, 255, 255)
 Range("B3:G18").Select
 Selection.Copy
 Range("B3:G18").Interior.Color = RGB(199, 199, 255)
End Sub

het 2de probleem waar ik tegen aan loop is dat ik de tabbladen heb beveiligd tegen aanpassen. Ik heb de selectie toegevoegd om door gebruikers aan te kunnen passen ik blijf alleen een compilatiefout houden op de Interior.Color code. Ik heb geprobeerd om het wachtwoord er eerst af te halen de achtergrond aan te passen en de tekst te kopieren. Alleen ook hier geeft Excel een Compilatiefout.

Code:
Sub copy()
For Each ws In ActiveWorkbook.Sheets
    If ws.ProtectContents = True Then
        ws.Unprotect Password:="wachtwoord"
   End If 
       Range("B3:G18").Interior.Color = RGB(255, 255, 255)
       Range("B3:G18").Select
       Selection.Copy
    If ws.ProtectContents = False Then
        ws.Protect Password:="wachtwoord"
    End If
Next ws
End Sub

Kan iemand mij hiermee helpen?

Alvast bedankt voor de moeite!

Gr. Mark
 
Laatst bewerkt:
Mark,

Om de interior color te verwijderen kun je het kopiëren vervangen door kopiëren speciaal, waarden. Dan ben je de achtergrond kleur kwijt.
Als je dat ook doet in een ander (niet beveiligd bestand) is ook de beveiliging geen probleem meer.

Veel Succes.
 
Ik heb geprobeerd om iets over het kopiëren speciaal te vinden. Hier kan ik echter niks op vinden. Het enige wat ik heb kunnen vinden is om alleen de values te kopiëren naar klembord. Dit is ook niet wat ik bedoel. De tabel moet wel blijven bestaan alleen de achtergrondkleur moet verdwijnen.

Alvast bedankt!
 
Scryf,

Ik bedoel het volgende, kopieer uit het beveiligde bestand bijvoorbeeld de cellen A1 t/m C9.
Plak daarna in het onbeveiligde bestand de opmaak (Formats) en de waarden (Values)
Verwijder daarna de kleur uit de aangegeven reeks.
Het kopieren van de formules is niet handig omdat je hier toch niets mee kan als je de gegevens in
word wil plakken of in een e-mail bericht.

Code:
Workbooks("Beveiligd").Range("A1:C9").copy
Workbooks("Onbeveiligd").Range("A1:C9").PasteSpecial Paste:=xlPasteFormats
Workbooks("Onbeveiligd").Range("A1:C9").PasteSpecial Paste:=xlPasteValues
Workbooks("Onbeveiligd").Range("A1:C9").Interior.Color = RGB(255, 255, 255)

Veel Succes.
 
Beste Elsendoorn,

Dit was exact wat ik zocht. Ik heb i.p.v. Workbooks( wel Sheets( gebruikt. Bij Workbooks kreeg ik de fout dat het subscript buiten het bereik viel.

Enorm bedankt!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan