Textboxlarla işlem

Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
İyi günler arkadaşlar,
Ekte siz forum üyelerinin eseri olan bir form çalışması mevcuttur. Bu form üzerinde bazı değişiklikler yapmak için yardımlarınızı rica ediyorum. Form içerdiği kodların gerekliliğini yerine getiriyor. İlave olarak istediklerim.
1- Form üzerindeki Comboboxtan veriyi seçince eklenmiş olan TextBox4 içerisinde seçilen ürüne ait SEVK FORM sayfasının M sütunundaki değer çıkmalı

2- Listbox taki değerleri çift tıklayarak Textbox1, 2 ve 3e veri alabiliyorum. Forma eklenen "Excele Aktar" butonuna bastığımda Textboxtaki değeri Comboboxta seçilen ürüne ait satıra ve C sütununa işlemesini istiyorum.

Bu konuda sizlerin desteğini rica ediyorum.
 

Ekli dosyalar

Katılım
22 Nisan 2005
Mesajlar
486
Excel Vers. ve Dili
tarkan@tarkanvural.com.tr
1 -
Kod:
Private Sub ComboBox1_Change()
Dim bul As Range
For Each bul In Worksheets("SEVK FORM").Range("g3:m" & Worksheets("SEVK FORM").Range("m65536").End(3).Row)
If Me.ComboBox1.Value <> "ÜRÜN KODU" And Me.ComboBox1.Value <> Empty And Me.ComboBox1.Value = bul.Value Then
    Me.TextBox4.Value = bul.Offset(0, 6).Value
        Exit For
End If
Next bul
Set bul = Nothing
End Sub
 
Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
Sayın Tarkan VURAL cevap için teşekkür ederim. Vermiş olduğunuz kodu uyguladığımda bir sorun var gibi gördüm. Şöyle ki; Örnek olarak eklediğim dosyada S 1900 olan üründen 500 ve 5000 olarak görünüyor. Form üzerinde bu ürünü seçtiğimde sadece ilk sırada yer alan miktar (yani 500) görünüyor. Bunu nasıl giderebiliriz?
Birde ilk mesajda belirttiğim 2 nolu istek için cevap olabilir mi?
(Listbox taki değerleri çift tıklayarak Textbox1, 2 ve 3e veri alabiliyorum. Forma eklenen "Excele Aktar" butonuna bastığımda Textboxtaki değeri Comboboxta seçilen ürüne ait satıra ve C sütununa işlemesini istiyorum.)
Yardımlarınız için teşekkür ederim.
 
Katılım
22 Nisan 2005
Mesajlar
486
Excel Vers. ve Dili
tarkan@tarkanvural.com.tr
Aranan değer birden fazla satırda var ise, tek bir TextBox içine ne yazılacağı ile ilgili herhangi bir mesaj yazmamışsınız. Bu sorunu nasıl giderebiliriz ?
 
Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
Sayın Tarkan VURAL
Aranan değer birden fazla satırda var ise, tek bir TextBox içine şu anda ilk satırdaki değeri yazıyor. Bu kısım bu şekilde kalabilir.
Konu ile ilgili ikinci olayı gerçekleştirebilirmiyiz?
ikinci olayımız;
(Listbox taki değerleri çift tıklayarak Textbox1, 2 ve 3e veri alabiliyorum. Forma eklenen "Excele Aktar" butonuna bastığımda Textbox1 deki değeri Comboboxta seçilen ürüne ait satıra ve C sütununa işlemesini istiyorum.)

Örnek olarak eklediğim dosyadan;
H 01106 kodlu ürün için rapor nosu C sütununda 0005
S 131 kodlu ürün için rapor numarası C sütununda 060

olarak görünmeli. Bu işlem için bir çalışmamız olabilir mi?
 
Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
İyi akşamlar,

Aşağıdaki KOD ile Textbox 1 deki değerleri ENTER ile C sütununa sıralı alabiliyorum. Bu değerleri Comboboxtaki değerlerin olduğu satırın C sütununa yazdırabilmek için nasıl bir düzenleme yapmak gerekir? Bu konuda fikirlerinizi rica ediyorum.


KOD:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
say = WorksheetFunction.CountA([C1:C65536])
Cells(say + 2, 3) = TextBox1
TextBox1.Value = ""
TextBox1.SetFocus
End If
End Sub
 

Ekli dosyalar

Katılım
27 Temmuz 2004
Mesajlar
719
Excel Vers. ve Dili
Excel 2003 Tr
Combobox ın change olayına yazdığınız kodu aynen alıp textbox1 in ilgili olayına kopyalayı sadece aşağıdaki satırı değiştirin.
Kod:
Me.TextBox4.Value = bul.Offset(0, 6).Value
Kod:
 bul.Offset(0, -4).Value=Me.TextBox1.Value
Ayrıca combobox1 e çift değerleri tek olarak aldırdığınız için seçerken de sadece ilk değeri getirebiliyorsunuz onun yerine, verileri direk alın, böyle olunca for each döngüsüne de gerek kalmadan, comboboxın listindex değerinden istifadeyle istediğiniz satırda işlem yapabilirsiniz.
 
Katılım
14 Şubat 2005
Mesajlar
137
arkadaşlar tabloya yeni satır eklemek için aşağıdaki gibi bir formülüm var ancak ben bu formülü otomotik olarak son satırın ilk hücresine (satır eklendiği için değişken oluyor)veri girildiğinde (>0) satır eklesin istiyorum mümkünmü yardımcı olursanız şimdiden teşekkür


Private Sub enter()

[a15:a30].Find("TOPLAM").Offset(0, 1).EntireRow.Insert
[a15:a30].Find("TOPLAM").Select
Selection.End(xlUp).Offset(1).Select

range("A15").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select


Loop
End Sub
 
Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
sayın janjelvan
kod önerinizi uyguladım ve olumlu sonuç aldım.
Ayrıca
"Ayrıca combobox1 e çift değerleri tek olarak aldırdığınız için seçerken de sadece ilk değeri getirebiliyorsunuz onun yerine, verileri direk alın, böyle olunca for each döngüsüne de gerek kalmadan, comboboxın listindex değerinden istifadeyle istediğiniz satırda işlem yapabilirsiniz."

konusu ile ilgili kodda ne gibi bir değişiklik yapmam gerekiyor? Bu onuda yardımcı olabilrmisiniz?
 
Katılım
27 Temmuz 2004
Mesajlar
719
Excel Vers. ve Dili
Excel 2003 Tr
sayın janjelvan
kod önerinizi uyguladım ve olumlu sonuç aldım.
Ayrıca
"Ayrıca combobox1 e çift değerleri tek olarak aldırdığınız için seçerken de sadece ilk değeri getirebiliyorsunuz onun yerine, verileri direk alın, böyle olunca for each döngüsüne de gerek kalmadan, comboboxın listindex değerinden istifadeyle istediğiniz satırda işlem yapabilirsiniz."

konusu ile ilgili kodda ne gibi bir değişiklik yapmam gerekiyor? Bu onuda yardımcı olabilrmisiniz?
Merhaba; 3 olayda kodlarda değişiklik yaptım, bunları incelerseniz, demek istediğimi daha net anlatmış oluyorum.
Kod:
Private Sub UserForm_Initialize()
Dim hcr As Range
ListBox1.ColumnCount = 3
For Each hcr In Sheets("SEVK FORM").Range("G2:G" & _
Sheets("SEVK FORM").Cells(65536, "G").End(xlUp).Row)
    'If WorksheetFunction.CountIf(Sheets("SEVK FORM").Range("G2:G" & hcr.Row), hcr.Value) = 1 Then
        If hcr.Value <> "ÜRÜN KODU" Then ComboBox1.AddItem hcr.Value
    'End If
Next hcr
If ComboBox1.ListCount > 0 Then ComboBox1.ListIndex = 0
End Sub
Kod:
Private Sub ComboBox1_Change()
    Me.TextBox4.Value = Cells(ComboBox1.ListIndex + 3, 13).Value
End Sub
Kod:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Cells(ComboBox1.ListIndex + 3, 3) = TextBox1
TextBox1.Value = ""
TextBox1.SetFocus
End If
End Sub
 
Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
Teşekkürler Janjelvan
Önerilerinizi uyguladım ve sonuç olumlu olmuştur.
 
Üst