C

Çözüldü Cari Hesap Sayfasına Girilen Bilgileri Kaydetme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

cenkaltunkaya

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşlar.
Ekte 1 excel dosyası var ve bu dosyada 2 sekme var.
CARİ KAYIT ve AKTİF CARİLER

Cari Kayıt sayfasında bilgileri giricem ve kaydet butonuna basıcam, kaydet dedikten sonra Aktif Carilerde en son kayıttan sonraki kısma kayıt yapacak. (Cari No 3171'den başlayacak)

Excel'de ki sıralamaların bozulmaması gerekiyor çünkü bu dosya yaklaşık 10 senedir kullandığımız bir dosya. Ve bu dosyadan veri çeken bir çok başka excel dosyalarımız var. Sırasını kaydırırsak diğer tüm excel dosyalarını baştan hazırlamam gerekir :)

Yardımcı olursanız sevinirim. Şimdiden hepinize teşekkürler.
 

Ekli dosyalar

Çözüm
Şehir dışındaydım ve bunu size söyledim biliyorsunuz. Siz cepten yazıyorsunuz ama ben excel dosyasını telefondan açıpta kodları orada çalıştırıp olup olmadığını kontrol edemiyorum bu konuda da hak vereceğinizi düşünüyorum. İlgisizlik durumu söz konusu bile değil, neticede burada BENİM bir işimi çözmeye çalışıyoruz ilgisiz olmam mümkün mü. Zaten ilgisiz olsam size özel olarak mesaj gönderip durumu izah edip konuyu tekrar açmanızı talep etmem. Teşekkür ediyorum açtığınız için.

Problemime gelecek olursak, ekte yüklemiş olduğum dosyada sizin tüm söylediklerinizi yaptım. Aslında problemim yoktu canavar gibi çalışıyor. Fakat ben kayıt etmesi gereken 2 hücreyi unutmuşum ve ben bu hücreleride çalışma dosyasına dahil ettim. Kodlarda da...
Merhaba Sayın @cenkaltunkaya,

AKTİF CARİLER sayfasındaki başlıklar ile, CARİ KAYIT sayfasındaki B, E ve H sütunundaki bilgiler birebir aynı ve aynı sırada da olmadığına göre;

-- CARİ KAYIT sayfasında B sütunu için A, E sütunu için D ve H sütunu için de I sütununa,
bilginin AKTİF CARİLER sayfasındaki sütun numaralarını yazarak veya
-- CARİ KAYIT sayfasında uygun bir alana ya da ekleyeceğiniz yeni bir sayfaya başlık eşleştirmesini sağlayacak iki sütunluk bir liste
(sütunun birinde CARİ KAYIT sayfasındaki başlıklar, karşılarına da
bu bilgilerin CARİLER sayfasındaki başlık karşılıkları olacak şekilde ve
yazılacak bu bilgilerin tümünün her iki sütunda ilgili sayfadaki başlık ile birebir aynı olmasını sağlayınız
)
hazırlarsanız ( CARİ KAYIT B4> ÜNVAN - başında bir boşluk var >> AKTİF CARİLER B4>> ÜNVANI -boşluk yok )
sorununuzun çözümü çok kısa sürede sağlanacaktır diye düşünüyorum.

İyi çalışmalar dilerim.
 
Ömer hocam merhaba,
Bahsettiğiniz işlemlerin tümünü sağladım. CARİ KAYIT formunu çift sütun şeklinde alt alta yapmadan çözersem daha iyi olacak çünkü bazen sahada bu bilgileri doldurmamız gerekiyor ve bu tip durumlarda bu sayfayı çıktı alarak yanımızda götürüp sahada dolduruyoruz. Hak verirsiniz ki tek sütun yaparsam yaklaşık 3 sayfa olur ve bilgileri her almaya gittiğimiz yere 3 sayfa çıktı alırsak bu biraz vatana ihanet olur :)

-- CARİ KAYIT sayfasında B sütunu için A, E sütunu için D ve H sütunu için de I sütununa,
bilginin AKTİF CARİLER sayfasındaki sütun numaralarını yazarak ..... Burada ki kodlamaları yaptım. H sütunu içinde G sütunu yazacaktınız diye düşünüyorum o yüzden G sütununa girdim sütun numaralarını.
-- CARİ KAYIT B4> ÜNVAN - başında bir boşluk var >> AKTİF CARİLER B4>> ÜNVANI -boşluk yok ..... Boşlukların tamamını kaldırdım.

Bunların dışında yine yapmam gereken tüm işçiliği ben halledebilirim. Siz yeter ki söyleyin.

Yardımlarınızı bekliyorum.
 

Ekli dosyalar

Mevcut yapıyı değiştirmenizi istememiştim, anlaşılan yanlış ifade etmişim.
Mevcut belgede uygun bir alana liste istemiştim ama belgeye eklediğiniz sütun adları da yeterli.
Belgenize bakacağım ama birşeyler daha sorayım:
-- MUTLAKA LAZILMASI GEREKEN bir bilgi başlığını söyler misiniz? Yani hangi bilgi eksik doldurulursa kayıt yapılmayacak?
-- KAYIT sayfasında, hücre birleştirmesi uygulanmış L7:L9 alanında 2120 yazılı ama
konu açılış mesajında 3171'den başlanacak yazmıştınız. Bu L7:L9 kutucuğunun işlevi nedir?
 
Önce bundan önceki cevabımı okuyunuz.

CARİ KAYIT sayfasındaki tüm alanların (YIL bilgisinin yazılacağı F4 hücresi hariç) doldurulmasının zorunlu olduğu varsayılmıştır.
Safaya ekleyeceğiniz bir düğme/şekil/metin kutusuyla aşağıdaki kodu ilişkilendirerek kullanabilirsiniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(22 satır)
 
Merhaba,
-- MUTLAKA LAZILMASI GEREKEN bir bilgi başlığını söyler misiniz? Yani hangi bilgi eksik doldurulursa kayıt yapılmayacak?
Böyle bir zorunluluk olmasına gerek yok, bazı zamanlarda eksik bilgiler girerek kayıt yapabiliyoruz. Ama olmazsa olmazımız CARİ KAYIT sekmesinde ki ÜNVAN. Bu muhakkak oluyor, diğerlerinden bazıları olmayabiliyor.
--KAYIT sayfasında, hücre birleştirmesi uygulanmış L7:L9 alanında 2120 yazılı ama konu açılış mesajında 3171'den başlanacak yazmıştınız. Bu L7:L9 kutucuğunun işlevi nedir?
2120 örnek olması açısından yazım. Hikaye şu, cari bilgileri girip kaydet dedikten sonra bana o kaydettiğim carinin CARİ KODUNU vermeli ki ben başka bir excel dosyasında bu cari kodu girip bilgileri çektirip işlem yapabileyim. L7:L9 kutucu tamamen bunun için. Görsel olması açısından birleştirme yapmıştım.
 
Ömer hocam ciddi bir zaman ayırdın emek verdin çok çok teşekkür ediyorum. Fakat "Sayfaya ekleyeceğiniz bir düğme/şekil/metin kutusuyla aşağıdaki kodu ilişkilendirerek kullanabilirsiniz." bunu nasıl yapabileceğimide izah edersen hem yapmış olurum hemde öğrenmiş olurum. Ben genelde kodlama yapıyorum ama bu olan kodlamanın 3-5 tık üstünde ve benim tecrübem yok malesef.
 
-- ALT+F11 tuşlarına basarak VBA ekranını açın,
-- VBA ekranında üstteki menü kısmından INSERT>>MODULEyi seçin,
-- Sağdaki boş alana, verdiğim kod blokunu yapıştırıp VBA ekranını kapatın,
-- Sayfaya ekleyeceğiniz bir düğme/şekil/metin kutusuna fareyle SAĞ tıklayıp MAKRO ATAyı seçin,
-- Açılacak küçük ekranda, verdiğim makronun adı olan CARI_KAYDET'i fareyle seçerek işlemi onaylayın,
-- Belgeyi MAKRO İÇEREBİLEN türünde (xls, xlsm veya xlsb uzantılı) kaydedin.
NOT: Bu işlem sonrasında, bilgisayarınızda bu belgeyi ilk kez açtığınızda MAKROLARI ETKİNLEŞTİRMENİZ gerekir.

Artık bilgileri doldurup, bu şekil/düğme/metin kutusuna fareyle tıkladığınızda;
-- eksik bilgi varsa ekrana "EKSİK BİLGİ" uyarısı gelir ve kayıt yapılmaz,
-- bilgilerin tümü doldurulmuşsa aktarma işlemi gerçekleştirilir ve
yeni kayıt yapmak üzere veri giriş ekranındaki alanlar boşaltılır.
.
 
Hocam çok şey öğrendim senden çok teşekkür ediyorum her şey tamam ama makroyu butona atayamadım. Birde senden ricam, tüm bilgileri doldurma zorunluluğu olmasın, sadece cari ünvan zorunlu olsun. Diğer bilgilerin bir çoğunu zaman zaman girmiyoruz çünkü.

Dosyayı ekledim bir kontrol eder misin ?
 

Ekli dosyalar

Baktın başedemicem al şu dosyayı bir git başından dedin hocam hissettim :D
Elinize sağlık teşekkür ediyorum. Emek verdiniz zahmet verdim hocam.

Bu dosya benim işimi görecek, ileriye yönelik ben sizden sadece bir bilgi rica edicem. Olaki ben CARİ KAYIT sayfasına bir şey eklemek istediğimde, bunu kodlarda ki değişiklikle çözebilir miyim ?

Ben şunu yapıcam mesela, CARİ KAYIT sayfasında E19 hücresine bir ifade giricem ve AKTİF ŞANTİYELERDE "AO" sütununa yazdırıcam,

Kodu incelediğimde şunu tespit ettim, Alan sekmesine her kümeyi belirtiyorum, bu yüzden E19'a da yazacağım için E19'u buraya ekledim.
dizi1'de ve dizi2'de nereye yazdığım nereye kaydedilecek olayı var. Mesela C4'e yazdığım C'ye kaydediliyor, F4'e yazdığım Z'ye kaydediliyor. Bu sebeple de ben dizi1'e AO'yu ekledim, dizi2'ye ise E19'u. Bunun dışında bir şey yapmam gerekiyor mu ? Çünkü bu şekilde kaydettiremedim.

Bunu tamamen sizleri tekrar zahmete sokmamak için tecrübe amaçlı soruyorum hocam.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(16 satır)



EDİT: Hallettim hocam, sayıların sıralanışıda etkiliyor. E19'u C20'nin soluna aldım ve oldu. Aynı şekilde AO'yu da tabi :) Çözmüşmüyüm Ömer hocam :)
 
Aslında dizileri isimlendirirken (dizi1 ve dizi2) kullandığım 1 ve 2 sayılarını tersine yazsaymışım anlatması daha kolay olurdu.
İki diziyi (Array parantezinin içinde, ÇİFT TIRNAKlar arasında ve VİRGÜLLE AYRILMIŞ şekilde)
alt alta ve virgüllere göre sütunlara dağıtırsanız,;
-- dizi2'nin elemanları, en üst satırdan başlayarak verinin alınacağı HÜCRE ADRESLERİ.
-- dizi1 elemanları ise, dizi1'deki SIRAYA GÖRE verinin yazılacağı SÜTUN ADLARI
olduğunu göreceksiniz. (iki dizinin sıralamaları aynı olmalıdır)

Belirttiğim şekilde;
-- bir satıra dizi2 elemanarının herbirini bir hücreye "C4", "F4", "I4" ...., "E19", "C20", "C21" şeklinde yazın,
-- bir alt satıra da dizi1'in elemanlarını aynı şekilde "C", "Z", "AP", ...... "AO", "BN", "BO" şeklinde yazın.
Göreceğiniz gibi dizi2'nin elemanları sol üstten sağ ayta doğru satır satır veri alınacak hücrlerin adresleri,
dizi1'in elemanları da bunlara karşılık gelen veri yazılacak sütun adlarıdır.

Halledemezseniz tekrar yazarsınız.
 
Yazarının talebi üzerine konu tekrardan açıldı.
@cenkaltunkaya biz nasıl ilgiliysek, siz de bu sorumlulukta olmalısınız diye düşünüyorum.
Haksız kıyım?
Artık erişim bu kadar kolay (ben cepten yazıyorum mesela bu mesajı) bir hale gelmişken, iki satır durum yazmak gerçekten zor değil.
İyi çalışmalar
 
Şehir dışındaydım ve bunu size söyledim biliyorsunuz. Siz cepten yazıyorsunuz ama ben excel dosyasını telefondan açıpta kodları orada çalıştırıp olup olmadığını kontrol edemiyorum bu konuda da hak vereceğinizi düşünüyorum. İlgisizlik durumu söz konusu bile değil, neticede burada BENİM bir işimi çözmeye çalışıyoruz ilgisiz olmam mümkün mü. Zaten ilgisiz olsam size özel olarak mesaj gönderip durumu izah edip konuyu tekrar açmanızı talep etmem. Teşekkür ediyorum açtığınız için.

Problemime gelecek olursak, ekte yüklemiş olduğum dosyada sizin tüm söylediklerinizi yaptım. Aslında problemim yoktu canavar gibi çalışıyor. Fakat ben kayıt etmesi gereken 2 hücreyi unutmuşum ve ben bu hücreleride çalışma dosyasına dahil ettim. Kodlarda da değişikliği mantık yürüterek çözdüm.. Ama sorun şu son 2 değeri kaydetmiyor. CARİ KAYIT sayfasında ki C21 ve F20 'yi AKTİF CARİLER'de ki BO ve BQ'ya yazdıramadım. Modül kodlarında da ne yaptıysam olmadı. Bu konuda nerede ne değişiklik yapmam gerekiyor ?

İlginiz için teşekkür ediyorum.
 

Ekli dosyalar

Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst