Çözüldü Sayfadaki bilgileri Macro ile kayit etme

mtecimer

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba, Fatura calismasi yapiyorum ve formulle isin icinden cikamayacagimi anlayinca sizlerden Macro destegi almak istedim. Detaylari dosyamda paylastim insallah aciklamam anlasilabilir sekilde olmustur, Ilgilenen arkadaslara simdiden tesekkur ederim.
 

Ekli dosyalar

Ekli dosyayı görüntüle 5580
Sarı alan formülle çalışıyor galiba. Yine de makro mu kullanmak istiyorsunuz?
Ekli dosyayı görüntüle 5579

Alt bir sütun derken galiba satır dediniz. Değer artırma ve veri aktarma işleminiz yapılmıştır. Ekli dosyaya bakınız.

İlgili Kod Yapısı :
Kod:
You must log in to view content
(12 satır)
 

Ekli dosyalar

  • 1600262910180.webp
    1600262910180.webp
    11 KB · Görüntüleme: 3
  • 1600262982005.webp
    1600262982005.webp
    7.6 KB · Görüntüleme: 79
  • 1600262982113.webp
    1600262982113.webp
    11 KB · Görüntüleme: 80
  • Fatura Calisma.xlsm
    Fatura Calisma.xlsm
    33.5 KB · Görüntüleme: 5
Öncelikle elinize saglik mükemmel olmus.
Sari alani formul ile geliyor fakat arada elleri formule carpiyor ve siliniyor surekli duzeltmem gerekli bunun önüne gecebilmem icin orayi da macro ile cagirmak istemistim.
 
Formüllü alanlar kilitlenebilir. Bu bir seçenek. Yine makro olsun derseniz ekli dosyayı inceleyiniz...
Hocam tekar merhaba L12 hücresinde veri dogrulama ile macromuz calisiyor fakat müsteri sayisi cogaldiginda bu listeden müsterileri bulmak zor oldu. Simdi combox ile arama yaptiriyorum fakat macro ya bunu nasil yazacam acikcasi bilemiyorum. örnek dosyam ektedir tekrar ilgilenebilirseniz sevinirim.
 

Ekli dosyalar

Merhaba Sayın @mtecimer .

-- FORMÜLLER >> AD TANIMLAMA kısmında liste adını verip,
=KAYDIR(Musteriler!$B$1;1;;KAÇINCI("ZZZ";Musteriler!$B:$B;1)-1;)
formülünü kullanarak yeni bir AD TANIMLAMASI yapın.
-- Ardından, GELİŞTİRİCİ menüsündeki TASARIM MODU'nu etkinleştirip, sayfadaki Combobox'u seçip,
yine GELİŞTİRİCİ menüsünden ÖZELLİKLER bölümünü açıp, LisFillRange seçeneğinin karşısına liste yazarak, bu ekranı kapatın.
-- Alttan Fatura_Olustur sayfasının adına fareyle sağ tıklayın ve açılan VBA ekranında mevcut
Worksheet_Change kodunu tamamen silin,
-- VBA ekranında aynı yerde bulunan Combobox_Change kodunu aşağıdaki gibi değiştirin.

CPP:
You must log in to view content
(16 satır)

.
 
Merhaba Sayın @mtecimer .

-- FORMÜLLER >> AD TANIMLAMA kısmında liste adını verip,
=KAYDIR(Musteriler!$B$1;1;;KAÇINCI("ZZZ";Musteriler!$B:$B;1)-1;)
formülünü kullanarak yeni bir AD TANIMLAMASI yapın.
-- Ardından, GELİŞTİRİCİ menüsündeki TASARIM MODU'nu etkinleştirip, sayfadaki Combobox'u seçip,
yine GELİŞTİRİCİ menüsünden ÖZELLİKLER bölümünü açıp, LisFillRange seçeneğinin karşısına liste yazarak, bu ekranı kapatın.
-- Alttan Fatura_Olustur sayfasının adına fareyle sağ tıklayın ve açılan VBA ekranında mevcut
Worksheet_Change kodunu tamamen silin,
-- VBA ekranında aynı yerde bulunan Combobox_Change kodunu aşağıdaki gibi değiştirin.

CPP:
You must log in to view content
(16 satır)

.
Elinize saglik hocam güzel olmus fakat bu sekilde Excel cok kasmaya basladi acaba i12 hücresine göre veri cektirebilirmiyiz ? orasi formulle doluyor !
 
Tam aksini düşünüyorum.

-- liste AD TANIMLAMASI belgeyi yoracak bir işlem değil, sadece Combobox'un kullandığı listenin oluşumu için.
Combobox'taki seçimin hücreye yazılması işleminde değişiklik yapmadım/önermedim.
-- Önceki kod, L12'deki değeri, Müşteriler sayfasındaki tüm satırları For ... Next döngüsüyle tek tek tarayıp,
L12'ye eşit olan hücreye denk geldiğinde verileri yazıyor idi.
Benim önerdiğim yöntem ise CTRL+F işlemidir ve böylece satır satır tarama yerine doğrudan ilgili satır bulunduğu için
döngüye gerek olmaz. Bu nedenle de For...Next döngüsünden daha hızlıdır.
-- İşlemlerin, L12'ye veri yazılmasına bağlamakla, Combobox'tan seçim yapılmasına bağlamak arasında bir fark yok.
Bence, belgenizde, belirttiğim değişiklikleri yapıp kaydedin ve kapatıp açın (varsa açık diğer excel belgelerini de kapatın).
Sonra belgeyi tekrar açıp bir deneyin isterseniz.

.
 
Aynen.

TASARIM MODUnu aktifleştirip Combobox'un özelliklerini görüntüleyin.
Göreceğiniz listede, MATCHENTRY seçeneğinin karşısındaki değeri açılır listeden
2-fmMatchEntryNone seçeneği seçerek değiştirin.
Sonra TASARIM MODUnu tekrar pasipleştirin.

Combobox'u yazarak değil de, listeden seçerek kullanmak daha doğru olur.

.
 
Aynen.

TASARIM MODUnu aktifleştirip Combobox'un özelliklerini görüntüleyin.
Göreceğiniz listede, MATCHENTRY seçeneğinin karşısındaki değeri açılır listeden
2-fmMatchEntryNone seçeneği seçerek değiştirin.
Sonra TASARIM MODUnu tekrar pasipleştirin.

Combobox'u yazarak değil de, listeden seçerek kullanmak daha doğru olur.

.

Yaptim fakat bu sefer de yazdiklarim hic gözükmüyor ?
Haklisiniz listeden secmek daha dogru fakat 200 den fazla firma icinde listeden bulmak cok zaman kaybi oluyor.
 
Aynen.

TASARIM MODUnu aktifleştirip Combobox'un özelliklerini görüntüleyin.
Göreceğiniz listede, MATCHENTRY seçeneğinin karşısındaki değeri açılır listeden
2-fmMatchEntryNone seçeneği seçerek değiştirin.
Sonra TASARIM MODUnu tekrar pasipleştirin.

Combobox'u yazarak değil de, listeden seçerek kullanmak daha doğru olur.

.
Hocam merhaba,

Bu secenekleri yaptim fakat bu sefer de Combobox'a yazdigimda secenekler bende gözükmüyor acaba sizde de ayni mi ?
 
Bir de bu cevaba eklediğim uygulamayı deneyin bakalım.
Dosya içerisinde açıklama da yazdım.
Dosyada, L10 hücresini seçtiğinde görünür hale gelen bir adet TextBox ve
bu Textbox'a yazmaya başladığında, diğer sayfadaki müşteri isimleri içinde,
İÇERİR mantığıyla gerçekleşen ARAMA sonuçlarının listelendiği bir adet LISTBOX mevcut.

Listbox'taki bir müşterişe fareyle ÇİFT tıklandığında veri aktarma işlemi gerçekleşir.

.
 

Ekli dosyalar

Bir de bu cevaba eklediğim uygulamayı deneyin bakalım.
Dosya içerisinde açıklama da yazdım.
Dosyada, L10 hücresini seçtiğinde görünür hale gelen bir adet TextBox ve
bu Textbox'a yazmaya başladığında, diğer sayfadaki müşteri isimleri içinde,
İÇERİR mantığıyla gerçekleşen ARAMA sonuçlarının listelendiği bir adet LISTBOX mevcut.

Listbox'taki bir müşterişe fareyle ÇİFT tıklandığında veri aktarma işlemi gerçekleşir.

.
Hocam öncelikle belirtmek isterim efsane olmus elinize saglik.

Fakat ben L10 "den" yazdigimda "deneme" karsima geliyor fakat cift tiklamama ragmen kabul etmiyor (onaylamiyor). Acaba ayni sorun sizde de var mi ?
 
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
42
Üst