• DİKKAT

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

Fatura Seri Çalışması

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
1,080
Excel Vers. ve Dili
excel 2010

excel 2013
Merhaba,

Ekteki gibi bir örnek dosyam mevcut. Yapmak istediğim ise şudur.

Düzenlenen satış faturalarının kontrolünü sağlamak. Üç ayrı fatura serisi için , userform üzerinde oluşturulan textboxlara her fatura serisinin başlangıç ve bitiş numaralarının sayısal değerleri yazılacak. Komut ilede olması gereken tüm numaralar ilgili sayfaya aktarılacak.

Örneğin A serisi için a1,a2,a3,a4 yazdırıldı, devamında B serisi için B1,B2,B3 gibi şeklinde serileri nasıl yazdırabilirim.

Dosya içinde kendi çalışmam var ancak mantığını tam oturtamadım .
 

Ekli dosyalar

Sayın walabi,

Biraz daha açıklayabilir misiniz? Dosyanız anlaşılır değil. Örnek sonucu da gösterebilir misiniz?
 
Sayın kuvari,

dosyada Faturalar adlı sayfa olması gereken yani sonuç verilerini içermekte.

Örneğin, ben fatura düzenleyen biri olarak A-600800 gibi bir fatura serisi ile ayın ilk günü fatura düzenlemeye başladım. Ayın sonuna geldiğimde A-600900 numaralı fatura ile de ayı kapatmış oldum. Böylesi bir durumda bana faturalar adlı sayfada olduğu gibi 600800 den 600900 dail olmak üzere tüm fatura numaralarını yazdırmak istiyorum.

Üç ayrı seri olduğunu düşürsek de örneğin,

A-600800 ile başlayıp A-600900 ile biten ( Seri-1)
CK-2000 ile başlayıp CK-2100 ile biten (Seri-2)
FFF2015000000001 ile başlayı FFF2015000000009 ile biten (Seri-3)

faturaların listesini deneme_2 adlı sayfaya yazdırmam gerekli
 
Sayın Kuvari,

Dosyayı güncelledim ve örnek_Sonuç adlı sayfada A sütunu almak istediğim sonucu göstermektedir.

Burda şunu belirtmeyi unuttum, her faturanın bir seri ve sıra numarası vardır.

Örneğin 600800 numaralı fatura A serisinden denir, ya da 2001 numaralı fatura CK serisinden.

userform üzerinde değişiklik yaptım , Seri ve Numara girişi olarak textboxkları gösterdim. Burda Seri bilgisi olabilir de olmayabilirde. Ancak Numara kısımları ( ilk ve son arası ) mutlaka olacak.

Benim istediğim sonuç asıl koşul olan başlangıç ve bitiş numaraları textboxlara girildiğinde bu aralıktaki numaraları A sütünuna yazdırmak.

Yani örneğin 100, 101 , 102, 1003 ..... 150 gibi.
Ancak seri girilirsede A100, A101, A102, A103, ..... A150 şeklinde olmasını sağlamak istiyorum

Umarım yeterlidir.
 

Ekli dosyalar

Konuyla ilgili bir çözüm var mıdır.
 
Sayın walabi dosyanız yine anlaşılmaz olmuş yada ben anlamıyorum.
Örnek sonuç dediğiniz sayfadaki verileri nasıl elde ettiniz anlayamadım.
Deneme sayfasındaki veri ne işimize yarayacak?
 
Sayın Kuvari,

Örnek sonuç verileri, userform üzerine yerleştirdiğim commanbutanların içinde yer alması gereken kodların bana vermesi gereken sonuç. Yani sadece örnek olarak yazılmış veriler.

İstediğim şudur. Bir fatura serisi ve sırası var diyelim . Serisi A ile başlayıp 1 den başlayıp 5 e kadar devam eden.

Sonuç şu olmalı.
A1
A2
A3
A4
A5

İkinci bir fatura serisi B olsun ve numarası 50 den başlayı 55 kadar olsun.

Sonuç şu olmalı,
B50
B51
B52
B53
B54
B55

Ve bu veriler satır başlığından sonra 2. satırdan itibaren alt alta sırayla yazdırılmalı.

Burda anlamadığınız yer sanırım şurası.

Textboxlar içine yazılacak değerlere göre bu sonuçlar nasıl elde edilecek.

Ben şöyle diyebiliyorum.

Başlangıç Sıra Numarası ( textbox2 ) ve Bitiş Sıra Numarası ( textbox4)

textbox4 ün değerinden textbox2 nin değerini çıkardığımızda elimizde bu seriye ait kaçtane yazdırılacak satır olduğu ortaya çıkmakta.


Örneğin A serisi için 1-5 demiştim. 5-1 = 4 , +1 eklersek 5 satır yazdırılacak
Örneğin B serisi için 50-55 demiştim. 55-50 = 5 + 1 eklersek 6 satır yazdırılmış olacak

Umarım anlatabilmişimdir.
 
Son düzenleme:
Merhaba.
Sayın kuvari de çözüm önerecektir ama hazırlamıştım göndereyim dedim.
En azından alternatif olur.

Yanlış anlamadıysam;
-- Deneme-2 sayfasındaki başlık hariç verilerinizi silin,
-- VBA ekranında form adına fareyle çift tıklayın,
-- sağ taraftaki tüm kodları silin,
-- yerine aşağıdakini yapıştırın,
-- Formu açarak denemeler yapın.
Sonuçlar Deneme-2 sayfasına yazılıyor.
.
Kod:
[B][COLOR="Blue"]Private Sub CommandButton1_Click()[/COLOR][/B]
Dim d2 As Worksheet: Set d2 = Sheets("Deneme_2")
If TextBox2 = "" Or TextBox4 = "" Then Exit Sub
If TextBox2 + 0 >= TextBox4 + 0 Then
    MsgBox "Başlangıç Bitiş'ten küçük sayı olmalıdır"
    Exit Sub
End If

ilk = d2.[A65536].End(3).Row
adet = TextBox4 - TextBox2 + 1
d2.Cells(ilk + 1, 1) = TextBox1 & 0 + TextBox2
d2.Cells(ilk + 1, 2) = "Seri-1"
no = 0 + TextBox2
For sat = ilk + 2 To ilk + adet
no = no + 1
    d2.Cells(sat, 1) = TextBox1 & no
    d2.Cells(sat, 2) = "Seri-1"
Next
TextBox1 = "": TextBox2 = "": TextBox4 = ""
MsgBox "LİSTELENDİ"
[B][COLOR="blue"]End Sub[/COLOR][/B]

[B][COLOR="blue"]Private Sub CommandButton2_Click()[/COLOR][/B]
Dim d2 As Worksheet: Set d2 = Sheets("Deneme_2")
If TextBox6 = "" Or TextBox8 = "" Then Exit Sub
If TextBox6 + 0 >= TextBox8 + 0 Then
    MsgBox "Başlangıç Bitiş'ten küçük sayı olmalıdır"
    Exit Sub
End If

ilk = d2.[A65536].End(3).Row
adet = TextBox8 - TextBox6 + 1
d2.Cells(ilk + 1, 1) = TextBox5 & 0 + TextBox6
d2.Cells(ilk + 1, 2) = "Seri-2"
no = 0 + TextBox6
For sat = ilk + 2 To ilk + adet
no = no + 1
    d2.Cells(sat, 1) = TextBox5 & no
    d2.Cells(sat, 2) = "Seri-2"
Next
TextBox5 = "": TextBox6 = "": TextBox8 = ""
MsgBox "LİSTELENDİ"
[B][COLOR="Blue"]End Sub[/COLOR][/B]

[B][COLOR="blue"]Private Sub CommandButton3_Click()[/COLOR][/B]
Dim d2 As Worksheet: Set d2 = Sheets("Deneme_2")
If TextBox10 = "" Or TextBox11 = "" Then Exit Sub
If TextBox10 + 0 >= TextBox11 + 0 Then
    MsgBox "Başlangıç Bitiş'ten küçük sayı olmalıdır"
    Exit Sub
End If

ilk = d2.[A65536].End(3).Row
adet = TextBox11 - TextBox10 + 1
d2.Cells(ilk + 1, 1) = TextBox9 & 0 + TextBox10
d2.Cells(ilk + 1, 2) = "Seri-3"
no = 0 + TextBox10
For sat = ilk + 2 To ilk + adet
no = no + 1
    d2.Cells(sat, 1) = TextBox9 & no
    d2.Cells(sat, 2) = "Seri-3"
Next
TextBox9 = "": TextBox10 = "": TextBox11 = ""
MsgBox "LİSTELENDİ"
[B][COLOR="blue"]End Sub[/COLOR][/B]

[B][COLOR="blue"]Private Sub CommandButton4_Click()[/COLOR][/B]
    Unload Me
[B][COLOR="blue"]End Sub[/COLOR][/B]
 
Sayın Ömer Baran çok teşekkürler,

Tam olarak istediğim gibi olmuş.
 
Geri
Üst