• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

sıralama birleştirme

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
arkadaslar bır konuda cozüme ulasamadım yardımcı olursanız cok sevınıcem

bır lıstem var ve ben bu lısteye her ekledıgım satırın eger ustte aynı satırdan varsa onunla bırlesıp kac taneyse de usttekının adetıne eklemesını ıstıyorrum yardımcı olurmusnz
saygılar
 

Ekli dosyalar

kımse yardım etmeyecek mı
 
Son düzenleme:
Sorunuz net değil, yeni bir dosya ekleyerek sayfa üzerinde olması gerekeni göstererek detaylı açıklama yaparmısınız.
 
asıl dosyamı eklıyorum
ben bu sayfada sayım yapıcam magazada ama hala basaramadıım epey bı yol gıttım ama eksıkler var:
istediğim su sayfada da anlatıcam
 

Ekli dosyalar

Açıklamayı tam olarak yapmamışsınız.

Ürün girişini nasıl yapıyorsunuz. Dosyada bir form var fakat giriş yapmayı denediğimde tanımlanmış ürünün açıklamasını yaptırmaya zorluyor.
Bu kısmıda açıklarsanız sevinirim.

Soru açıklamalarınızda konuyu hic bilmiyormuşuz gibi detaya inerek açıklamanızı rica ederim.

.
 
ömer bey şimdi hıc kesıntı yapmadan kullandıgımı ekledi

sıralarsak:
sayım sayfasındakı verılergoruldugu gıbı hep aynı kayıt tekrar edıyor istediğim ben her urun okuttugumda otomatık bırlestrıp adetlerını de toplasın .

bir de su problemımı de cozemedım hocam ben her barkod okuttugumda 1 degerı otomatık cıkıyor ama ben deger gırmem ıcın beklıyor yanı adet gırıp enter a basarsam dıger barkodu okutmamı istiyor ama benım ıstedıgım ben her barkod okuttugumda birer adet ekleyerek serı bır sekılde devam etmesı tabı ben adet gırene dek
bunu yapmak ıcın bence adet ayazan butonu üstealırsak ve ılk olarak barkod degıl de adetı sorarsa ve ben gırene dek 1 yazmaya devam ederse bu sorunu cozebılırz
insallah acık olmustur
bugun sayım yapacagız tekrardan ınsallah yapabılırız yoksa cok ugrasıcaz
 

Ekli dosyalar

Sorunuzu pek anladığım söylenemez. Tahmin yürüterek yaptım dersek doğru olur.

Private Sub TextBox1_Enter() kodlarında,

Worksheets("SAYIM").Cells(x, 2).Value = girilensayı
Worksheets("SAYIM").Cells(x, 6).Value = x - 1

yukarıda kırmızı işaretlediğim 2 satırın yerine aşağıdaki satırı yazarak denermisiniz.


Kod:
With Worksheets ("SAYIM")
    Set c = .[A:A].Find(TextBox1.Text, , xlValues, xlWhole)
    If Not c Is Nothing Then
        .Cells(c.Row, "B") = .Cells(c.Row, "B") + girilensayı
    Else
        .Cells(x, "B").Value = girilensayı
        .Cells(x, "F").Value = x - 1
    End If
End With

.
 
ömer bey söyle bir hata verdi
 

Ekli dosyalar

  • Adsız.jpg
    Adsız.jpg
    90.4 KB · Görüntüleme: 5
Kodu yeniden düzenledim, tekrar denermisiniz.
 
hocam bır kod hatası degıl ama yanlıs kod galıba resımde yanlıs olanı anlatmaya calısıtım
 

Ekli dosyalar

  • Adsız.jpg
    Adsız.jpg
    100.6 KB · Görüntüleme: 3
hocam sayıma başlıyoruz bu haftanın sayımı ıcın son bıkez sorayım dedim beklıycem yıne nerden baslasak kardır
 
Son düzenleme:
Deneme yanılma ile bulmaya çalışalın.

TextBox1_Enter ve TextBox2_Enter kodlarını aşağıdakilele değiştirerek denermisiniz. Eksik, yanlış varsa tam noktasını detaylı açıklarmısınız.

İçiniz ferah olsun, eğer yine sonuc alamazsanız sayım sonuçlarının istediğiniz format da özetini çıkartırız.

Kod:
Private Sub TextBox1_Enter()
If TextBox1.Value = "" Then GoTo bitti
girilensayı = TextBox2.Value
uzunluk1 = Len(girilensayı)
If Not IsNumeric(girilensayı) Then GoTo SayiDegil
If girilensayı <= 0 Then GoTo sayiyanlıs
If uzunluk1 = 13 Then GoTo sayibarkodyeni
If girilensayı > 100000 Then GoTo sayibüyük
'x = activecell.Row
'Worksheets("SAYIM").Cells(x, 2).Value = girilensayı
'Worksheets("SAYIM").Cells(x, 6).Value = x - 1
With Worksheets("SAYIM")
    x = Cells(Rows.Count, "A").End(xlUp).Row + 1
    Set c = .[A:A].Find(TextBox1.Text, , xlValues, xlWhole)
    If Not c Is Nothing Then
        .Cells(c.Row, "B") = Val(.Cells(c.Row, "B")) + girilensayı
    Else
        .Cells(x, "A").Value = TextBox1.Text
        .Cells(x, "B").Value = Val(girilensayı)
        .Cells(x, "F").Value = x - 1
    End If
End With
TextBox1.Value = ""
TextBox2.Value = ""
Label4.Caption = ""
'Worksheets("SAYIM").Cells(x + 1, 1).Select
TextBox1.SetFocus
GoTo bitti
SayiDegil:
    For j = 1 To 3
    Beep
    Next j
    MsgBox "GİRİLEN DEĞER SAYI DEĞİL!" & "    GİRİLEN YANLIŞ DEĞER= " & girilensayı
    TextBox2.Value = ""
    TextBox2.SetFocus
GoTo bitti
sayiyanlıs:
    For j = 1 To 3
    Beep
    Next j
    MsgBox "GİRİLEN DEĞER SIFIRDAN BÜYÜK OLMALI!" & "    GİRİLEN YANLIŞ DEĞER= " & girilensayı
    TextBox2.Value = ""
    TextBox2.SetFocus
GoTo bitti
sayibüyük:
    For j = 1 To 3
    Beep
    Next j
    MsgBox "LÜTFEN DİKKAT!!! GİRİLEN DEĞER ÇOK BÜYÜK!" & "    GİRİLEN YANLIŞ DEĞER= " & girilensayı
    TextBox2.Value = ""
    TextBox2.SetFocus
GoTo bitti
sayibarkodyeni:
    For j = 1 To 3
    Beep
    Next j
    MsgBox "LÜTFEN DİKKAT!!! BİR ÖNCEKİ ÜRÜNÜN STOK MİKTARINI GİRMEDEN YENİ BARKOD OKUTTUNUZ!" & "    GİRİLEN YANLIŞ DEĞER= " & girilensayı
    TextBox2.Value = ""
    TextBox2.SetFocus
GoTo bitti
bitti:
End Sub
Private Sub TextBox2_Enter()
TextBox2.Value = 1
girilenbarkod = TextBox1.Value
'Girilen barkod sayısal mı ona bakıyor
If Not IsNumeric(girilenbarkod) Then GoTo SayiDegil
'girilen barkodun tanımlı olup olmadığını bulmaya çalışır
girilenbarkodsonhanesiz = Mid(girilenbarkod, 1)
kgbarkodu:
On Error GoTo tanımsız
ürünismi = WorksheetFunction.VLookup(girilenbarkodsonhanesiz, Worksheets("ÜRÜN LİSTESİ").Range("A2:C65000"), 2, False)
emtiano = WorksheetFunction.VLookup(girilenbarkodsonhanesiz, Worksheets("ÜRÜN LİSTESİ").Range("A2:C65000"), 3, False)
Beep
'Range("A65536").End(xlUp).Select
'ActiveCell.Offset(1, 0).Select
'x = ActiveCell.Row
'Worksheets("SAYIM").Cells(x, 1).Value = girilenbarkod
'Worksheets("SAYIM").Cells(x, 3).Value = ürünismi
'Worksheets("SAYIM").Cells(x, 4).Value = emtiano
With Worksheets("SAYIM")
    x = Cells(Rows.Count, "A").End(xlUp).Row + 1
    Set c = .[A:A].Find(TextBox1.Text, , xlValues, xlWhole)
    If c Is Nothing Then
        .Cells(x, "A").Value = girilenbarkod
        .Cells(x, "C").Value = ürünismi
        .Cells(x, "D").Value = emtiano
    End If
End With
Label4.Caption = ürünismi
GoTo bitti
tanımsız:
Beep
MsgBox "BU ÜRÜN DAHA ÖNCE TANIMLANMAMIŞ LÜTFEN ÜRÜN İSMİNİ DETAYLI OLARAK GİRİNİZ!"
UserForm2.Show
GoTo bitti
SayiDegil:
    For j = 1 To 3
    Beep
    Next j
    MsgBox "GİRİLEN DEĞER SAYI DEĞİL!" & "    GİRİLEN YANLIŞ DEĞER= " & girilenbarkod
TextBox1.Value = ""
TextBox1.SetFocus
GoTo bitti
dijityanlış:
For j = 1 To 3
Beep
Next j
MsgBox "GİRİLEN BARKOD DEĞERİ HATALI LÜTFEN BARKODU KONTROL EDİNİZ!" & "    GİRİLEN YANLIŞ DEĞER= " & girilenbarkod
TextBox1.Value = ""
TextBox1.SetFocus
GoTo bitti
bitti:
End Sub
 
ömer bey satır tekrarı düzeldi fakat toplamıyor 1111 olarak yazıyor 4 adet yazması gerekırken
 
resmi eklemeden gondermısım
 

Ekli dosyalar

  • Adsız.jpg
    Adsız.jpg
    100.3 KB · Görüntüleme: 3
Veriler metin formatında olduğu için toplama yerine birleştirme yapıyormuş. O kısmı denememiştim.

Diğer mesajımdaki kodu yeniledim. Tekrar dermisiniz.
 
ömer bey cok teşekkür ederim Allah razı olsun sorunumun en buyuk kısmıını bıtırdık sayenızde

ufak bır sorun kaldı daha once anlatamadım tam olarak:
sayım baslasın butonuna basınca acılan ekranda barkod gırıyoruz ve adet kısmına gecıyor orayı da enterlarsam sayıma devam edıyor halıyle bu ısı baya bır yavaslatıyor bunu cozmek ıcın ne yapabılrız

ben derım kı : adet kısmını uste alsak barkod altta kalsa ve adet kısmı yıne 1 de sabıt kalsa ama ben adet gırene kadar değişmese ve adet gırmem gereken yerı es gecip seri bir sekılde ben urunlerı okutmaya devam etsem yanı devamlı her urun okutttugumda entera basmasam
 
ömer bey şöyle bir şey aklıma geldi
adet yazan yer olamasa adet hıc gırmesek sadece barkod satırına barkod gırsek ve bırer adet eklese yalnız mısal adetı fazla urun oldugunda barkodun basına
120*9789752782556(barkodno)
yazsak ve 120 adet eklese
bu ıhtımal olursa cok mukemmel olur ne dersınız
 
Fazladan bir entera basmak hızı bukadar düşüreceğini sanmıyorum. İstediğiniz yapılabilir fakat tüm yapıyı değiştirmek gerekiyor. Sadece fazladan bir enter yapmamak için buna değer mi? Bence değmez. Siz yine tekrar düşünün derim.

Bana kalırsa bu haliyle çok daha kullnışlı ve mantıklı bir yapıdadır.
 
10000 e yaklasık urun cesıtı var tek tek bunların gırısını yapacagımı dusununce gercekten bu sekılde olması cok ıyı olacakrtır.
barkod makınesıyle raf raf dolasıp urunlerı tek tek okutacagız. her seferınde bılgısayarın basına donup enterlamamız gerkıcek ya da bır laptop bulup onla dolasmamız gerkıcek kı her seferınde entera basmak ne kadar zor olucak
eger yapabılırsek cok guzel olucak gercekten
 
Geri
Üst