ÇAKIŞAN KODLAR

Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
ÇAKIÞAN KODLAR

ARKADAÞLAR; TAM DA HARİKA BİR DOSYA YAPTIM DERKEN BİR DE BAKTIM HATA VERİYOR MAALESEF. SORUN ÞU:

HEM

Sub Bossil()
On Error Resume Next
For Each sec In Range("b35:b241")
If sec.Value = 0 Then
k = k + sec.Address & ","
End If
Next sec
k = Mid(k, 1, Len(k) - 1)
Range(k).Select
Selection.EntireRow.Delete
Range("J32").Select
End Sub

HEM DE

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then [c20].Select
If Intersect(Target, [c20:j32]) Is Nothing Then Exit Sub
If Target.Column < 10 Then Target.Offset(0, 1).Select
If Target.Column = 10 Then Target.Offset(1, -7).Select
End Sub

KODLARINI KULLANIYORUM AMA
BOSSIL MAKROSUNU ÇALIÞTIRINCA
Then Target.Offset(0, 1).Select
SATIRINDA HATA VERİYOR.
YARDIMLARINIZI BEKLERİM.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki gibi değiştirerek deneyin.

[vb:1:9725793d0a]Sub Bossil()
On Error Resume Next
For Each sec In Range("b35:b241")
If sec.Value = 0 Then
k = k + sec.Address & ","
End If
Next sec
k = Mid(k, 1, Len(k) - 1)
Range(k).EntireRow.Delete
End Sub[/vb:1:9725793d0a]
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
TEK DEÐİÞEN, ÞİMDİ SAYFADA C17:I32 ARASINDAKİ DEÐERLİ KOPYALAYIP ALTA YAPIÞTIRIYOR. NEREDE HATA YAPIYORUM?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin.

[vb:1:1016196531]Sub Bossil()
For a = 241 To 35 Step -1
If Cells(a, "b") = 0 Then Rows(a).Delete
Next
End Sub[/vb:1:1016196531]

Not:kodun çalışması biraz uzun sürebilir.
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
sn.leventm,
bu yolladığınız kod hatasız çalışıyor fakat çok ağır çalışıyor. en son yolladığım "deneme" adlı dosyadaki kodu düzeltme şansınız var mı? o kodla, işlem 1 saniye bile sürmüyor.
teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin çok hızlı çalışacaktır.

[vb:1:639806f26d]Sub Bossil()
On Error Resume Next
For Each sec In Range("b35:b241")
If sec.Value = 0 Then sec.ClearContents
Next sec
[b35:b241].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
[/vb:1:639806f26d]
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
muhteşemsiniz sayın leventm. :bravo:
size microsoft ödül vermeli. Allah binlerce kez razı olsun. beni çok büyük bir sıkıntıdan kurtardınız. :dua: :dua: :dua:
 
Üst