Note: The other languages of the website are Google-translated. Back to English

Bir sütundaki hücre değerine göre satırları nasıl çoğaltabilirim?

Örneğin, D sütunundaki sayıların bir listesini içeren bir veri aralığım var ve şimdi, aşağıdaki sonucu elde etmek için D sütunundaki sayısal değerlere dayalı olarak tüm satırları birkaç kez çoğaltmak istiyorum. Excel'deki hücre değerlerine göre satırları birden çok kez nasıl kopyalayabilirim?

doc, satırları 1 hücreye göre yinele

VBA kodu ile hücre değerlerine göre satırları birden çok kez çoğaltın


ok mavi sağ balon VBA kodu ile hücre değerlerine göre satırları birden çok kez çoğaltın

Tüm satırları hücre değerlerine göre birden çok kez kopyalamak ve çoğaltmak için aşağıdaki VBA kodu size yardımcı olabilir, lütfen şu şekilde yapın:

1. Basılı tutun ALT + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. tıklayın Ekle > modülve aşağıdaki kodu modül Pencere.

VBA kodu: Hücre değerine göre satırları birden çok kez çoğaltın:

Sub CopyData()
'Updateby Extendoffice
    Dim xRow As Long
    Dim VInSertNum As Variant
    xRow = 1
    Application.ScreenUpdating = False
    Do While (Cells(xRow, "A") <> "")
        VInSertNum = Cells(xRow, "D")
        If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
           Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
           Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
           Selection.Insert Shift:=xlDown
           xRow = xRow + VInSertNum - 1
        End If
        xRow = xRow + 1
    Loop
    Application.ScreenUpdating = False
End Sub

3. Daha sonra tuşuna basın. F5 Bu kodu çalıştırmak için anahtar, ihtiyacınız olan D sütunundaki hücre değerine bağlı olarak tüm satırlar birden çok kez çoğaltılmıştır.

not: Yukarıdaki kodda, harf A veri aralığınızın başlangıç ​​sütununu ve harfini gösterir D satırları temel alarak çoğaltmak istediğiniz sütun harfidir. Lütfen bunları ihtiyacınıza göre değiştirin.


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (41)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu mükemmel çalıştı. '0' ile herhangi bir satırın kaybolması için kodunuza ne eklerdim? Bunu SKU etiketleri için kullanıyoruz. Harika çözüm için teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Seni seviyorum. Teşekkür ederim.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Teşekkür ederim! 10. ve 11. satırlar "D" satırın sonunu belirtir ve bunun çalışması için veri aralığınıza değiştirilmesi gerekebilir.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,
Birisi bu VBA kodunu Google Apps komut dosyalarına (google sayfaları) dönüştürmeyi biliyor mu?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika çalışan yukarıdaki kodu kullandım ancak satır yapıştırıldıktan sonra bir adıma daha ihtiyacım var. Sadece düzgün çalışmasını sağlayamıyorum. Yapıştırıldıktan sonra satırdaki "N" sütununa sıfır koymam gerekiyor, ancak orijinal kopyalanan satırda "N" içindeki değeri tutmam gerekiyor.


Sub CopyData ()
'güncelleme Extendoffice 20160922
xRow'u Uzunlukta Karart
Varyant olarak Dim VInsertNum
xSatır = 1
Application.ScreenUpdating = Yanlış
Süre Yap (Cells(xRow, "A") <> "")
VInSertNum = Hücreler(xRow, "J")
Eğer ((VInSertNum > 1) Ve IsNumeric(VInSertNum)) ise
Aralık(Hücreler(xRow, "A")), Hücreler(xRow, "AN")).Kopyala
' Cells(xRow, 14).Value = 0 bu tüm satırları yaptı
Aralık(Hücreler(xRow + 1, "A")), Hücreler(xRow + VInSertNum - 1, "AN")).Seçin
'Hücreler(xRow, 14).Değer = 0
'bu tüm satırları yaptı
Selection.Insert Shift: = xlDown
' Cells(xRow, 14).Value = 0 bu yalnızca ilk satırı yaptı
xRow = xRow + VInSertNum - 1
'Hücreler(xRow - 1, 14).Değer = 0
Eğer son
' Cells(xRow - 1, 14).Value = 0
xSatır = xSatır + 1
' Hücreler(xRow + 1, 14).Değer = 0
döngü
'Cells(xRow, 14).Value = 0 bu satır yok
Application.ScreenUpdating = Yanlış
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Steve, bunu yapabildin mi? benim ihtiyacım biraz aynı :(
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba beyler,
Belki aşağıdaki makale size yardımcı olabilir, lütfen kontrol edin:
https://www.extendoffice.com/documents/excel/3682-excel-copy-and-insert-row-multiple-times.html
Bu yorum sitedeki moderatör tarafından en aza indirildi
d hücresinin 'Evet' içerip içermediğine bağlı olarak, satırı yalnızca bir kez çoğaltmak için kodun ne olacağını biliyor musunuz - Benzer kodu kovalıyordum, ancak evet diyen bir hücreye dayalı olarak bir satırı çoğaltacak bir şey için
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu yüzden bu kodu kullanıyorum ama sadece 1. satır veya xRow = 1 ile gösterilen her şeyi değil tüm belgeyi aramasını istiyorum. 1:2000 aralığına koymaya çalışıyorum ama çalışmıyor. Aşağıdaki kodda tanımladığım bilgileri içeren sayfadaki xRow = herhangi bir satırı nasıl tanımlayabilirim?


xRow'u Uzunlukta Karart
Varyant Olarak Dim Değeri


xSatır = 1: 2000

Application.ScreenUpdating = Yanlış
Süre Yap (Cells(xRow, "A") <> "")
Değer = Hücreler(xRow, "D")
Değer2 = Hücreler(xRow, "A")
Değilse ((Değer = "genel allegheny") Ve IsNumeric(Value2 = G0202)) O zaman
Aralık(Hücreler(xRow, "A")), Hücreler(xRow, "D")).Kopyala
Aralık(Hücreler(xRow + 1, "A")), Hücreler(xRow + 1, "D")).Seçin
Selection.Insert Shift: = xlDown
xSatır = xSatır + 1
Eğer son
xSatır = xSatır + 1
döngü
Application.ScreenUpdating = Yanlış
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bu harika çalıştı. Ancak, 1000 girişli bir raporum var ve kodun 480 girişi civarında kopyalanması durdu. Raporun tamamındaki işlemi tamamlaması için ekleyebileceğim bir şey var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Leah,
Kodu 2000 satırda test ettim ve iyi çalışıyor.
Kodu test etmem için çalışma sayfanızı bana gönderir misiniz?
E-posta adresim skyyang@extendoffice.com
Cevabınızı dört gözle bekleyin!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba! işe aldım. Benim açımdan bir hataydı, raporda, komut dosyasının döngüsünü durdurmasına neden olan gizlenmiş birkaç boş satır vardı. 8,000 satırlık raporum için çalıştı! teşekkür ederimQ
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Leah ve Skyyang,
Benzer bir sorun yaşıyorum - komut dosyası yaklaşık 100 satırlık bir çalışma sayfasında iyi çalışıyor ancak daha büyük bir şey için çalışmayı durduruyor. Çarpma numarasının geldiği sütunda boş satır olup olmadığını kontrol ettim ve hiçbiri yok. Komut dosyasının daha büyük veri kümeleri için çalışmamasının başka nedenleri var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Teşekkürler! tüm dertlerime harika bir çözüm oldu!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu komut dosyası tam olarak ihtiyacım olan şey gibi görünüyor, ancak çalıştırdığımda Selection.Insert Shift:=x1Down satırında bir hata alıyorum

Bunu nasıl düzelteceğime dair herhangi bir öneriniz var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba, benim için çalışmıyor, harfleri kaldırmak istiyorum ve sayıları çoğaltmak mümkün mü?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Modülü yalnızca yeni verileri kopyalayacak şekilde güncellemenin bir yolu var mı? Devam eden bir belge üzerinde çalışıyorum ve kodun daha önce çoğaltılmış verileri çoğaltmasını istemiyorum.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Tekrarlanan her hücreye ardışık bir karakter eklememizin bir yolu var mı? misal
KTE+0001

KTE+0002
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sevimli! Teşekkür ederim. Acaba herhangi biri, kopyalanan her satır, 1, 2, 3, 4 vb. için artan bir değer olan yeni bir bilgi sütununu tabloya (sütun E) nasıl dahil edeceğime dair bir ipucu verebilir mi? X kez çoğaltılacak bir sonraki öğeye geldiğinde, tekrar 1'den numaralandırmaya başlayacak ve her seferinde 1 artacaktır.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bunu denedim ama kopyaladığım verilerde birden fazla kriter olup olmadığını düşünmenin bir yolu var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,

Sağlanan formülü kullanarak bir elektronik tablo oluşturuyorum ancak hatalar yaşıyorum. lütfen biri bana formülümün ne olması gerektiğini söyleyebilir mi?

masam AY'den, miktarlar K cinsinden.
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba, bu kodu ayarlamaya çalışıyorum ama zorlanıyorum.
envanter öğelerim var. her öğe iki satırdır ve bunların N sayıda çoğaltılmasını ister
elektronik tablonun en üstünde, A1 diyelim bir hücrem var, kaç kez kopyalandım? N
N değeri ne olursa olsun, sahip olduğum ilk envanter kalemini (A16, A17) bu kadar çok kez çoğaltmak istiyorum.
bu nedenle kopyalanan öğe A18'de başlamalıdır (ve iki satırdır, sonraki öğe a20 vb.
Teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, kod harika çalışıyor. Ayrıca, satır her kopyalandığında tarihe + 1 eklemek istedim (yalnızca hafta içi).
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çok teşekkür ederim! Bu bana o kadar çok zaman kazandırdı ki, tüm veri satırlarımı kopyalayıp yapıştırarak boşa harcıyordum.
Çift beğeni!!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika bir kod parçası!!! Teşekkür ederim!!!
Buraya henüz hiç yorum yapılmamış
Daha Çok
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır