Tablodaki verilerle formların doldurulması

Sorunun formülasyonu

Bir sayfada ödemeler hakkında bilgi içeren bir veritabanımız (liste, tablo - istediğiniz gibi adlandırın) var Veri:

Görev: bu listeden seçilen herhangi bir giriş için hızlı bir şekilde nakit makbuz (ödeme, fatura…) yazdırın. Gitmek!

Adım 1. Bir Form Oluşturun

Kitabın başka bir sayfasında (bu sayfaya diyelim form) boş bir form oluşturun. Kendiniz yapabilirsiniz, örneğin Baş Muhasebeci dergisinin web sitelerinden veya Microsoft web sitesinden alınan hazır formları kullanabilirsiniz. Bunun gibi bir şey aldım:

Tablodaki verilerle formların doldurulması

Boş hücrelerde (Hesap, Tutar, Alınan vb.) ödeme tablosundaki verileri başka bir sayfadan alacaktır - biraz sonra bununla ilgileneceğiz.

Adım 2: Ödeme tablosunun hazırlanması

Formumuz için tablodan veri almadan önce tablonun biraz modernize edilmesi gerekiyor. Yani, tablonun soluna boş bir sütun ekleyin. Forma veri eklemek istediğimiz satırın karşısına bir etiket (İngilizce “x” harfi olsun) girmek için kullanacağız:

Adım 3. Tabloyu ve formu bağlama

İletişim için işlevi kullanıyoruz VPR(DÜŞEYARA) - daha fazlasını buradan okuyabilirsiniz. Bizim durumumuzda, Veri sayfasından “x” ile işaretlenmiş ödeme numarasını formdaki F9 hücresine eklemek için F9 hücresine aşağıdaki formülü girmeniz gerekir:

=DÜŞEYARA(“x”,Veri!A2:G16)

=DÜŞEYARA(“x”;Veri!B2:G16;2;0)

Şunlar. “anlaşılabilir” olarak çevrildiğinde, fonksiyon Veri sayfasındaki A2: G16 aralığında “x” karakteriyle başlayan bir satır bulmalı ve bize bu satırın ikinci sütununun içeriğini, yani ödeme numarasını vermelidir.

Formdaki diğer tüm hücreler aynı şekilde doldurulur – formülde yalnızca sütun numarası değişir.

Miktarı kelimelerle görüntülemek için işlevi kullandım Kendi PLEX eklentisinden.

Sonuç aşağıdaki gibi olmalıdır:

Tablodaki verilerle formların doldurulması

Adım 4. İki “x” olmaması için…

Kullanıcı birden fazla satıra “x” girerse, DÜŞEYARA işlevi yalnızca bulduğu ilk değeri alır. Bu tür belirsizliği önlemek için sayfa sekmesine sağ tıklayın Veri ve sonra Kaynak metin (Kaynak kodu). Görüntülenen Visual Basic düzenleyici penceresinde aşağıdaki kodu kopyalayın:

Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long Dim str As String If Target.Count > 1 Sonra Exit Sub If Target.Column = 1 Sonra str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).End(xlUp).Row Range("A2:A" & r).ClearContents Target.Value = str End If Application.EnableEvents = True End Sub  

Bu makro, kullanıcının ilk sütuna birden fazla "x" girmesini engeller.

Pekala, hepsi bu! Zevk almak!

  • Değerleri değiştirmek için DÜŞEYARA işlevini kullanma
  • DÜŞEYARA işlevinin geliştirilmiş bir sürümü
  • PLEX eklentisinden sözcük cinsinden tutar (Propis işlevi)

 

Yorum bırak