bij kopiëren verdwijnt er een formule

Status
Niet open voor verdere reacties.

mnemonic

Gebruiker
Lid geworden
25 mrt 2016
Berichten
114
Hallo,
Ik heb een probleempje met het kopiëren van een gedeelte van blad "Oud" naar "maandag".
Op mijn blad "maandag" staat in kolom S en in kolom AA een zoek formule die nu bij het kopiëren verdwijnt.
Dit mag niet.
Weet iemand hoe ik deze formule aan moet passen??



PHP:
Private Sub CommandButton9_Click()
On Error Resume Next
'Kopieerd van sheet oud naar maandag
   
    
       
    For Each cl In Sheets("OUD").Cells(1).CurrentRegion.Offset(1, 9).Resize(, 25)
      Range(cl.Address).Offset(, 0) = cl.Value
      Range(cl.Address).Offset(, 0).Font.ColorIndex = cl.Font.ColorIndex
    Next cl
    
End Sub

B.v.d. Mnemonic
 
Hier nog het testbestandje
 

Bijlagen

  • testbestand .xlsm
    147,4 KB · Weergaven: 39
De code kopieert niet maar zet alleen de waarden en kleuren naar het ander blad.
 
Ipv van alles cel voor cel te doen kan je toch kopiëren? Zorg er voor dat je geen kringverwijzingen in het bestand hebt.

Code:
IF(Maandag!AH11="";"";Maandag!AH11)
lijkt mij niet correct.

Code:
Private Sub CommandButton9_Click()
  Application.Calculation = xlManual
  Sheets("OUD").Cells(1).CurrentRegion.Offset(1, 9).Resize(, 25).Copy Sheets("Maandag").Cells(2, 10)
  Application.Calculation = xlAutomatic
End Sub
 
Door alles te kopiëren raak ik mijn voorwaardelijke opmaak kwijt.
Kolom J t/m Q moet ik dus op de oude manier doen (zet alleen de waarden en kleuren naar het ander blad) met behoud van mijn voorwaardelijke opmaak.
kolom T2 t/m Y60 En kolom AB2 t/m AH60 mogen wel gekopieerd worden
 
Door in het vak J t/m Q mijn code te gebruiken houd ik mijn voorwaardelijke opmaak.
En door de code van VenA (mijn grote dank hier voor) iets aan te passen lukt het mij om de rest te kopiëren.
Hierdoor is mijn probleem opgelost
M.v.g. Mnemonic:d
 
Als het werkt dan werkt het dus dat is mooi. Wat het nut van Range(cl.Address).Offset(, 0) is ontgaat mij. Een offset van 0 rijen en 0 kolommen doet niet zoveel. Kan je dus ook weglaten.
 
Code:
Private Sub CommandButton9_Click()
'Kopieerd van sheet oud naar maandag
  Sheets("oud").Range("j2").Resize(9, 25).Copy
     With Range("j2")
       .PasteSpecial xlPasteValues   '4163
       .PasteSpecial xlPasteFormats   '-4122
     End With
    Application.CutCopyMode = False
End Sub
 
Bedankt HSV voor het mee denken maar ook nu verdwijnt in kolom S en AA in "maandag" mijn formule.
 
VenA wat jij zegt klopt ik zou deze weg kunnen laten.
Echter bij andere bladen wordt er naar de linkerkant van het blad verwezen ipv het midden zoals hier het geval is.
 
Dan doe je geen 'Resize(9,25)', maar 'resize(9,8)' wat sneller gaat dan elke cel aflopen met de.
Code:
For Each cl In Sheets("OUD").Cells(1).CurrentRegion.Offset(1, 9).Resize(, 25)
      Range(cl.Address).Offset(, 0) = cl.Value
      Range(cl.Address).Offset(, 0).Font.ColorIndex = cl.Font.ColorIndex
    Next cl
 
Om het compleet te maken moet dit voor je werken.
Code:
Private Sub CommandButton9_Click()
'Kopieerd van sheet oud naar maandag
 With Sheets("oud").Range("j2")
     Set c = Range("j2")
       .Resize(9, 8).Copy
          c.PasteSpecial xlPasteValues   '4163
          c.PasteSpecial xlPasteFormats   '-4122
       .Offset(, 9).Resize(9, 17).Copy c.Offset(, 9)
     End With
End Sub
 
Prachtig HSV :thumb: dit werkt goed en snel. TOP.
Maar nu heb ik nog 1 vraagje en dit heeft waarschijnlijk niks met elkaar te maken.
Als nu getallen in ga vullen gebeurd er niks ? pas als ik het bestand op ga slaan gaan al mijn formules werken ??
Waar zou dit aan kunnen liggen.
Bij mijn origineel is alles nog goed
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan