[yardım talebi] Satır silinince kodlarda da değişim olurmu

Katılım
24 Aralık 2004
Mesajlar
63
Excel Vers. ve Dili
2003tr
Merhabalar;
Arkadaşlar merhaba... Fazla bilgili olmadığım için acemice bir soru olabilir. Affınıza sığınarak soruyorum. Yazdığım makro kodları şöyle


Sub Makro1()
'
' Makro1 Makro
' Makro aytaç tarafından 13.11.2006 tarihinde kaydedildi.
'


For i = 6 To 400
Range("D6:K6").Select
Selection.Copy


If Cells(i, 14) > 0 Then
Cells(i, 4).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("AA6:AC6").Select
Selection.Copy
Cells(i, 27).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("P6").Select
Selection.Copy
Cells(i, 16).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False


For a = 1 To 36
d = 101 - a
b = Cells(i, 27) * d / 100
If b < Cells(576, 2) Then
Cells(i, 30) = "%" & d & "Drb"
Exit For
Else
End If
Next
Else
Cells(i, 4) = ""
Cells(i, 5) = ""
Cells(i, 6) = ""
Cells(i, 7) = ""
Cells(i, 8) = ""
Cells(i, 9) = ""
Cells(i, 10) = ""
Cells(i, 11) = ""
Cells(i, 27) = ""
Cells(i, 28) = ""
Cells(i, 29) = ""
Cells(i, 30) = ""

End If
Next
End Sub


Şimdi sorum şu ben herhangi bir satır sildiğimde şöyle bi sıkıntı oluyor makroyada girip hücre değerlerini ayarlamam gerekiyor. Bunu kendisi yapabilir mi_? Yoksa excel ile yapabileceklerimiz hayal gücümüz ile değilde gerçeklerle mi sınırlı_? Şimdiden teşekkürler kolay gelsin
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Olmaz san&#305;yordum ama &#220;stad ne diyorsa odur.. (A&#351;a&#287;&#305;da)
 

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
Ayta&#231;;121213' Alıntı:
&#350;imdi sorum &#351;u ben herhangi bir sat&#305;r sildi&#287;imde &#351;&#246;yle bi s&#305;k&#305;nt&#305; oluyor makroyada girip h&#252;cre de&#287;erlerini ayarlamam gerekiyor. Bunu kendisi yapabilir mi_? Yoksa excel ile yapabileceklerimiz hayal g&#252;c&#252;m&#252;z ile de&#287;ilde ger&#231;eklerle mi s&#305;n&#305;rl&#305;_? &#350;imdiden te&#351;ekk&#252;rler kolay gelsin
Hangi de&#287;erleri makroda de&#287;i&#351;tiriyorsunuz? Yapt&#305;&#287;&#305;n&#305;z i&#351;lemin detay&#305;n&#305; yazarm&#305;s&#305;n&#305;z. Bu i&#351;lemi sayfadaki sat&#305;r veya s&#252;tun de&#287;erlerini tekrardan okuyarak bir de&#287;i&#351;kene atay&#305;p kod i&#231;inde bunu kullanabilirsiniz. Yani &#231;&#246;z&#252;m&#252; olduk&#231;a kolayd&#305;r. Excelde yapabileceklerinizi inan&#305;n hayal g&#252;c&#252;n&#252;zlede tahmin edemezsiniz.
 
Katılım
24 Aralık 2004
Mesajlar
63
Excel Vers. ve Dili
2003tr
üstadım aşagıdaki satırlarda basit bir işlem yapıyor ve bunu kullanıyor
For a = 1 To 36
d = 101 - a
b = Cells(i, 27) * d / 100
If b < Cells(576, 2) Then
Cells(i, 30) = "%" & d & "Drb"
Exit For
Else
End If
Next


4. satırda bir karşılaştırma olarak görülen ifade aslında şöyle hesaplar ile çıkan rakamı sayfanın O ANDA 576. satırın 2. sutunun da bulunan değerle kıyaslıyo. Fakat hergün bi kaç defa satır ekleme veya silme durumu oluyor. ve 576ıncı satırda olması gereken sayının yeri değişiyor. dolayısı ile sürekli bunu kontrol edip satır numarasını makro kodlarında değiştirmem gerekiyo. istediğim ben satır silersem veya eklersem kod da ona göre değişsin. Örneğin:
3 satır silersem
"If b < Cells(576, 2) Then" ifadesi
"If b < Cells(573, 2) Then" olsun
satır eklersem de eklediğim kadar orada artsın
Şirket verileri olduğundan dosyayı yollayamıyorum kusura bakmayın . umarım çok şey istemiyorumdur ilginize çok teşekkür ediyorum
 

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
Sorunuza bu şekilde cevap vermek zor, 576. satırdaki veri sabit bir verimidir yani yeri değişsede kendisi hep sabitmi kalmaktadır. Veya bu veri bir formüllemi alınmaktadır. Çünkü yapılacak işlem bu veriyi oluşturan kriterleri vba içine yazmak şeklinde olacaktır. Mümkünse dosyanızın önemli ve gizli verileri silerek oluşturduğunuz bir kopyasını ekleyin.
 

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
&#350;&#246;yle bir i&#351;lem yap&#305;labilir. &#214;rne&#287;in IV1 h&#252;cresine =B576 form&#252;l&#252;n&#252; yaz&#305;n. Daha sonrada kulland&#305;&#287;&#305;n&#305;z kodu a&#351;a&#287;&#305;daki gibi d&#252;zenleyin.

Kod:
If b < Cells(576, 2) Then
Yukar&#305;daki sat&#305;r&#305; a&#351;a&#287;&#305;daki gibi de&#287;i&#351;tirin.

Kod:
if b<Range(Replace([iv1].Formula, "=", "")) then
 
Katılım
24 Aralık 2004
Mesajlar
63
Excel Vers. ve Dili
2003tr
işe yaradı :D

özellikle leventm size çok teşekkür ediyorum işe yaradı...
B576 daki değer sabit bu arada o değişmiyor... Sadece satır ekleme veya çıkartmalarda yeri değişiyor.
Herneyse ilginize çok teşekkür ederim dediğiniz gibi excelle yapabileceklerimiz sadece hayal ettiklerimizle sınırlı
 
Katılım
24 Aralık 2004
Mesajlar
63
Excel Vers. ve Dili
2003tr
Tekrar teşekkürler

B576 ki şimdi o satır yine değişti verdiğiniz kod sayesinde artık zorlanmıyorum; bir hedef ve zamanla bu sabit değerimizi değiştiriyoruz -hedefimizi yeniliyoruz-bu arada makro müdürümüzün çok hoşuna gitmeye başladı sürekli hedefle oynayıp yukarıda ki yaklaşık 15000 değerin nası değiştiğini ve en optimum hedefin kaç olduğu denemeye başladı işi gücü bırakıp :-D

yardımlarınız için tekrar teşekkürler,
 
Üst