Kaydet Butonuna basınca ilgili yere kayıt yapma

Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
arkadaşlar yardımınıza çok ihtiyacım var. lütfen biri beni duysun.

istediğim ekteki dosyada.
kısaca anlatayım.
açılan formda firma ismi seçtikten sonra 1. sütuna 100-200-300-400 gibi ürün kodları girince otomatik olarak ürün adı ve fiyatı çıkmaktadır. daha sonra miktar kısmına ne kadar satılacağını yazıyoruz.buraya kadar herşey nomal. asıl bundan sonrası beni çileden çıkardı. kaydet butonuna basınca ilgili kodları ve diğer verileri "satıs" sayfasındaki gerekli yerlere yazmasını sağlamak.eğer ilk hücrede kalem satışı varsa satıs sayfasında kalem satırının altına satılan miktarı girsin. eger başka ürünler satılıyorsa onlarında kendi ürün adlarının altına miktarı yazmasını istiyorum.
lütfen bana yardım edin.
şimdiden elinize sağlık.çok teşekkürler.:???:
 
Katılım
30 Mart 2006
Mesajlar
94
Excel Vers. ve Dili
Excel 2007 TR
Sayın Hocam;
Eğer yapmak istediğiniz program bu kadar küçük çaplı ise form kullanmanıza gerek yok. Nesneleri direk excel sayfasına ekleyerek yapmanızı öneririm. Ama ileride genişleteceğinizden emin olduğum için vereceğim cevaplar belki ileride yeni sorularıda beraberinde getirecek.

Oluşturduğunuz formun aynısını excel sayfasına oluşturun. textboxların "linkcell" özelliklerine ilgili hücre bağlantısını yapın. daha sonra "Kaydet" düğmesini makrosunu da bu bağlantı hücrelerini satış sayfasındaki alanlara kopyalama makrosu yazın.
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn alibal ilginize çok teşekkür ederim

saygılar sn alibal

verdiğiniz yanıt için çok teşekkürler. ancak benim yaptığım program biraz geniş. excel yaptığım programın arka planında çalışıyor.bu yüzden userforma ihtiyacım var. yani excel benim sadece veritabanım. visual studio 6.0 öğrenmeye çalışıyorum.başlangıç olduğu için excelde macro benim işime yarıyor
anlattığım şekilde bir bilginiz varsa benimle paylaşabilirmisiniz. çok teşekkürler.

elinize sağlık.

saygılar.:hey:
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
arkadaşlar ilginize çok teşekkürler

programımı biraz geliştirmeye çalışıyorum. biraz da acemiyim. yardımlarınızı bekliyorum teşekkürler. saygılar.:hey:
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
beni duyan kimse yokmu

sayın leventm ya da cost control yardımlarınızı bekliyorum:yardim: :yardim: :yardim: :yardim:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin. Yalnız satış sayfasındaki ürün adları textboxlara gelenle aynı olmalı örneğin defter kelimesinde hata var, kelimenin sonunda bir boşluk mevcut, bu tür hataları düzeltin.

Kod:
Private Sub CommandButton1_Click()
On Error Resume Next
Set s1 = Sheets("satıs")
deg = Array(TextBox2, TextBox6, TextBox9)
For a = 10 To 12
If deg(a - 10) = "" Then GoTo 10
sut = WorksheetFunction.Match("" & deg(a - 10), s1.[1:1], 0)
satir = s1.[a65536].End(3).Row + 1
s1.Cells(satir, "a") = ComboBox1
s1.Cells(satir, sut) = Controls("textbox" & a) * 1
10 Next
MsgBox "Veriler kaydedildi."
End Sub
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn leventm mükemmelsiniz

harika bir sonuç çok mükemmel elinize aklınıza sağlık. bir sorum daha olacak eğer örneğimdeki satıs sayfasında ürünler B C D sütunlarında adlarına göre değilde kodlarına göre dizilseydi (kağıt yerine 100, kalem yerine 200..) o zaman nasıl olacaktı. çünkü yapmaya çalıştığım programda ürünler kodlarına göre sıralı. ben gönderdiğiniz kodların textbox nolarını değiştirdim ama olmadı. sanırım yazı veya sayı olması değiştiriyor. yardımlarınızı bekliyorum çooooooooooooooooooooooooook teşekkürler. ne kadar teşekkür etsem azdır sn. ustam.:yardim:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kod:
deg = Array(TextBox2, TextBox6, TextBox9)
Bu durumda yukarıdaki satıra kodların yazıldığı textboxların adını yazın.
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
beceremedim

sn leventm

önce de denedim ama işin içine ürün kodları girince kayıt yapmıyor. adı olunca problem yok ürün adları yerine kodları yazıyorum ilgili yeri bulmuyor. :yardim:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

Kod:
Private Sub CommandButton1_Click()
On Error Resume Next
Set s1 = Sheets("satıs")
deg = Array(TextBox1, TextBox5, TextBox8)
For a = 10 To 12
If deg(a - 10) = "" Then GoTo 10
deger = deg(a - 10)
If IsNumeric(deg(a - 10)) = True Then deger = Val(deg(a - 10))
sut = WorksheetFunction.Match(deger, s1.[1:1], 0)
satir = s1.[a65536].End(3).Row + 1
s1.Cells(satir, "a") = ComboBox1
s1.Cells(satir, sut) = Controls("textbox" & a) * 1
10 Next
MsgBox "Veriler kaydedildi."
End Sub
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn leventm büyüksünüz

sn hocam ne diyeceğimi bilemiyorum. harikasınız. ben de yapınca mutlu oluyorum. çok ama çok teşekkürler.
saygılar
:hey:
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn hocam program harika çalıştı

ancak sanırım benimle ilgili bir problem var. çünkü yapmaya çalıştığım programa bu örnek dosyadaki gibi olan sayfaya aktarınca hiçbir kayıt yapmıyor. ben programımın yapısından kaynaklandığını sanıyorum. yaptığım programda excel arka planda yani gizli. ben userformlarla çalışıyorum. acaba kayıtta bu sorun yaratırmı? programın bir kısmını (kullandığım şeklin aynısı) ayırdım.ekliyorum bir incelerseniz memnun olurum. çünkü burada çalışmıyor. inanki çok mahcup oluyorum. ilginize teşekkür ederim saygılar.

elinize sağlık.:yardim: :yardim: :yardim:
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızı baştan ekleseydiniz sorununuzu çok daha hızlı çözebilirdik. Dosyanızda bir çok düzeltme yaptım. Öncelikle ürün kodlarını comboxtan seçtirdim ve nesne adlarını ardışık gidecek şekilde değiştirdim. Ayrıca class module ilavesi yaptım. Böylece kodlarda çok ciddi bir tasarruf sağlanmış oldu.
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn leventm

2 gündür gönderdiğiniz programla uğraşıyorum cevap yazamadım kusura bakmayın lütfen, sizide meşgul ediyorum. sizin düzenlediğiniz şekilde kullandım çok teşekkür ederim harika bir çalışma olmuş. benim yapmaya çalıştığım program biraz daha geniş oraya sayfalarınızı ve kodlarınızı ekledim. ama yine kaydı alamadım. match fonksiyonunda hata veriyor. galiba ben beceremedim. neyse elinize sağlık şimdilik erteledim bu işi ancak vazgeçmedim. sizden son bir ufak ricam olacak. bir textbox içindeki rakamlardan oluşan bir kodu herhangi bir çalışma sayfasındaki 1. satırdan(A1:IV1) karşılık geleni seçip o hücreyi aktif seçili yapması için hangi kodları kullanmalıyım. sadece bu kodları alabilirmiyim size zahmet olacak. sizi yormadan başka şekilde denemeye çalışacam. çalışma sayfasının yapısınıda değiştirecem. hem anlamaya hemde yazmaya çalışıyorum. tabi sayenizde. engin bilgilerinize sığınıyorum.

saygılar.emeğinize sağlık.:???:
 
Katılım
1 Haziran 2006
Mesajlar
76
Merhaba arkadaşlar,
tekbir kişinin sorusuna verdiğiniz cevaptan inanaın birçok kişi faydalanıyor bende bir vba öğrenicisiyim ve yazılarınızı takip ediyorum. Bu sayede bir çok püf noktası elde ettim, bunun için soruları soranada cevaplayanada çok teşekkür ederim.
saygılarımla.
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn leventm hocam

aşağıdaki arama makrosunu başka bir sayfada siz yazmışsınız.
bu makro benim işimi görür. yalnız bunu sütunda değil de satırda yapmak lazım. uğraştım yapamadım.
on error goto 10
sat=[a1:a65536].find(textbox1).row
cells(sat,9).select
exit sub
10 MsgBox "Aradığınız Kayıt Bulunamadı."

yardımlarınızı bekliyorum. çok sağolun saygılar.:yardim:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin.

Kod:
sut=[a1:iv1].find(textbox1).column
cells(1,sut).select
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn levetm hocam

affınıza sığınarak bu kodu kullandığımı ve işe yaradığını söylemek isterim.(lütfen affedin sizin daha önce yazdığınız kodlar bana göre biraz daha ilerde onlar için erken sanıyorum. daha geliştirince onları anlayabilecem. ama aşağıdaki kodları da yazabileceğim aklıma gelmezdi. biraz uzun ve zahmetli olacak ama olsun sonuç mükemmel sayenizde.) yardımlarınız için çok teşekkür ederim. daha sonra problem yaşarsam sizden yardım talep edebilirmiyim. söz bu kadar uzatmıyacağım.
On Error GoTo 10
sut = [a1:iv1].Find(T1).Column
sat = [a2:a65536].Find(ComboBox1).Row
Cells(sat, sut).Select
ActiveCell.Value = M1.Value

SAYGILAR İYİ ÇALIŞMALAR :hey:
-------------------------------------------------------------------------
bana bir harf öğretenin KIRK yıl kölesi olurum...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
daha sonra problem yaşarsam sizden yardım talep edebilirmiyim. söz bu kadar uzatmıyacağım.
Elbette talep edebilirsiniz. Ama sadece benden değil forumumuzdan. Zaten hepimiz bunun için burada değilmiyiz.

Sorularınıza cevap vermek için üstün gayret gösteren nice değerli arkadaşımız forumumuza vakit harcamaktadır. Kendilerinide bu vesile ilede teşekkür ederim.
 
Üst