Cədvəl məlumatları ilə formaların doldurulması

Problemin formalaşdırılması

Vərəqdə ödənişlər haqqında məlumat olan verilənlər bazamız (siyahı, cədvəl - istədiyiniz adlandırın) var Tarix:

Tapşırıq: bu siyahıdan seçilmiş istənilən daxilolma üçün nağd pul qəbzini (ödəniş, faktura …) tez çap edin. Get!

Addım 1. Forma yaradın

Kitabın başqa vərəqində (gəlin bu vərəqi adlandıraq Forma) boş forma yaradın. Bunu özünüz edə bilərsiniz, məsələn, Baş Mühasib jurnalının veb saytlarından və ya Microsoft veb saytından götürülmüş hazır formalardan istifadə edə bilərsiniz. Məndə belə bir şey var:

Cədvəl məlumatları ilə formaların doldurulması

Boş xanalarda (Hesab, Məbləğ, Alınan və s.) ödəniş cədvəlindən məlumatları başqa vərəqdən alacaq – bir az sonra bununla məşğul olacağıq.

Addım 2: Ödəniş cədvəlinin hazırlanması

Formamız üçün cədvəldən məlumat götürməzdən əvvəl cədvəl bir qədər modernləşdirilməlidir. Məhz, cədvəlin soluna boş bir sütun daxil edin. Formaya məlumat əlavə etmək istədiyimiz sətirin əksinə etiket (ingiliscə “x” hərfi olsun) daxil etmək üçün istifadə edəcəyik:

Addım 3. Cədvəlin və formanın əlaqələndirilməsi

Əlaqə üçün funksiyadan istifadə edirik VPR(BAXIN) - bu barədə ətraflı burada oxuya bilərsiniz. Bizim vəziyyətimizdə, Məlumat vərəqindən “x” qeyd olunan ödənişin nömrəsini formada F9 xanasına daxil etmək üçün F9 xanasına aşağıdakı düstur daxil edilməlidir:

=VLOOKUP("x",Data!A2:G16)

=VLOOKUP(“x”;Data!B2:G16;2;0)

Bunlar. “anlaşılan” dilinə tərcümə edilən funksiya Məlumat vərəqində A2: G16 diapazonunda “x” simvolu ilə başlayan sətir tapmalı və bizə bu sətrin ikinci sütununun məzmununu, yəni ödəniş nömrəsini verməlidir.

Formadakı bütün digər xanalar eyni şəkildə doldurulur - formulda yalnız sütun nömrəsi dəyişir.

Məbləği sözlərlə göstərmək üçün funksiyadan istifadə etdim Öz PLEX əlavəsindən.

Nəticə aşağıdakı kimi olmalıdır:

Cədvəl məlumatları ilə formaların doldurulması

Addım 4. İki "x" olmaması üçün ...

İstifadəçi çoxsaylı sətirlərə qarşı “x” daxil edərsə, VLOOKUP funksiyası yalnız tapdığı ilk dəyəri alacaq. Bu cür qeyri-müəyyənliyin qarşısını almaq üçün vərəq nişanına sağ klikləyin Tarix və sonra Mənbə mətni (Mənbə kodu). Görünən Visual Basic redaktoru pəncərəsində aşağıdakı kodu kopyalayın:

Private Sub Worksheet_Change(ByVal Target As Range) Əgər Hədəf.Count > 1 Əgər Hədəf.Sütun = 1 olarsa, Sətir kimi Dim r kimi Uzun Dim str Sonra Çıxın Əgər Hədəf.Sütun = 2 O zaman str = Target.Value Application.EnableEvents = False r = Cells(Row.Count) , 2).End(xlUp).Row Range("AXNUMX:A" & r).ClearContents Target.Value = str End If Application.EnableEvents = True End Sub  

Bu makro istifadəçinin birinci sütuna birdən çox “x” daxil etməsinin qarşısını alır.

Yaxşı, hamısı budur! Zövq alın!

  • Dəyərləri əvəz etmək üçün VLOOKUP funksiyasından istifadə edin
  • VLOOKUP funksiyasının təkmilləşdirilmiş versiyası
  • PLEX əlavəsindən sözlə məbləğ (Propis funksiyası).

 

Cavab yaz