celikomerh
Altın Üye
- Katılım
- 8 Şubat 2021
- Mesajlar
- 24
- Excel Vers. ve Dili
- Excel2016
- Altın Üyelik Bitiş Tarihi
- 29-01-2026
Hayırlı akşamlar öncelikle.
Forumda bazı örnekler buldum ama ya doğru yapamadım yada istediğimi doğru arayamadım.
Aynı konuyu tekrar açtıysam affedersiniz.
Dosyam çok büyük ve bağlantılı olduğu için paylaşamıyorum, istediklerimi kodlar üzerinden anlatmaya çalışacağım.
Userform ile iki ayrı sayfaya veri girebiliyorum,
"Müşteri Dosyasına Kaydet" kodları ile girdiğim veriyi değiştirebiliyorum fakat aynı anda "Çek Defterine Kaydet" komutu ile diğer sayfada değişiklik yapamıyorum.
Umarım anlatabilmişimdir, ilgilenenler için şimdiden teşekkürler.
Private Sub CmdKaydet_Click()
'-----------------MÜŞTERİNİN DOSYASINA KAYDET
If IsDate(TbTarih) = False Or TbTarih = "" Then
BilgiMesajı ("Hatalı Tarih...")
Exit Sub
End If
If (CDbl(SayıKontrol(TbTutar))) = 0 Then
BilgiMesajı ("Tutar Girilmedi...")
Exit Sub
End If
If KNo = "" Then
KNo = "K" & wsData.Range("A2") + 1
wsData.Range("A2") = wsData.Range("A2") + 1
Satır = wsDetay.Cells(Rows.Count, "A").End(3).Row + 1
End If
wsDetay.Cells(Satır, "A") = CDate(TbTarih)
wsDetay.Cells(Satır, "B") = "Tahsilat"
wsDetay.Cells(Satır, "C") = Cbİşlem
wsDetay.Cells(Satır, "D") = CbKeşideci
If Cbİşlem.Value = "Çek" Then
wsDetay.Cells(Satır, "F") = CDate(TbÇekVade)
Else
wsDetay.Cells(Satır, "F") = ""
End If
wsDetay.Cells(Satır, "H") = CDbl(SayıKontrol(TbTutar))
wsDetay.Cells(Satır, "I") = "=SUM(R5C7:RC[-2])-SUM(R5C8:RC[-1])"
wsDetay.Cells(Satır, "J") = KNo
wsDetay.Sort.SortFields.Clear
wsDetay.Sort.SortFields.Add Key:=Range("A5:A1040000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With wsDetay.Sort
.SetRange Range("A4:K1040000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'-----------------ÇEK DEFTERİNE KAYDET
If Cbİşlem.Value = "Çek" Then
On Error Resume Next
If TbKno <> KNo Then
ÇekDefterKayıt = wsÇekler.Cells(Rows.Count, "A").End(3).Row + 1
wsÇekler.Cells(ÇekDefterKayıt, "A") = CDate(TbTarih)
wsÇekler.Cells(ÇekDefterKayıt, "B") = UF03_MüşteriGözlem.TbS1
wsÇekler.Cells(ÇekDefterKayıt, "C") = CbKeşideci
wsÇekler.Cells(ÇekDefterKayıt, "D") = CDbl(SayıKontrol(TbTutar))
wsÇekler.Cells(ÇekDefterKayıt, "E") = CDate(TbÇekVade)
wsÇekler.Cells(ÇekDefterKayıt, "F") = KNo
wsÇekler.Cells(ÇekDefterKayıt, "G") = "=IF(RC[-2]>TODAY(),IF(RC[-5]=RC[-4],RC[-3],""""),"""")"
wsÇekler.Cells(ÇekDefterKayıt, "H") = "=IF(RC[-3]>TODAY(),IF(RC[-6]=RC[-5],"""",RC[-4]),"""")"
wsÇekler.Cells(ÇekDefterKayıt, "I") = "=SUM(RC[-2]:RC[-1])"
wsÇekler.Sort.SortFields.Clear
wsÇekler.Sort.SortFields.Add2 Key:=Range("E2:E1040000") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With wsÇekler.Sort
.SetRange Range("A1:I1040000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End If
End Sub
Forumda bazı örnekler buldum ama ya doğru yapamadım yada istediğimi doğru arayamadım.
Aynı konuyu tekrar açtıysam affedersiniz.
Dosyam çok büyük ve bağlantılı olduğu için paylaşamıyorum, istediklerimi kodlar üzerinden anlatmaya çalışacağım.
Userform ile iki ayrı sayfaya veri girebiliyorum,
"Müşteri Dosyasına Kaydet" kodları ile girdiğim veriyi değiştirebiliyorum fakat aynı anda "Çek Defterine Kaydet" komutu ile diğer sayfada değişiklik yapamıyorum.
Umarım anlatabilmişimdir, ilgilenenler için şimdiden teşekkürler.
Private Sub CmdKaydet_Click()
'-----------------MÜŞTERİNİN DOSYASINA KAYDET
If IsDate(TbTarih) = False Or TbTarih = "" Then
BilgiMesajı ("Hatalı Tarih...")
Exit Sub
End If
If (CDbl(SayıKontrol(TbTutar))) = 0 Then
BilgiMesajı ("Tutar Girilmedi...")
Exit Sub
End If
If KNo = "" Then
KNo = "K" & wsData.Range("A2") + 1
wsData.Range("A2") = wsData.Range("A2") + 1
Satır = wsDetay.Cells(Rows.Count, "A").End(3).Row + 1
End If
wsDetay.Cells(Satır, "A") = CDate(TbTarih)
wsDetay.Cells(Satır, "B") = "Tahsilat"
wsDetay.Cells(Satır, "C") = Cbİşlem
wsDetay.Cells(Satır, "D") = CbKeşideci
If Cbİşlem.Value = "Çek" Then
wsDetay.Cells(Satır, "F") = CDate(TbÇekVade)
Else
wsDetay.Cells(Satır, "F") = ""
End If
wsDetay.Cells(Satır, "H") = CDbl(SayıKontrol(TbTutar))
wsDetay.Cells(Satır, "I") = "=SUM(R5C7:RC[-2])-SUM(R5C8:RC[-1])"
wsDetay.Cells(Satır, "J") = KNo
wsDetay.Sort.SortFields.Clear
wsDetay.Sort.SortFields.Add Key:=Range("A5:A1040000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With wsDetay.Sort
.SetRange Range("A4:K1040000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'-----------------ÇEK DEFTERİNE KAYDET
If Cbİşlem.Value = "Çek" Then
On Error Resume Next
If TbKno <> KNo Then
ÇekDefterKayıt = wsÇekler.Cells(Rows.Count, "A").End(3).Row + 1
wsÇekler.Cells(ÇekDefterKayıt, "A") = CDate(TbTarih)
wsÇekler.Cells(ÇekDefterKayıt, "B") = UF03_MüşteriGözlem.TbS1
wsÇekler.Cells(ÇekDefterKayıt, "C") = CbKeşideci
wsÇekler.Cells(ÇekDefterKayıt, "D") = CDbl(SayıKontrol(TbTutar))
wsÇekler.Cells(ÇekDefterKayıt, "E") = CDate(TbÇekVade)
wsÇekler.Cells(ÇekDefterKayıt, "F") = KNo
wsÇekler.Cells(ÇekDefterKayıt, "G") = "=IF(RC[-2]>TODAY(),IF(RC[-5]=RC[-4],RC[-3],""""),"""")"
wsÇekler.Cells(ÇekDefterKayıt, "H") = "=IF(RC[-3]>TODAY(),IF(RC[-6]=RC[-5],"""",RC[-4]),"""")"
wsÇekler.Cells(ÇekDefterKayıt, "I") = "=SUM(RC[-2]:RC[-1])"
wsÇekler.Sort.SortFields.Clear
wsÇekler.Sort.SortFields.Add2 Key:=Range("E2:E1040000") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With wsÇekler.Sort
.SetRange Range("A1:I1040000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End If
End Sub