• 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.

macro samenvoegen verwijderen na kopie weer samenvoegen

Status
Niet open voor verdere reacties.

jaclang

Gebruiker
Lid geworden
25 sep 2012
Berichten
30
Ik heb een vraagje over Excel macros.

er zijn twee bestanden 2018 en 2019
in 2019 wil ik een cel T10 uit 2018 halen en plakken in 2019 in cel N34

nu wil het geval dat er wel eens een oudere versie van 2018 is, hierin zijn de cellen N8:T11 samengevoegd
ik kan deze dan wel kopieren maar niet plakken in 2019 in één cel N34.

Hoe kan ik in 2018 N8:T11 het samenvoegen verwijderen T10 kopieren en N8:T11 weer samenvoegen
Of dit stukje code overslaan als er een samenvoeging is en verder gaan met andere taken na de vogende GoToUrenlijst.

De code hieronder werkt uitstekend als de cellen niet zijn samengevoegd.

Er is dus niet altijd van samengevoegde cellen spraken.
wie weet raad?

bij boorbaat mijn dank

GoToUrenlijst verwijst naar een willekeurig Excelbestand. Daarom mogen er altijd maar 2 bestanden open staan.
Code:
GoToUrenlijst
    
    Range("T10").Select
    Application.CutCopyMode = False
    Selection.Copy
    ThisWorkbook.Activate
    Range("N34").Select
    Selection.ClearContents
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
 
Hiermee maak je het samenvoegen ongedaan:

Code:
Sub Macro1()
Range("N8:T11").Select
        Selection.UnMerge
End Sub

Samengevoegde cellen zijn een crime in bewerkingen binnen Excel, zowel formules als VBA, dus het verdient altijd aanbeveling ze te vermijden

Code:
Sub Macro1()
Range("N8:T11").UnMerge
End Sub
 
Laatst bewerkt:
jaclang,

zou dit een idee zijn:
Code:
    Range("T10").Select
    If Selection.MergeCells Then
        samen = 1
        Selection.UnMerge
        Range("T10").Select
    End If
    Application.CutCopyMode = False
    Selection.Copy
    ThisWorkbook.Activate
    Range("N34").Select
    Selection.ClearContents
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    If samen Then
        samen = 0
        Range("N8:T11").Merge
    End If
 
GoToUrenlijst verwijst naar een willekeurig Excelbestand. Daarom mogen er altijd maar 2 bestanden open staan.
lijkt mij niet waar.

Vermijd het gebruik van Select en Activate. Plaats volledige code en voorbeeldbestanden.


Code:
Sub VenA()
  ThisWorkbook.Sheets(1).Range("N34") = IIf(Range("T10").MergeCells, Range("N8").Value, Range("T10").Value)
End Sub
 
Laatst bewerkt:
Gelukt

Geweldig:D

Het is gelukt met het 2e antwoord
ik heb alleen de volgorde wat aangepast en dit werkt perfect

bedank
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan