Hayat

Excel VBA'da Bir Satır Kopyalama

Excel VBA'da Bir Satır Kopyalama


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Excel'i programlamak için VBA'yı kullanmak, bir zamanlar olduğu kadar popüler değildir. Ancak, Excel ile çalışırken tercih eden çok sayıda programcı var. Bu insanlardan biriyseniz, bu makale tam size göre.

Excel VBA'da bir satırın kopyalanması, Excel VBA'nın gerçekten yararlı olduğu bir şeydir. Örneğin, tarih, hesap, kategori, sağlayıcı, ürün / hizmet ve maliyet ile birlikte tüm makbuzlarınızın bir dosyasının, bir defada bir satır girildiğinde, statik muhasebe yerine, gelişen bir muhasebe örneği olmasını isteyebilirsiniz. Bunu yapmak için, bir satırı bir çalışma sayfasından diğerine kopyalayabilmeniz gerekir.

Basitlik içeren sadece üç sütun kullanarak bir satırı bir çalışma sayfasından diğerine kopyalayan örnek bir Excel VBA programı:

  • Metin için bir alfa sütunu
  • Sayısal sütun - hedef çalışma sayfasında otomatik bir toplam oluşturulur
  • Bir tarih sütunu - geçerli tarih ve saat otomatik olarak doldurulur

Excel VBA Kodu Yazarken Dikkat Edilmesi Gerekenler

Satırı kopyalayan bir olayı tetiklemek için standart-a Button form kontrolü ile gidin. Excel'de, Geliştirici sekmesinde Ekle'ye tıklayın. Ardından, Düğme form kontrolünü seçin ve düğmeyi istediğiniz yere çizin. Excel, düğmenin click olayı tarafından tetiklenen bir makroyu seçme veya yeni bir tane oluşturma şansı vermek için otomatik olarak bir iletişim kutusu görüntüler.

Programın altındaki bir satırı kopyalayabilmesi için hedef çalışma sayfasındaki son satırı bulmanın birkaç yolu vardır. Bu örnek, çalışma sayfasındaki son satırın sayısını korumayı seçer. Son satırın numarasını korumak için bu numarayı bir yerde saklamanız gerekir. Bu bir sorun olabilir, çünkü kullanıcı numarayı değiştirebilir veya silebilir. Bunu aşmak için, doğrudan form düğmesinin altındaki hücreye yerleştirin. Bu şekilde, kullanıcıya erişilemez. (Yapılacak en kolay şey, hücreye bir değer girip düğmeyi onun üzerine getirmektir.)

Excel VBA Kullanarak Satır Kopyalama Kodu

Alt Add_The_Line () Dim currentRow Tam Sayı Sayfaları Olarak ("Sayfa1"). CurrentRow = Aralık ("C2") değerini seçin. Değer Satırlar (7) .Seçim Seçimi.Copy Sayfaları ("Sayfa2"). Satırları Seçin (currentRow). .Paste Dim Tarihini Tarih Olarak Tarih = Şimdi () Hücreler (currentRow, 4) .Value = CStr (Tarih) Hücreleri (currentRow + 1, 3) .Açık AyarlaRtotalCell Aralık Aralığı Olarak Ayarla rTotalCell = _ Sheets ("Sheet2"). (Rows.Count, "C"). End (xlUp) .Offset (1, 0) rTotalCell = WorksheetFunction.Sum _ (Aralık ("C7", rTotalCell.Offset (-1, 0))) Sayfalar ("Sheet1" ) .Range ("C2") Değer = currentRow + 1 End Sub

Bu kod, xlUp, bir "sihirli sayı" ya da daha çok teknik olarak sayılmış bir sabit kullanır ve bu da End yöntemi tarafından tanınır. Ofset (1,0) aynı sütunda sadece bir satır yukarı hareket eder, böylece net etki sütuntaki son hücreyi seçmektir.

Kelimelerde, deyim diyor:

  • C sütunundaki son hücreye gidin (End + Down Arrow ile aynı).
  • Ardından, son kullanılmayan hücreye geri dönün (End + Yukarı Ok'a eşdeğer).
  • Sonra bir hücre daha yüksel.

Son ifade, son satırın konumunu günceller.

VBA muhtemelen VB.NET'ten daha zordur, çünkü hem VB hem de Excel VBA nesnelerini bilmek zorundasınız. XlUP kullanmak, kodladığınız her ifade için üç farklı şey aramaksızın VBA makroları yazabilmek için kritik öneme sahip olan uzmanlık bilgisine iyi bir örnektir. Microsoft, doğru sözdizimini bulmanıza yardımcı olmak için Visual Studio düzenleyicisini yükseltme konusunda büyük ilerleme kaydetmiştir, ancak VBA düzenleyicisi çok fazla değişmemiştir.


Video, Sitemap-Video, Sitemap-Videos