Hücredeki formülü belli aralıkta atlayarak kopyalayan formül

Katılım
25 Ocak 2006
Mesajlar
764
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
W3 deki formülü 6 satır atlayarak w3 - w 1071 arasında (w9 - w15 ... w1071) formül olarak yapıştıracak bir kod yazılabilir mi? bunu seçenekli hale getirirsek eğer, örnek olarak a3 seçili olduğunda aynısını a3 den başlayarak b3 seçili ise b3 den başlayacak şekilde yapacak bir kod olabilir mi? teşekkürler...
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Bence sorunuz çok net değil. Sanıyorum 6 satırlık bir ritim ile belli bir sütundaki verileri listelemek istiyorsunuz.

Sorularınızı; gerçek belgenizin, özel bilgi içermeyen kopyası şeklinde hazırlayacağınız örnek belge üzerinden sorarsanız
daha hızlı ve net çözüme ulaşmanız kolaylaşır.
Ayrıca ekleyeceğiniz belgeye, olması gereken sonuçları, olması gereken hücrelere elle yazarak örneklendirip,
bu sonuçlara nasıl ulaştığınıza dair kısa ve net açıklama eklemeniz yerinde olur.

Örnek belge özellikleri ve örnek belge yükleme yöntemine ilişkin kısa açıklama cevabımın altındaki İMZA bölümünde var.
.
 
Katılım
25 Ocak 2006
Mesajlar
764
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Merhaba.
Bence sorunuz çok net değil. Sanıyorum 6 satırlık bir ritim ile belli bir sütundaki verileri listelemek istiyorsunuz.
.
seçili hücreden itibaren aşağı doğru 6 satırlık bir ritim ile seçtiğin hücredeki formülün kopyalanmasını istiyorum. bunun için örnek dosya nasıl verebilirim bilemedim...
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Soru çok afaki.
Gerçek belgenizin bir örneğini ekleyip, istediğiniz işlemdeki AMACI belirtirseniz mesafe kat etmeniz mümkün olabilir.
Örnek belge olmayınca verilecek cevaplar gereksiz yazışmalara neden olup, zaman kaybına neden olur ve sonuca ulaşılması da güçleşir.

Örneğin hep 3'üncü satırdan bahsetmişsiniz, başka seçenek yok mudur? başka satır seçildiğinde işlem yapılmayacak mıdır?
seçilen hücrede formül yoksa ne olacaktır, 1071 sayısı sabit midir? kopyalanmasını istediğiniz formüller aşağı doğru kopyalandığında sorunsuz çalışacak yapıda mıdır? vs.vs.

Belirttiğim gibi bu tür afaki sorularla sonuca ulaşmanız güç ama yine de bir cevap yazayım;
-- alt taraftan ilgili sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin.
-- açılacak VBA ekranında sağdaki boş alana aşağıdaki kod blokunu yapıştırın.

Kod, seçilen hücre 3'üncü satırda ve formül içeriyorsa, aynı sütunda,
9'uncu satırdan başlayarak 6'satır atlamak suretiyle ilgili formülü aşağı doğru kopyalar.
Rich (BB code):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 3 And Target.HasFormula = True Then
    For sat = 9 To 1071 Step 6
        Cells(3, Target.Column).Copy Cells(sat, Target.Column)
    Next
End If
End Sub
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Alternatif;
Kod:
Sub FormulKopyala()
    xy = InputBox("Bir hücre referansı girin")
    x = Range("" & xy & "").Row
    y = Range("" & xy & "").Column
    For i = x To 30 Step 6
          Cells(x, y).Copy Cells(i, y)
    Next
End Sub
 
Katılım
25 Ocak 2006
Mesajlar
764
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
ömer bey, teşekkürler. yaptığınız oldu ama 3. satıra bastığımda her defasında işlem yapıyor.
hamitcan bey, tam istediğim gibi oldu. bana sadece son kopyalanacak yeri değiştirmek kaldı.
her ikinize de teşekkürler.
 
Katılım
13 Ocak 2019
Mesajlar
2
Excel Vers. ve Dili
2016 tr
Alternatif;
Kod:
Sub FormulKopyala()
    xy = InputBox("Bir hücre referansı girin")
    x = Range("" & xy & "").Row
    y = Range("" & xy & "").Column
    For i = x To 30 Step 6
          Cells(x, y).Copy Cells(i, y)
    Next
End Sub
bu kodda cancel a basınca hata veriyor, bunu düzeltme şansı var mı. bir de son hüceyi otomatik belirlemek için ne yapılabilir. bir yerden referans bir yazı olabilir mi. belirli bir sütundaki toplam yazan son bir hücre aratarak mesela.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Son Hücreyi bulmak için forumda bir çok örnek mevcut. Ben bir tanesini paylaşıyorum.
Kod:
 sonhucre = [a1000000].end(3).row

Makroyu durdurmak için aşağıdaki çözümlere bakabilirsiniz.

https://www.excel.web.tr/threads/makro-calisirken-esc-tusu-ile-durdurmak.41990/

Excelde Çalışan Makroyu Durdurmak
Yayın Tarihi: 25 Ocak 2013, 15:14 Yazar: suleymantosun
Merhaba arkadaşlar,
Bu konuda yoğun olarak arama yapıldığını gördüğüm için kısaca belirtmek istedim. Excel dosyalarınızda özellikle makro güvenliklerine dikkat etmeniz gerekmektedir. Bazen farkında olmadan bir dosyanın açılışında yer alan makro kodları sebebiyle ciddi sıkıntılar yaşamanız mümkün olabilir.
Tüm bunları engellemek için öncelikle mutlaka güvenlik seviyenizle ilgili değişiklikleri yapın. Bunlara rağmen çalışan veya isteğinizle birlikte çalıştırdığınız makroları (loop söz konusu olmuşsa) durdurmak için Ctrl+Alt+Pause/Break tuşlarını birlikte kullanarak durdurmanız mümkündür, sonrasında kodun kaldığı noktadan itibaren makronun mevcut durumunu izlemek isterseniz bu durumda Debug seçeneği ile devam edebilirsiniz.
Süleyman TOSUN, PMP
 
Katılım
25 Ocak 2006
Mesajlar
764
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Kod:
Sub FormulKopyala()
    xy = InputBox("başlangıç hücresini seç")
    sh = InputBox("son hücreyi seç")
    X = Range("" & xy & "").Row
    y = Range("" & xy & "").Column
    For i = X To sh Step 6
          Cells(X, y).Copy Cells(i, y)
    Next
End Sub
son hücreyi bu şekilde çözdüm.
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
ömer bey, teşekkürler. yaptığınız oldu ama 3. satıra bastığımda her defasında işlem yapıyor.
........ teşekkürler.
Tekrar merhaba.
Verdiğim kod'un örneğin 3'üncü satırdaki hücreye fareyle çift tıkladığınızda çalışmasını isterseniz;
kod'un başlık satırını aşağıdaki satır ile değiştirebilirsiniz. Bu durumda; End Sub satırından önce Cancel=True şeklinde bir satır ekleyin.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
Üst