• DİKKAT

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

Soru Banka talimatı makro düzenlemesi

  • Konbuyu başlatan Konbuyu başlatan TU&AS
  • Başlangıç tarihi Başlangıç tarihi
Katılım
8 Kasım 2017
Mesajlar
23
Öncelikle belirtmek isterim ki kendimce bir excel kullanıcısıyım. İhtiyaçlarım doğrultusunda formül yada makroları veya başkalarının hazırladıkları dosyaları kendi ihtiyaçlarıma göre uyarlayıp hem öğrenmeye hem de işimi görmeye çalışıyorum.

Banka talimatı isimli dosya da aslında başka birisinin hazırladığı bir dosya bende bunu kendime göre uyarlamaya çalıştım banka talimat çalışmasını düzenleyen kişi macro ile "Talimat hazırlama" sayfasında banka, firma, tutar, açıklama kısımlarını doldurup ekle butonuna basınca 21 satırdan itibaren aşağı doğru ekleme ve kaydırma işlevini gerçekleştirmiş ta ki 7 talimat sonrası 40 satıra kadar. Ben bu sayfada A sütununun yanına sütun ekle yaptım amacım oraya firmaları ekleyerek( tabi sonrasında gizleyerek) listeden firma bilgilerinin ilk harfini girerek listeyi sadeleştirip seçim yapmaktı. Bu bahsettiğim olayı bir şekilde hallettim ancak yukarıda bahsettiğim satır kayması nedeni ile a sütunundaki liste ve buna bağlı diğer sütundaki formüller bozuldu. Bir kaç başka yöntem daha denedim olmadı geriye sadece 21. sütundan başlayan aşağı kayma olayını B 21: E23 şeklinde aşağı kaydırabilir miyiz
Aslında excel de de macro da da çok çok iyi değilim ama formulleri macroları ihtiyacım doğrultusunda kendi çalışmalarıma deneme yanılmalarla uyarlayarak bir şeyler yapmaya çalışıyorum. bu sefer fena takıldım beni aştı.
dosyayı ekliyorum umarım yardımcı olabileceğiniz bir yolu vardır.
herkese selamlar saygılar.
 

Ekli dosyalar

Sanırım ;İmkansız bir şey istedim... Olur yada olmaz en azından yorumlarınızı alabilseydim.
 
Merhaba,
If Sayfa1.Cells(36, 2) = "" Then
Rows("36:36").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B18:E20").Select
Selection.Copy
Range("B36").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.ClearContents
Range("B36:B38").Select

Sayfa1.Cells(36, 2) = "7"
Sayfa1.Cells(36, 3) = Sayfa1.Cells(7, 4)
Sayfa1.Cells(38, 3) = "Açıklama : " & Sayfa1.Cells(9, 4)
For i = 2 To Sayfa3.Range("A65536").End(3).Row
If Sayfa1.Cells(7, 4) = Sayfa3.Cells(i, 1) Then
Sayfa1.Cells(36, 4) = Sayfa3.Cells(i, 2) & " ," & Sayfa3.Cells(i, 3)
Sayfa1.Cells(37, 4) = Sayfa3.Cells(i, 4)
Else
End If
Next i
Sayfa1.Cells(36, 5) = Sayfa1.Cells(8, 4)
Sayfa1.Cells(39, 5) = Sayfa1.Cells(18, 5) + Sayfa1.Cells(21, 5) + Sayfa1.Cells(24, 5) + Sayfa1.Cells(27, 5) + Sayfa1.Cells(30, 5) + Sayfa1.Cells(33, 5) + Sayfa1.Cells(36, 5)
Sayfa1.Range("D7:D9").ClearContents
Else
MsgBox "En fazla 7 kayıt yapılmaktadır."

Bu makro için bu kısmı Else nin altına düzenleyerek eklemen lazım. Ancak her yeni kayıt için eklemen lazım.

Biraz sabırlı olursanız üstadlar daha kolay bir çözüm sunabilirler...
Saygılar...
 
Biraz sabırlı olursanız üstadlar daha kolay bir çözüm sunabilirler...
Saygılar...
Merhabalar;
Öncelikle çözüm için yazdığınız kod için teşekkür ederim. Macroda hiç iyi değilim kod içeriklerini inceleyerek deneme yanılmalarla isteğime göre düzeltmeye çalışıyorum. ( O ooo işin zor dediğinizi duyar gibiyim :) dolayısıyla cevabınızda verdiğiniz kodu da tam olarak nereye eklemem gerekiyor çözemedim ve her yeni kayıttan kastınız da girdiğim her yeni talimat kaydı mı ?
 
Merhaba,

Sizin de belirttiğiniz gibi bu kodlar 7 kayıt için, siz sanırım sınırsız istiyorsunuz? Bu nedenle for next veya do while gibi döngüler kullanılması lazım. Maalesef ben de kodda iyi değilim. Kendimi geliştirmek için akşam bu kodlarla uğraşacağım. Üstadların vakti olduğunda mutlaka yardımcı olacaklardır. Konu çok basit değil (bize göre). Biraz sabır....
 
Aslında 7 talimat benim içinde yeterli sadece 21. satırdan başlayan kayma B 21: E23 den başlasın böyle olunca A,J,K da da açılma olmayacak ve o hücreler arasındaki formüllerde bozulmayacak.
 
Merhaba,
Bu satırları pasif ederseniz istediğiniz olacaktır. 2,3,4,5,6,7 hepsini pasif yapmalısınız.

If Sayfa1.Cells(27, 2) = "" Then
Rows("27:27").Select
' Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
' Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
' Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Range("B18:E20").Select
Selection.Copy
Range("B27").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.ClearContents
Range("B27:B29").Select
 
Merhaba,
Kodlardaki ilgili kısımları seçerek resimdeki düğmeye tıklayınız. Aynı şekilde diğer satırları da yapınız. istediğinizde ilgili yerleri seçip sağındaki tuşla geri aktif edebilirsiniz.
Tek tek yapmak isterseniz satırın başına Shift +2 ile ' işaretini koyabilirsiniz.
 

Ekli dosyalar

  • Adsız.png
    Adsız.png
    117.1 KB · Görüntüleme: 10
Son düzenleme:
Hocam çok teşekkür ettim ya vallahi oldu. Ancak çok önemli olmasa da küçük bir ayrıntı çıktı görsellik açısından toplam satırında talimat ekledikçe yani 2. talimattan sonra hücre çizgileri kayboluyor ve biçim bozuluyor. teşekkür içinde bu nedenle geç kaldım biraz uğraştım ama çözemedim. boş bir vaktinizde bakma şansınız varsa yoksa da hakkınızı helal edin benim için zor ve önemli kısmını halletmişsiniz. Teşekkür ederim.
 
Merhaba,

Sanırım istediğiniz oldu. Ekte resimde anlatmaya çalıştım.
 

Ekli dosyalar

  • Adsız.png
    Adsız.png
    79.8 KB · Görüntüleme: 17
Merhaba,

Sanırım istediğiniz oldu. Ekte resimde anlatmaya çalıştım.
Hocam Gerçekten çok teşekkür ediyorum. Eline emeğine sağlık. bir kaç ufak dokunuş daha planlıyorum ama öncelikle kendim halletmeye çalışacağım. Takılırsam yine size dönüş yapma müsaadesi istesem çok mu yüzsüzlük yapmış olurum bilemiyorum ama yinede de tekrar tekrar teşekkür ederim.
 
Merhaba,

Yapabileceğim bir şey olursa elimizden geleni yaparız. Biz de bu site sayesinde bir şeyler öğreniyoruz.
Kolay gelsin...
 
Geri
Üst