Kopyalamayı otomatikleştirmenin ve kopyalanan hücreleri eklemenin bir yolu var mı?


-3

Temel olarak, satırları kopyalamak ve sonra kopyalanan satırları eklemek için basit bir işlemi otomatikleştirmem gerekiyor. Excel'de satırları vurgularım ve sonra da sağ tıklayıp kopyalanan hücreleri eklemek isabet.

Kopyaladığım veriler her zaman satırlar halindedir 127:138ve satır başlangıcına kopyalamak istiyorum 143. Bu, satırları aşağıya doğru iteceği için “kopya hücreleri yerleştirmem” önemlidir, bu makroyu tekrar tekrar çalıştıracağım ve sonunda bir listeyle sonuçlanacak şekilde yapmak istiyorum.


2
Biz bir kod yazma servisi değiliz.
Ramhound

1
@Ramhound çok dar görünmüyor. Burada hiçbir VBA komut dosyası özelliği gerekmez.
LPChip

1
Süper Kullanıcı Clinton'a Hoş Geldiniz! Sorunuzu düzelttim çünkü kod talebine dayanarak yakın oy çekiyordu. Düzenlemeden memnun değilseniz, geri dönebilir veya kendiniz düzenleyebilirsiniz . LPChip'in çözümü sizin için işe yararsa, soruyu yanındaki onay işaretini tıklayarak cevabı kabul etmekten çekinmeyin :)
bertieb

Yanıtlar:


3

Gerçekten de bunun için bir makroya ihtiyacınız olsa da, Excel'in yerleşik bir Makro kaydediciye sahip olduğunu unutursunuz.

Yapmanız gereken eylem her zaman aynıysa ve dinamik bir durum yoksa, bunu oluşturmak için VBA'yı gerçekten anlamanıza gerek yoktur.

Makro kayıt düğmesini yukarıdaki araç çubuğunda bulmanız, yapmak istediğiniz eylemleri baştan sona gerçekleştirmeniz ve ardından durdur düğmesine basmanız yeterlidir.

Daha sonra bir klavye kısayolu atayabilir, hatta bir araç çubuğu düğmesi oluşturabilir ve makronuzu buna atayabilirsiniz. (veya makroyu, kayıt düğmesini bulduğunuz makro araç çubuğundan başlatın)


1
İyi yaklaşım, +1!
dostum

1

Belirtilen Satırları Kopyala ve kopyalanan Satırları Yapıştırmak için Hücre işaretçisini belirli bir satıra taşımak için aşağıda yazılı VBA kodunu kullanırsınız.

Option Explicit

Public Sub CopyRows()

    Dim rngSource   As Range
    Dim rngTarget   As Range

    With Worksheets(1)
        Set rngSource = .Range("A127:A138")
        Set rngTarget = .Range("A143")

        rngSource.Copy

        rngTarget.EntireRow.Insert Shift:=xlDown
        rngTarget.PasteSpecial xlPasteAll
        Application.CutCopyMode = False
    End With

End Sub

NB: Bu kod, buraya gönderilmeden önce benim tarafımdan test edildi.

Umarım bu size yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.