• DİKKAT

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

Döngü ile Son Dolu Satıra Kadar Satır Silme

  • Konbuyu başlatan Konbuyu başlatan ahmedummu
  • Başlangıç tarihi Başlangıç tarihi
A

ahmedummu

Misafir
Merhaba arkadaşlar.

Aşağıdaki kod ile en son dolu satıra kadar satır silmek istiyorum. Örnek 16 dolu satır var ise önce 8 satırı yani yarısını siliyor. Kodu bir daha çalıştırdığımda, bu kez kalan 8 satırın yarısını yani 4 satırı siliyor. Bir daha çalıştırdığımda, kalan 4 satırın 2 sini yani yarısını siliyor. Ta ki dolu satır bitene kadar böyle devam ediyor. Hata nerede yardımcı olursanız sevinirim.

Sheets("ÇİZELGE").Select
'Range("b5").Select
For i = 5 To [b65000].End(xlUp).Row 'Step 1
Cells(i, "b").Select
Selection.EntireRow.Delete
Next i
 
Aşağıdaki kodlarda da aynısını yapıyor.

Sheets("ÇİZELGE").Select
For i = 5 To [b65000].End(xlUp).Row
Rows(i).Delete
Next i
 
Kod:
For i = 5 To [b65000].End(xlUp).Row 'Step 1
yerine

Kod:
For i = [b65000].End(xlUp).Row to 5 Step -1
Kullanın.

Silme işlemlerinde baştan sona değil de sondan başa doğru gidilmesi gerekmektedir.
 
Buna da bakabilir misiniz?. Hücrelere hiç birşey yazmıyor.

Sheets("ÜBORD").Select
Range("b1").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
'Dim saat_ucreti_eski, saat_ucreti_yeni As double, gelir_vergisi_orani, damga_vergisi_orani, sgk_kesintisi_devlet, sgk_kesintisi_kisi As single

'saat_ucreti_eski = Sheets("SABİTLER").Range("b9").Value
'saat_ucreti_yeni = Sheets("SABİTLER").Range("b8").Value
'gelir_vergisi_orani = Sheets("SABİTLER").Range("b4").Value
'damga_vergisi_orani = Sheets("SABİTLER").Range("b5").Value
'sgk_kesintisi_devlet = Sheets("SABİTLER").Range("b6").Value
'sgk_kesintisi_kisi = Sheets("SABİTLER").Range("b7").Value

ActiveCell(0, 0).Value = adi
ActiveCell(0, 5).Value = toplam
ActiveCell(0, 6).Value = saat_ucreti_yeni
ActiveCell(0, 8).Value = toplam * saat_ucreti_yeni
ActiveCell(0, 9).Value = ActiveCell(0, 8).Value * sgk_kesintisi_kisi
ActiveCell(0, 10).Value = WorksheetFunction.Sum(ActiveCell(0, 8).Value) + WorksheetFunction.Sum(ActiveCell(0, 9).Value)
 
Alttaki Activecell ifadelerinden sonra ".Offset" ifadesini ekleyin.

Örneğin
ActiveCell(0, 0).Value = adi
ifadesi
ActiveCell.Offset(0, 0).Value = adi
olmalı. O satırların hepsine .Offset ifadesini ekleyin.

Ayrıca kodlarda kesme işareti ile başlayan satırlar makroda çalışmaz. Bu nedenle saat_ucreti_yeni ve sgk_kesintisi_kisi gibi değişkenler tanımlanmamış olduğundan kodlar çalışmaz. Orta kısımdaki kesme işaretlerini silmeniz gerekir. Silerseniz o satırların rengi yeşilden normale dönecektir.
 
Merhabalar.

Şimdide,

'AGİ HESAPLAMA
Dim agi1, agi2, agisonuc, asgari_ucret, kisi_agi_orani As Integer
asgari_ucret = Sheets("SABİTLER").Range("b12").Value
kisi_agi_orani = TextBox42.Value 'BU SATIRDA HATA VERİYOR.
agi1 = asgari_ucret / 12
agi2 = agi1 * kisi_agi_orani
agisonuc = agi2 * 0.15 / 12
ActiveCell.Offset(0, 12).Value = agisonuc
'AGİ HESAPLAMA SONU

Type mismatch uyarı veriyor. Textbox42'nin program içindeki değeri 50
 
Böyle soruları örnek dosyası sormanız bu şekilde sürekli yeni sorunlar çıkarır genelde.

Tam bilmiyorum ancak textbox42.Value*1 olarak deneyin.
 
Merhaba Yusuf Bey.

Dediğiniz gibi denedim. Yine olmadı. Dosyayı gönderiyorum.

Listbox2'den bir isim seçip (Sağ üst köşedeki) ders saatleri girilecek.
Puantaja Kaydet-Bordro Hesapla butonuna basınca ders saatlerini kaydediyor. Bordro bilgilerini hesaplarken hata veriyor. Hata veren kodlar, butonun en altında.
 

Ekli dosyalar

Merhabalar.

Ayrıca,

1'den 17'ye kadar olan Textboxların değerlerini toplatmak istiyorum. Aşağıdaki kodlar ile Type mistmatch hatası veriyor. Çözemedim bir türlü. Yardımcı olursanız sevinirim. Bir önceki sorumda değişkenlerle ilgili. O da aynı hatayı veriyor.

Dim gun1 As Byte, say, say1 As Integer
For gun1 = 1 To 17
say = Controls("textbox" & gun1).Value
say1 = say1 + say
Next gun1
ActiveCell.Offset(0, 3).Value = say1
 
Moderatör tarafında düzenlendi:
Aslında daha önceki önerimden yola çıkarak sorunu çözebilirsiniz. Textbox'lar adı üstünde text yani metin kutusudur. Muhtemelen textboxa girilen veriler metin olarak işlem gördüğünden ama say ve say1 değişkenleriniz sayı biçiminde olduğundan type mismatch yani tür uyumsuzluğu hatası alıyorsunuz.
say = Controls("textbox" & gun1).Value*1

Olarak deneyin.
 
Kişi agi oranı'nı textbox42'den almışsınız ama textbox42'ye aylık vergi matrahının girileceğini belirtmişsiniz. Bu bir çelişki midir? textbox42'ye oran mı girilecek matrah mı?
 
Son cevaplarımı dikkate almayınız, konu benim bilgimi aşıyor maalesef :(
 
say = Controls("textbox" & gun1).Value*1

Böyle de aynı uyarıyı verdi.

Textbox42 AGİ oranını alıyor. Başlık adı yanlışlıkla yazılmış.

İlginize teşekkürler.
 
Merhabalar.

Ayrıca,

1'den 17'ye kadar olan Textboxların değerlerini toplatmak istiyorum. Aşağıdaki kodlar ile Type mistmatch hatası veriyor. Çözemedim bir türlü. Yardımcı olursanız sevinirim. Bir önceki sorumda değişkenlerle ilgili. O da aynı hatayı veriyor.

Dim gun1 As Byte, say, say1 As Integer
For gun1 = 1 To 17
say = Controls("textbox" & gun1).Value
say1 = say1 + say
Next gun1
ActiveCell.Offset(0, 3).Value = say1

10 nolu mesajınızdaki dosya ile ilgili siz bu kodları hangi nesnede kullanıyorsunuz veya hangi komut sistemi tetikliyor bu kodu
 
Hayırlı sabahlar Halit Bey.

Userform1 de bulunan Commandbutton2 de kullanıyorum. (Puantaj kaydet-bordro hesapla) Text1'den Text17'ye kadar olan textlerin değerlerini toplayacak. Type mismatch hatası veriyor.

Birde Text42 için de type mismatch hatası veriyor. Değişken tipi byte. Text 42 programın içinde minimum 50 maximum 95 değerlerini alıyor.

Commandbutton2'de iki kod bloğu var. 1. Yani üstteki Puantaja kaydediyor. 2. Bordro hesaplaması yapıyor. Hata veren kodlar Bordro hesaplaması kod bloğunda. Yani altlarda.
 
Moderatör tarafında düzenlendi:
Kod:
Private Sub CommandButton2_Click()
If TextBox33.Value = "" Or TextBox33.Value = 0 Then
MsgBox ("Lütfen öğretmenin ders saatlerini giriniz")
TextBox40.SetFocus
Else

 Sheets("ÇİZELGE").Select
Range("b4").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

Dim adi, gorevi As String, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, toplam As Integer

adi = TextBox39.Value
gorevi = TextBox40.Value
p3 = TextBox1.Value
p4 = TextBox2.Value
p5 = TextBox3.Value
p6 = TextBox4.Value
p7 = TextBox5.Value
p8 = TextBox6.Value
p9 = TextBox7.Value
p10 = TextBox8.Value
p11 = TextBox9.Value
p12 = TextBox10.Value
p13 = TextBox11.Value
p14 = TextBox12.Value
p15 = TextBox13.Value
p16 = TextBox14.Value
p17 = TextBox15.Value
p18 = TextBox16.Value
p19 = TextBox17.Value
p20 = TextBox18.Value
p21 = TextBox19.Value
p22 = TextBox20.Value
p23 = TextBox21.Value
p24 = TextBox22.Value
p25 = TextBox23.Value
p26 = TextBox24.Value
p27 = TextBox25.Value
p28 = TextBox26.Value
p29 = TextBox27.Value
p30 = TextBox28.Value
p31 = TextBox29.Value
p32 = TextBox30.Value
p33 = TextBox31.Value
toplam = TextBox33.Value

    
'Dim i As Integer
'For i = 2 To 32
'ActiveCell.Offset(0, i).Value = Controls("textbox" & i - 1).Value
'Next i

ActiveCell.Offset(0, 0).Value = adi
ActiveCell.Offset(0, 1).Value = gorevi
ActiveCell.Offset(0, 2).Value = p3
ActiveCell.Offset(0, 3).Value = p4
ActiveCell.Offset(0, 4).Value = p5
ActiveCell.Offset(0, 5).Value = p6
ActiveCell.Offset(0, 6).Value = p7
ActiveCell.Offset(0, 7).Value = p8
ActiveCell.Offset(0, 8).Value = p9
ActiveCell.Offset(0, 9).Value = p10
ActiveCell.Offset(0, 10).Value = p11
ActiveCell.Offset(0, 11).Value = p12
ActiveCell.Offset(0, 12).Value = p13
ActiveCell.Offset(0, 13).Value = p14
ActiveCell.Offset(0, 14).Value = p15
ActiveCell.Offset(0, 15).Value = p16
ActiveCell.Offset(0, 16).Value = p17
ActiveCell.Offset(0, 17).Value = p18
ActiveCell.Offset(0, 18).Value = p19
ActiveCell.Offset(0, 19).Value = p20
ActiveCell.Offset(0, 20).Value = p21
ActiveCell.Offset(0, 21).Value = p22
ActiveCell.Offset(0, 22).Value = p23
ActiveCell.Offset(0, 23).Value = p24
ActiveCell.Offset(0, 24).Value = p25
ActiveCell.Offset(0, 25).Value = p26
ActiveCell.Offset(0, 26).Value = p27
ActiveCell.Offset(0, 27).Value = p28
ActiveCell.Offset(0, 28).Value = p29
ActiveCell.Offset(0, 29).Value = p30
ActiveCell.Offset(0, 30).Value = p31
ActiveCell.Offset(0, 31).Value = p32
ActiveCell.Offset(0, 32).Value = p33
ActiveCell.Offset(0, 33).Value = toplam

'Range("AI55").Value = WorksheetFunction.Sum(Range("AI4:AI54").Value)
'TextBox48.Value = Sheets("ÇİZELGE").Range("aı55").Value

If Not IsNumeric(ActiveCell.Offset(-1, -1)) Then 'bir sol ve bir üst hücrenin nümerik olup olmadığı kontrol ediliyor
ActiveCell.Offset(0, -1).Value = 1 'eğer nümerik değil ise aktif hücrenin bir soldaki hücrenin değeri 1 oluyor
Else
ActiveCell.Offset(0, -1).Value = ActiveCell.Offset(-1, -1).Value + 1 'nümerik ise aktif hücrenin bir solundaki hücrenin değeri, aktif hücrenin bir solundaki ve bir üstündeki hücre değerinin 1 afzlasını alıyor
End If

sayfa = "ÇİZELGE" 'ActiveSheet.Name
son = Worksheets(sayfa).Cells(Rows.Count, 2).End(3).Row
Sheets(sayfa).Cells(son + 1, "AI").Value = WorksheetFunction.Sum(Sheets(sayfa).Range(Sheets(sayfa).Cells(2, "AI"), Sheets(sayfa).Cells(son, "AI")).Value)

For x = 1 To 31
Controls("textbox" & x).Value = ""
Next x

Call temizle

 Dim topla As Double
    Sheets("ÇİZELGE").Select

    With ListBox1
        .ColumnCount = 35
        .ColumnWidths = "20;100;50;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;30"
        .RowSource = "A4:AL" & Cells(Rows.Count, "B").End(xlUp).Row + 1
    End With
End If

Dim a As Byte
For a = 1 To 4
Controls("commandbutton" & a).Enabled = False
Next a
CommandButton7.Enabled = False

'BURADA BORDROYA KAYIT YAPILIYOR.
Sheets("ÜBORD").Select
Range("b1").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Dim saat_ucreti_eski, saat_ucreti_yeni As Double, gelir_vergisi_orani, damga_vergisi_orani, sgk_kesintisi_devlet, sgk_kesintisi_kisi As Single

saat_ucreti_yeni = Sheets("SABİTLER").Range("b5").Value
saat_ucreti_eski = Sheets("SABİTLER").Range("b6").Value
gelir_vergisi_orani = Sheets("SABİTLER").Range("b7").Value
damga_vergisi_orani = Sheets("SABİTLER").Range("b8").Value
sgk_kesintisi_devlet = Sheets("SABİTLER").Range("b9").Value
sgk_kesintisi_kisi = Sheets("SABİTLER").Range("b10").Value

ActiveCell.Offset(0, 0).Value = adi
ActiveCell.Offset(0, 5).Value = toplam
ActiveCell.Offset(0, 6).Value = saat_ucreti_yeni
ActiveCell.Offset(0, 8).Value = toplam * saat_ucreti_yeni
'ActiveCell.Offset(0, 9).Value = Format(ActiveCell.Offset(0, 8).Value, "#,##,0") * Format(sgk_kesintisi_kisi, "#,##,0")
ActiveCell.Offset(0, 9).Value = ActiveCell.Offset(0, 8).Value * sgk_kesintisi_kisi
ActiveCell.Offset(0, 10).Value = WorksheetFunction.Sum(ActiveCell.Offset(0, 8).Value) + WorksheetFunction.Sum(ActiveCell.Offset(0, 9).Value)
'Format(TextBox125.Value, "#,###,0")
ActiveCell.Offset(0, 11).Value = ActiveCell.Offset(0, 10).Value * gelir_vergisi_orani
'AGİ HESAPLAMA
Dim agi1, agi2, agisonuc, asgari_ucret, kisi_agi_orani As Integer
asgari_ucret = Sheets("SABİTLER").Range("b12").Value
kisi_agi_orani = TextBox42.Value * 1
agi1 = asgari_ucret / 12
agi2 = agi1 * kisi_agi_orani
agisonuc = agi2 * 0.15 / 12
ActiveCell.Offset(0, 12).Value = ActiveCell.Offset(0, 11).Value - agisonuc
'AGİ HESAPLAMA SONU
ActiveCell.Offset(0, 13).Value = ActiveCell.Offset(0, 10).Value * damga_vergisi_orani
ActiveCell.Offset(0, 14).Value = ActiveCell.Offset(0, 10).Value * sgk_kesintisi_devlet
ActiveCell.Offset(0, 15).Value = ActiveCell.Offset(0, 10).Value * sgk_kesintisi_kisi
ActiveCell.Offset(0, 16).Value = WorksheetFunction.Sum(ActiveCell.Offset(0, 14).Value) + WorksheetFunction.Sum(ActiveCell.Offset(0, 15).Value)
End Sub

kodunuz bu şekilde text nesnelerindeki veriler toplanınca bu taplam tutar ne olacak
 
Merhaba Halit bey.

Gönderdiğiniz kodları commandbutton2'ye olduğu gibi yapıştırdım.

kisi_agi_orani=Textbox42.value SATIRINDA HATA VERGİ (Type mistmatch)

Ayrıca gönderdiğiniz kodlarda Textbox1 ile Textbox17 toplamlarını içeren kod bloğu yok.

Yani aşağıdaki textlerin toplanmasını içeren kod bloğu gönderdiğiniz kod bloğunun içinde yok.
Dim gun1 As Byte, say, say1 As Integer
For gun1 = 1 To 17
say = Controls("textbox" & gun1).Value
say1 = say1 + say
Next gun1
ActiveCell.Offset(0, 3).Value = say1

'BURADA BORDROYA KAYIT YAPILIYOR.
Sheets("ÜBORD").Select
Range("b1").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Dim saat_ucreti_eski, saat_ucreti_yeni As Double, gelir_vergisi_orani, damga_vergisi_orani, sgk_kesintisi_devlet, sgk_kesintisi_kisi As Single

saat_ucreti_yeni = Sheets("SABİTLER").Range("b5").Value
saat_ucreti_eski = Sheets("SABİTLER").Range("b6").Value
gelir_vergisi_orani = Sheets("SABİTLER").Range("b7").Value
damga_vergisi_orani = Sheets("SABİTLER").Range("b8").Value
sgk_kesintisi_devlet = Sheets("SABİTLER").Range("b9").Value
sgk_kesintisi_kisi = Sheets("SABİTLER").Range("b10").Value

ActiveCell.Offset(0, 0).Value = adi
ActiveCell.Offset(0, 5).Value = toplam
ActiveCell.Offset(0, 6).Value = saat_ucreti_yeni
ActiveCell.Offset(0, 8).Value = toplam * saat_ucreti_yeni
'ActiveCell.Offset(0, 9).Value = Format(ActiveCell.Offset(0, 8).Value, "#,##,0") * Format(sgk_kesintisi_kisi, "#,##,0")
ActiveCell.Offset(0, 9).Value = ActiveCell.Offset(0, 8).Value * sgk_kesintisi_kisi
ActiveCell.Offset(0, 10).Value = WorksheetFunction.Sum(ActiveCell.Offset(0, 8).Value) + WorksheetFunction.Sum(ActiveCell.Offset(0, 9).Value)
'Format(TextBox125.Value, "#,###,0")
ActiveCell.Offset(0, 11).Value = ActiveCell.Offset(0, 10).Value * gelir_vergisi_orani
'AGİ HESAPLAMA
Dim agi1, agi2, agisonuc, asgari_ucret, kisi_agi_orani As Integer
asgari_ucret = Sheets("SABİTLER").Range("b12").Value
kisi_agi_orani = TextBox42.Value * 1
agi1 = asgari_ucret / 12
agi2 = agi1 * kisi_agi_orani
agisonuc = agi2 * 0.15 / 12
ActiveCell.Offset(0, 12).Value = ActiveCell.Offset(0, 11).Value - agisonuc
'AGİ HESAPLAMA SONU
ActiveCell.Offset(0, 13).Value = ActiveCell.Offset(0, 10).Value * damga_vergisi_orani
ActiveCell.Offset(0, 14).Value = ActiveCell.Offset(0, 10).Value * sgk_kesintisi_devlet
ActiveCell.Offset(0, 15).Value = ActiveCell.Offset(0, 10).Value * sgk_kesintisi_kisi
ActiveCell.Offset(0, 16).Value = WorksheetFunction.Sum(ActiveCell.Offset(0, 14).Value) + WorksheetFunction.Sum(ActiveCell.Offset(0, 15).Value)
End Sub
 
Moderatör tarafında düzenlendi:
Userformu nasıl çalıştırıyorsunuz komut düğmesi yok userformdaki nesneleri kilitlemişsiniz.

Bu işlemleride bizlerin yapması demek baya zaman almak demek.

Öneri: Dosyanız ile ilgili bundan sonraki yapmanız gerekenler

dosya şifresiz ve küçük boyutlu olmalı
userformları çalıştıran komut düğmeleri aktif olmalı
userformdaki nesnelerde kısıtlama olmamalı

Sorularınız net olmalı örnek userformun içindeki CommandButton1 düğmesinde şu işlemi yapamıyorum gibi.

dosyanız ile yardım alma işiniz bitince şifre ve kısıtlamaları kendiniz yaparsınız.

bu kodu bir deneyiniz.

Kod:
Private Sub CommandButton2_Click()

If Val(TextBox42.Value) <= 0 Then MsgBox ("Lütfen aylık vergi matrağı yuk"): Exit Sub


If TextBox33.Value = "" Or TextBox33.Value = 0 Then
MsgBox ("Lütfen öğretmenin ders saatlerini giriniz")
TextBox40.SetFocus
Else


ListBox1.RowSource = ""


Sheets("ÇİZELGE").Select
Range("b4").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

Dim adi, gorevi As String, toplam As Integer

adi = TextBox39.Value
gorevi = TextBox40.Value

ActiveCell.Offset(0, 0).Value = adi
ActiveCell.Offset(0, 1).Value = gorevi
    
Dim i As Integer
For i = 1 To 33
ActiveCell.Offset(0, i + 1).Value = Controls("textbox" & i).Value
Next i


'Range("AI55").Value = WorksheetFunction.Sum(Range("AI4:AI54").Value)
'TextBox48.Value = Sheets("ÇİZELGE").Range("aı55").Value

If Not IsNumeric(ActiveCell.Offset(-1, -1)) Then 'bir sol ve bir üst hücrenin nümerik olup olmadığı kontrol ediliyor
ActiveCell.Offset(0, -1).Value = 1 'eğer nümerik değil ise aktif hücrenin bir soldaki hücrenin değeri 1 oluyor
Else
ActiveCell.Offset(0, -1).Value = ActiveCell.Offset(-1, -1).Value + 1 'nümerik ise aktif hücrenin bir solundaki hücrenin değeri, aktif hücrenin bir solundaki ve bir üstündeki hücre değerinin 1 afzlasını alıyor
End If

sayfa = "ÇİZELGE" 'ActiveSheet.Name
son = Worksheets(sayfa).Cells(Rows.Count, 2).End(3).Row
Sheets(sayfa).Cells(son + 1, "AI").Value = WorksheetFunction.Sum(Sheets(sayfa).Range(Sheets(sayfa).Cells(2, "AI"), Sheets(sayfa).Cells(son, "AI")).Value)

'For x = 1 To 31
'Controls("textbox" & x).Value = ""
'Next x





Dim a As Byte
For a = 1 To 4
Controls("commandbutton" & a).Enabled = False
Next a
CommandButton7.Enabled = False

'BURADA BORDROYA KAYIT YAPILIYOR.
Sheets("ÜBORD").Select
Range("b1").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Dim saat_ucreti_eski, saat_ucreti_yeni As Double, gelir_vergisi_orani, damga_vergisi_orani, sgk_kesintisi_devlet, sgk_kesintisi_kisi As Single

saat_ucreti_yeni = Sheets("SABİTLER").Range("b5").Value
saat_ucreti_eski = Sheets("SABİTLER").Range("b6").Value
gelir_vergisi_orani = Sheets("SABİTLER").Range("b7").Value
damga_vergisi_orani = Sheets("SABİTLER").Range("b8").Value
sgk_kesintisi_devlet = Sheets("SABİTLER").Range("b9").Value
sgk_kesintisi_kisi = Sheets("SABİTLER").Range("b10").Value

ActiveCell.Offset(0, 0).Value = adi
ActiveCell.Offset(0, 5).Value = toplam
ActiveCell.Offset(0, 6).Value = saat_ucreti_yeni
ActiveCell.Offset(0, 8).Value = toplam * saat_ucreti_yeni
'ActiveCell.Offset(0, 9).Value = Format(ActiveCell.Offset(0, 8).Value, "#,##,0") * Format(sgk_kesintisi_kisi, "#,##,0")
ActiveCell.Offset(0, 9).Value = ActiveCell.Offset(0, 8).Value * sgk_kesintisi_kisi
ActiveCell.Offset(0, 10).Value = WorksheetFunction.Sum(ActiveCell.Offset(0, 8).Value) + WorksheetFunction.Sum(ActiveCell.Offset(0, 9).Value)
'Format(TextBox125.Value, "#,###,0")
ActiveCell.Offset(0, 11).Value = ActiveCell.Offset(0, 10).Value * gelir_vergisi_orani
'AGİ HESAPLAMA
Dim agi1, agi2, agisonuc, asgari_ucret, kisi_agi_orani As Integer
asgari_ucret = Sheets("SABİTLER").Range("b12").Value
kisi_agi_orani = TextBox42.Value * 1
agi1 = asgari_ucret / 12
agi2 = agi1 * kisi_agi_orani
agisonuc = agi2 * 0.15 / 12
ActiveCell.Offset(0, 12).Value = ActiveCell.Offset(0, 11).Value - agisonuc
'AGİ HESAPLAMA SONU
ActiveCell.Offset(0, 13).Value = ActiveCell.Offset(0, 10).Value * damga_vergisi_orani
ActiveCell.Offset(0, 14).Value = ActiveCell.Offset(0, 10).Value * sgk_kesintisi_devlet
ActiveCell.Offset(0, 15).Value = ActiveCell.Offset(0, 10).Value * sgk_kesintisi_kisi
ActiveCell.Offset(0, 16).Value = WorksheetFunction.Sum(ActiveCell.Offset(0, 14).Value) + WorksheetFunction.Sum(ActiveCell.Offset(0, 15).Value)

Call temizle
Sheets("ÇİZELGE").Select

With ListBox1
.ColumnCount = 35
.ColumnWidths = "20;100;50;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;30"
.RowSource = "A4:AL" & Cells(Rows.Count, "B").End(xlUp).Row + 1
End With
End If


End Sub

Ayrıca benim fikrimi soracak olursanız ActiveCell.Offset prosüdürünü kullanmayın hücredin tam adresini kullanan metotları kullanın
Sheets("sayfa1").Cells(1.1).Value
Sheets("sayfa1").Range("A1").Value
bunlar gibi

Nesnelere gelince nesneleri ardışık kullanın bir birini takip etsin

ilk satırınzda bu nesneler var
TextBox39.Value
TextBox40.Value

halbükü ilk satırınızda

TextBox1.Value
TextBox2.Value

olsaydı bir çok işlemler daha kısa kodlarla yazılabilirdi.
 
Geri
Üst