Soru Değiştir butonu oluşturup her sayfada değiştirmesi

  • Konuyu başlatan Konuyu başlatan bgrgvr
  • Başlangıç tarihi Başlangıç tarihi

bgrgvr

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sipariş takip için çok örnekte olduğu gibi listeye sipariş ekleme formu oluşturdum(UserForm1 olarak adlandırılmış form). Ekle, bul, sil, değiştir butonları ekledim. Ekle butonunun ilgili özelliklere göre farklı sayfalara sipariş dağıtımı yapmasını sağladım. Fakat sil ve değiştir butonu yalnızca "SİPARİŞ" sayfasında ekleme ve silme işlemi yapıyor. Bu sayfa bizim tüm siparişleri topladığımız ana sayfamız. Ana sipariş sayfasında değiştirdiğim bir siparişin diğer sayfalarda varsa eğer orda da değişmesini istiyorum.

Ayrıca Stok takibi yaptırdığım bu uygulamada mükerrer kayıt engellemek yerine aynı üründen giriş yaparsam diğer ürünün adetinin üzerine eklemesini istiyorum.

Örnek olarak ; "PRES STOK" sayfasına eklemiş olduğum Vow Kavis 65*110*6+0 ürününden iki adet kayıt var. Birisi 56 adet, diğeri 65 adet. Burda worksheetfunction.sumifs yani çoketopla formülüyle listede tek bir tane görünsün ve toplam adedi alsın istiyorum. Kriterlerim ise "kalıp, yay, boy, kat ve kapak" birebir aynı ise üzerine ekleyecek. Değilse diğer satıra yazdıracak. Bunu her stok sayfası için uygulayacağız. Sumifs formülü şart değil, başka bir yöntem varsa onu da uygulayabiliriz.

Şimdiden teşekkür ederim, saygılarımla..
 

Ekli dosyalar

  • Ç.xls
    Ç.xls
    1.7 MB · Görüntüleme: 9
Ayrıca küçücük bir işlem daha eklemek istiyorum. "Sipariş Kontrol Paneli" yani UserForm1'de bulunan ölçü kısmında yay, boy, kat, kapak ve blok adında textboxlarımız var. Burda metreküp hesabı yaptırıp ölçüleri yazdığım anda metreküp textboxına yazdırmak istiyorum.

hesaplama formülüm ise şu şekilde,

yay*boy*(kat+kapak)*0,00000015/blok
 
Merhaba Sayın @bgrgvr .

Bir userform üzerinde BUL/SİL/DEĞİŞTİR işlemi için öncelikle, UserForma bir adet Listbox veya Listview
nesnesi eklemeniz gerekecek gibi görünüyor.
ÜRÜN DURUMU seçenekleri sanırım ilgili sayfanın hangisi olduğunu belirlemenizi sağlıyor.

Belgenizde, ürünün DURUMundan bağımsız olarak tüm kayıtları gösteren bir GENEL sayfanız var mıdır bilemiyorum.
Tavsiyem böyle bir sayfanın olmasının ve bu GENEL LİSTE sayfasının kayıt satırlarında da ÜRÜNÜ TANIMLAYAN, benzersiz/tekrarsız/TEKİL olacak bir ürün kimlik bilgisi (ID no gibi) ile uygun bir sütunda da bu kaydın HANGİ SAYFADA (DURUM bilgisi) olduğuna dair bir bilgi yer almalı (belgenizi çok detaylı incelediğimi söyleyemem ama belki de bu sayfa SİPARİŞ isimli sayfadır)
Userforma eklenecek Liste nesnesi, formun açılışında GENEL sayfanın tümünü gösterir, listenin bir satırı fareyle seçildiğinde o satırdaki bilgiler, formun üst kısmında ilgili nesnelere aktarılır, ihtiyaç duyulan değişiklik burada yapılır ve DEĞİŞTİR düğmesi de benzersiz ID numarasından hareketle sayfadaki konumu bulunup düzeltilmiş değerlerin doğru satırdaki doğru hücredeki yazılması sağlanır.
SİL işlemi zaten mesele olmaz (kastınız kaydı kalıcı olarak silmekse), seçilen ürünün ID numarası belli olduğuna göre, bu ID nin bulunduğu satır silinir. vs.

Userformlarınızdaki nesne adlandırmalarında belli bir düzen olursa (örneğin TextBox2, B sütunundaki, TextBox5 E sütunundaki bilgiyi gösterir gibi sütun no ile nesne adı arasında matematiksel bir ilişki olursa) kodlama işi oldukça pratikleşir.

Sizin işlemlerinizle doğrudan eşleşmeyecektir ama forumdaki konu sayfalarında bir tarama yapıp üzerinde Listbox veya Listview nesnesi bulunan Userform içeren bir çalışma bulup, ilgili konu sayfasındaki örnek belgedeki UserForm ve bunun üzerinden yapılan işlemleri bir inceleyin isterseniz.

İyi çalışmalar dilerim.
 
Belirttiğiniz gibi bu sayfa "SİPARİŞ" olarak adlandırdığım sayfa. Her eklenen veri benzersiz olması gerektiği için yanına bir üst satırın numarasına 1 ekleyerek oluşturuyor yani sipariş kodu diyebiliriz ya da ID. Sayfalara dağıtma işlemi de yine UserForm'da bulunan ComboList'den seçtiğim veriye göre gerçekleşiyor. Yani Çalışma Kitabındaki ÖZELLİK seçeneği. Ne seçiyorsam onun sayfasına gönderiyorum. Ama hepsi "SİPARİŞ" adını verdiğim sayfada toplanıyor. Bir ürünün sipariş kodu "SİPARİŞ" sayfasında ne ise diğer sayfalara da aynı şekilde yazdırılıyor yani her sayfada istediğim ürünü buldurabilmem mümkün.

Benim problemim de burda başlıyor. Ben "SİPARİŞ" sayfasından bir veri sileceğim zaman diğer sayfalarda da zaten sipariş kodu ile aratıyorum. Fakat bu aratma işlemi için gerekli algoritmayı oluşturamıyorum.

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


Gibi bi algoritma oluşturduğumda ve bunu her sayfa için uyguladığımda o sayfada arattığımız "a" değişkenini bulamıyorsa program hata veriyor. on error goto komutunu kullanırsam da sapıtıyor. Eğer yoksa gibi bir komut yazmak gerekiyor.
 
Belgenize göre yanlış mı düşünüyorum bilemiyorum ama;
madem tüm kayıtların bulunduğu sayfa SİPARİŞ sayfası, o halde kodbox,value değerini SİPARİŞ sayfası A sütununda aratmanız yeterli olur demektir. Bu kayıt hangi sayfadadır sorusunun cevabı nedir, diğer sayfaların B sütunları mı A sütunları mı (B sütunlarında formül var) ?

PRES sayfasın A sütununda ve CNC sayfası A sütununda, tüm sayılar SİPARİŞ sayfasındaki gibi aynen var.
Bu sayılar aynı zamanda, CİLALIK ve DÖŞEMELİK sayfalarına dağılmış durumda yer alıyor.
KESİMSİZ sayfasında ise A sütununda sayı yazmıyor ama 2 nolu siparişe ait kayıt aynı zamanda KESİMSİZ sayfasında.

Belgeniz için öngördüğnüz işleyişi anlayamadım.
 
Sipariş girdiğimde bütün hepsi "SİPARİŞ" adlı sayfada birikiyor. Bütün siparişler preste basıldığı için aynı zamanda "PRES" sayfasına da aktarılıyor. Kesilecek olan bütün ürünler "CNC" sayfasına aktarılıyor. Eğer özellik kısmında Kesimsiz olarak işaretlenmişse "CNC" ye aktarılmadan "KESİMSİZ" sayfasına aktarılıyor. Ayrıca ürün özelliği döşemelikse döşemelik sayfasına, cilalıksa cilalık sayfasına dağıtılıyor. Bu sayfalar birer departman ve her birim kendi listesini alıyor.

Kesimsizde olan ürün ise yanlış yazdığım koddan kaynaklı oraya gitti.

Diyelim ki bir sipariş girdim, Döşemelik sipariş olsun. Aktarılacağı sayfalar "SİPARİŞ, PRES, CNC ve DÖŞEMELİK" olacaktır. Bu Cilalık ürün olsaydı eğer "SİPARİŞ, PRES, CNC ve CİLALIK" Sayfalarına aktarılacaktı. Cilalık bir ürünün kalıbını yanlış seçtim diyelim ve sipariş kodu 15 olsun. Ben bu ürünü "SİPARİŞ" sayfasında düzeltebiliyorum. Peki ya bu düzeltmeyi PRES, CNC ve CİLALIK sayfalarında nasıl buldurup uygulayacağım ?
 
Üst