[Çözüldü]  cafe masa takip

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

cafe masa takip

İleti#1)  fguctekin » 03 Kas 2016 09:16

arkadaşlar selam,
bir arkadaşımın yeni açtığı cafe için excelde forumlarda gördüğüm, videolardan izlediğim kadarıyla masa takip programı yapmaya çalışıyorum, amaç arkadaşım günlük işini halledebilsin
programda bir yere kadar gelebildim fakat bir yerden sonra tabiri caizse çakıldım :D
şöyle ki;
masalar sayfasındaki herhangi bir masaya tıklayınca o masa ile alakalı listeden siparişler seçildiği zaman hem aktif masanın şipariş bilgileri altta görünüyor hem de liste sayfasına atıyor ve seçili masa kırmızı ilegösteriliyor. hesabı kapat dediğim zaman toplamı alıp bakiye bilgisini mesajla verdirip aktif masayı temizliyor. buraya kadar herhangi bir sorun gözükmeden işlemi gerçekleştiriyor.
takıldığım yer ise kapatılan masa tekrar açılmak istedindiği zaman önceski siparişleri tekrar getiriyor ve haliyle hesaplamaya dahil ediyor. getirdiği satırları sildiğim zaman ise veri yazamadığı için hata veriyor.
bir de listeler sayfasına yazılan verilerin silinmesini nasıl engelleyebirim
bu konuda yardımcı olabilir misiniz
şimdiden teşekkür ederim
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
fguctekin
 
Kayıt: 18 Ekm 2016 12:29
Meslek: muhasebe
Yaş: 34
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: cafe masa takip

İleti#2)  Yasin KURT » 03 Kas 2016 09:29

Merhaba fatih bey sitemize hoşgeldiniz.
İletilerinizi forum kuralları 20. maddeye uygun yazmaya özen gösterin lütfen.

20.Mesaj yazarken büyük harf kullanmak bağırmak anlamına geleceği için kesinlikle mesajınızın tamamını büyük harf kullanarak yazmayınız. Türkçe yazım kurallarında; cümlede kelimelerin ilk harfi büyük olur, özel isimlerin baş harfi büyük olur, noktadan sonra başlayan her kelimenin baş harfi büyük olur, mesaj içindeki tüm harfler büyük yazılmaz yahut tümü küçük yazılmaz. Sitemiz Türkçe karakter desteklemektedir ve i, ç , ş , ğ gibi harfleri kullanmanızda hiç bir sakınca yoktur.
yasinkurt06@ gmail.com
Ankara 0506 669 1079
Yasin KURT
Forum Moderatörü
 
Adı Soyadı:Yasin KURT
Kayıt: 08 Arl 2008 00:18
Konum: ANKARA
Yaş: 37
İleti: 3214
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara



Cevap: cafe masa takip

İleti#3)  fguctekin » 03 Kas 2016 09:41

Özür dilerim Yasin Bey
Kuralları okudum ama el alışkanğı :)
Kullanıcı avatarı
fguctekin
 
Kayıt: 18 Ekm 2016 12:29
Meslek: muhasebe
Yaş: 34
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: cafe masa takip

İleti#4)  Yasin KURT » 03 Kas 2016 10:09

Fatih bey çalışmanız güzel tebrik ederim.

Verileri çekerken bir tane daha kontrol eklerseniz belki sorun çözülür.
Süreci anlatayım. Siz kodlara işleyin.

1) Masa seç >>> Liste sayfasına git ve son sütunu "Dolu" olanları döngü ile "Masalar" sayfasına aktar
2) Listbox üzerinden ürün seç >>> inputboxa adet gir >>> Liste sayfasına kaydetsin (Son sütunu dolu olmak kaydıyla)
>>> Tekrar "Masa seç" olayındaki gibi "Masalar sayfasındaki verileri sil ve yeniden Dolu olanları aynı yere listele
3) Hesabı kapat tıkla >>> Liste sayfasındaki ilgili masanın son sütunları boş olarak değiştir....

Bu aşağıdaki kontrolü kodlara yedirmeyi deneyin.
Kod: Tümünü seç
if worksheets("Liste").Range("I" & i).Value = "DOLU" Then

End if
yasinkurt06@ gmail.com
Ankara 0506 669 1079
Yasin KURT
Forum Moderatörü
 
Adı Soyadı:Yasin KURT
Kayıt: 08 Arl 2008 00:18
Konum: ANKARA
Yaş: 37
İleti: 3214
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara



REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: cafe masa takip

İleti#5)  cher321 » 03 Kas 2016 10:23

CommandButton1_Click() de listede BOŞ değil KAPALI olarak değiştirdim. Worksheet_SelectionChange de de listelerken KAPALI olanları listeletmedim. Kaydet() işleminden sonra listelenirken de sadece DOLU olanlar listelettim. Kolay Gelsin Açıklamalar yanında
Kod: Tümünü seç
Private Sub CommandButton1_Click()
Dim HKes, ToplamSatır As Variant
HKes = MsgBox("Toplam Hesap = " & ActiveSheet.Range("P9") & " TL", vbOKCancel)
If HKes = 2 Then
Exit Sub
End If
ToplamSatır = WorksheetFunction.CountA(ActiveSheet.Range("m13:m50"))
For i = 13 To ToplamSatır + 12
BosalacakSatır = ActiveSheet.Range("T" & i)
Worksheets("Liste").Range("I" & BosalacakSatır) = "KAPALI"                                      ' BURDA MASA KAPANDIĞINDAN LİSTEDE KAPATTIK :)
Next i
Worksheets("Masalar").Range("M13:U50").ClearContents

End Sub


Kod: Tümünü seç
Sub Kaydet()
sonsatır = WorksheetFunction.CountA(Worksheets("Liste").Range("A:A")) + 1

Worksheets("Liste").Range("a" & sonsatır) = Worksheets("Masalar").Range("N9") 'masa no
Worksheets("Liste").Range("b" & sonsatır) = Worksheets("Masalar").Range("N3") 'tarih
Worksheets("Liste").Range("c" & sonsatır) = Worksheets("Masalar").Range("N4") 'ürün
Worksheets("Liste").Range("d" & sonsatır) = Worksheets("Masalar").Range("N5") 'adet
Worksheets("Liste").Range("e" & sonsatır) = Worksheets("Masalar").Range("N7") 'tutarı
Worksheets("Liste").Range("f" & sonsatır) = Worksheets("Masalar").Range("x4") 'maliyeti
Worksheets("Liste").Range("g" & sonsatır) = Worksheets("Masalar").Range("x5") 'kar
Worksheets("Liste").Range("h" & sonsatır).FormulaR1C1 = "=row()" 'satır
Worksheets("Liste").Range("I" & sonsatır) = "DOLU" 'durum

'Call Module1.Listele


    t = 12
   
    i = 0
   
    valer = Worksheets("Masalar").Range("M13")
   
    Worksheets("Masalar").Range("M13:U50").ClearContents
   

UrunSayısı = WorksheetFunction.CountA(Worksheets("Liste").Range("A:A"))
For i = 2 To UrunSayısı
   
    If Worksheets("Liste").Range("A" & i) = valer Then
      If Worksheets("Liste").Range("I" & i) = "DOLU" Then                                       'BURDADA DOLU KAYITLARI LİSTELİYORSUN
        t = t + 1
       
        Worksheets("Masalar").Range("m" & t) = Worksheets("Liste").Range("a" & i)
        Worksheets("Masalar").Range("n" & t) = Worksheets("Liste").Range("b" & i)
        Worksheets("Masalar").Range("o" & t) = Worksheets("Liste").Range("c" & i)
        Worksheets("Masalar").Range("p" & t) = Worksheets("Liste").Range("d" & i)
        Worksheets("Masalar").Range("q" & t) = Worksheets("Liste").Range("e" & i)
        Worksheets("Masalar").Range("r" & t) = Worksheets("Liste").Range("f" & i)
        Worksheets("Masalar").Range("s" & t) = Worksheets("Liste").Range("g" & i)
        Worksheets("Masalar").Range("t" & t) = Worksheets("Liste").Range("h" & i)
        Worksheets("Masalar").Range("u" & t) = Worksheets("Liste").Range("i" & i)
      End If
    End If
   
Next i


End Sub

Kod: Tümünü seç
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Intersect(Target, [m13:u50]) Is Nothing Then
   
    Image1.Visible = False


            If Intersect(Target, [C3,E3,G3,I3,C6,E6,G6,I6,C9,E9,G9,I9,C12,E12,G12,I12,C15,E15,G15,I15]) Is Nothing Then Exit Sub

            ActiveSheet.Range("N9") = ActiveCell.Value
            ActiveSheet.Range("w2") = ActiveCell.Value
            ActiveSheet.Range("ae2") = "DOLU"


    t = 12
   
    Worksheets("Masalar").Range("M13:U50").ClearContents
   

UrunSayısı = WorksheetFunction.CountA(Worksheets("Liste").Range("A:A"))
For i = 2 To UrunSayısı
   
    If ActiveCell.Value = Worksheets("Liste").Range("A" & i) Then
        If Worksheets("Liste").Range("I" & i) <> "KAPALI" Then                                  'BURDADA KAPALI KAYITLARI LİSTELEMİYORSUN
            t = t + 1
           
            Worksheets("Masalar").Range("m" & t) = Worksheets("Liste").Range("a" & i)
            Worksheets("Masalar").Range("n" & t) = Worksheets("Liste").Range("b" & i)
            Worksheets("Masalar").Range("o" & t) = Worksheets("Liste").Range("c" & i)
            Worksheets("Masalar").Range("p" & t) = Worksheets("Liste").Range("d" & i)
            Worksheets("Masalar").Range("q" & t) = Worksheets("Liste").Range("e" & i)
            Worksheets("Masalar").Range("r" & t) = Worksheets("Liste").Range("f" & i)
            Worksheets("Masalar").Range("s" & t) = Worksheets("Liste").Range("g" & i)
            Worksheets("Masalar").Range("t" & t) = Worksheets("Liste").Range("h" & i)
            Worksheets("Masalar").Range("u" & t) = Worksheets("Liste").Range("i" & i)
        End If
    End If

Next i

    End If
    If ActiveSheet.Range("T" & ActiveCell.Row) > 0 Then
        Image1.Visible = True
        Image1.Top = ActiveCell.Top
    Else
        Image1.Visible = False
    End If
   
End Sub
Kullanıcı avatarı
cher321
 
Kayıt: 31 Ekm 2016 13:17
Meslek: ögrenci
Yaş: 49
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: izmir

Cevap: cafe masa takip

İleti#6)  fguctekin » 03 Kas 2016 11:20

Sn. cher321 çok teşekkür ederim yardımlarınız için
Peki Listeler sekmesine atılan kayıtların kullanıcı tarafından silinmesini nasıl engelleyebilim?
Kullanıcı avatarı
fguctekin
 
Kayıt: 18 Ekm 2016 12:29
Meslek: muhasebe
Yaş: 34
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Cevap: cafe masa takip

İleti#7)  fguctekin » 03 Kas 2016 11:32

Yasin KURT yazdı:Fatih bey çalışmanız güzel tebrik ederim.

Verileri çekerken bir tane daha kontrol eklerseniz belki sorun çözülür.
Süreci anlatayım. Siz kodlara işleyin.

1) Masa seç >>> Liste sayfasına git ve son sütunu "Dolu" olanları döngü ile "Masalar" sayfasına aktar
2) Listbox üzerinden ürün seç >>> inputboxa adet gir >>> Liste sayfasına kaydetsin (Son sütunu dolu olmak kaydıyla)
>>> Tekrar "Masa seç" olayındaki gibi "Masalar sayfasındaki verileri sil ve yeniden Dolu olanları aynı yere listele
3) Hesabı kapat tıkla >>> Liste sayfasındaki ilgili masanın son sütunları boş olarak değiştir....

Bu aşağıdaki kontrolü kodlara yedirmeyi deneyin.
Kod: Tümünü seç
if worksheets("Liste").Range("I" & i).Value = "DOLU" Then

End if


Teşekkür ederim Yasin Bey,
Karınca kararınca hem arkadaşıma yardımda bulunmak hem de programlama merakımı bir nebze de olsa gidermek :)
Kullanıcı avatarı
fguctekin
 
Kayıt: 18 Ekm 2016 12:29
Meslek: muhasebe
Yaş: 34
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: cafe masa takip

İleti#8)  Yasin KURT » 03 Kas 2016 12:01

Çalışmalarınızda
Set s1=Worksheets("Sayfa1") gibi tanımlamalar kullanırsanız kodlarınız daha güzel görünür ve okunaklı olur.
yasinkurt06@ gmail.com
Ankara 0506 669 1079
Yasin KURT
Forum Moderatörü
 
Adı Soyadı:Yasin KURT
Kayıt: 08 Arl 2008 00:18
Konum: ANKARA
Yaş: 37
İleti: 3214
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara



Cevap: Cevap: cafe masa takip

İleti#9)  cher321 » 04 Kas 2016 11:05

fguctekin yazdı:Sn. cher321 çok teşekkür ederim yardımlarınız için
Peki Listeler sekmesine atılan kayıtların kullanıcı tarafından silinmesini nasıl engelleyebilim?


Satır sayısı kadar döndürün ve haftalık yada aylık işlem yoğunluna göre sıfırlayın. Yoksa liste arttıkça işlem süresi uzar.

alttaki koda bir suba atıp protect unprotect , locked unlocked uyarlayarak yada

liste de Worksheet_Activate() locked yap diğer sayfalarda da unlocked yap


For i = 1 To ' SATIR SAYISI KADAR DÖNDÜRÜN

Worksheets("Liste").Unprotect
Worksheets("Liste").Range("A" & i).Locked = True
Worksheets("Liste").Range("B" & i).Locked = True
.
.
Worksheets("Liste").EnableSelection = xlNoRestrictions
DoEvents
Next i
Kullanıcı avatarı
cher321
 
Kayıt: 31 Ekm 2016 13:17
Meslek: ögrenci
Yaş: 49
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: izmir

Cevap: cafe masa takip

İleti#10)  Vefa25 » 10 Mar 2019 23:13

İyi günler böyle bi program gerçekten cok kullanisli tesekkür ederim emegi geçen arkadaslara.

Yanliz hesabi kapat dediginde nakit yada kredi karti ile veya belli kismi nakit belli bi kismi kredi karti ile hesabi kapatabilsek.yardimci olabilirmisiniz rica etsem.
Kullanıcı avatarı
Vefa25
 
Kayıt: 01 Ekm 2017 12:03
Meslek: Muhasebe
Yaş: 33
İleti: 6
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Erzurum / Merkez

Cevap: cafe masa takip

İleti#11)  skat » 12 Mar 2019 10:54

Herkese iyi günler progaramın son halini paylaşabilir misiniz.? Teşekkür ederim
Kullanıcı avatarı
skat
Siteye Alışmış
 
Adı Soyadı:SITKI YAĞCI
Kayıt: 15 Haz 2008 00:17
Konum: ereğli
Meslek: I. Kademe Vardiya amiri/Yönetici
Yaş: 44
İleti: 224
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kdz.Ereğli


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Sogou ve 2 misafir

Bumerang - Yazarkafe