• DİKKAT

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

[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
 
Olmaz san&#305;yordum ama &#220;stad ne diyorsa odur.. (A&#351;a&#287;&#305;da)
 
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.
 
ü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
 
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.
 
&#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
 
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ı
 
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,
 
Geri
Üst