Belirli aralıktaki hücrelere kod yardımıyla sırasıyla rakam yazdırmak...

Katılım
4 Mart 2010
Mesajlar
292
Excel Vers. ve Dili
2010 TÜRKÇE
İyi günler,
İyi günler;
B3 hücresi ile H8 hücreleri arasında bir uygulama yapmak istiyorum.

Ve bütün bunları kod sayfasına yazarak yapmak istiyorum.Çünki bu tabloyu

tekrar tekrar kulanacağımdan dolayı içindeki verileri silip başka veriler

girmek durumunda olacağım.Kod yazılmazsa buraya yazılan formüller silinecektir.

B3 hücresine 1 rakamını yazdığımda otomatik olarak c3'e 2 , d3'e 3 ,e3'e 4 , f3'e 5

g3'e 6 . h3'e 7 yazsın. Veb8 den devam ederk h8'e kadar sırayla yamaya devam etsin.

Diyelim ki ben 1 rakamını d3'e yazdım .O zaman d3'den h8 e kadar sırayla yazsın. Bu arada

ben 1 rakamını en son h3'e yazabilirim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Sayfanın kod kısmına aşağıdaki kodları kopyalayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bak As Range
    Dim No As Integer
    If Not Intersect(Target, Range("B3:H3")) Is Nothing And Target = 1 And Not Target.Address = Range("H3").Address Then
        Application.EnableEvents = False
        For Each Bak In Range(Target(1, 2).Address & ":H3")
            No = No + 1
            Bak = No + 1
        Next
        Application.EnableEvents = True
    End If
End Sub
 
Son düzenleme:

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Farklı anlamış olabilirm.
Sayfanın kod kısmına kopyalayın.

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [B3:H3]) Is Nothing Then Exit Sub
    If Target.Columns.Count > 1 Or Target.Rows.Count > 1 Then Exit Sub
    If IsEmpty(Target.Value) Then Exit Sub
    If Target.Value <> 1 Then Exit Sub
    Application.EnableEvents = False
    Dim Dizi
    ReDim Dizi(1 To 6, 1 To 7)
    Range("B3:H8") = ""
    For i = 1 To 6
        For k = 1 To 7
            If (i = 1 And k >= Target.Column - 1) Or i > 1 Then
            x = x + 1
            Dizi(i, k) = x
            End If
        Next k
    Next i
    [B3].Resize(UBound(Dizi, 1), UBound(Dizi, 2)) = Dizi
    Application.EnableEvents = True
End Sub
 
Katılım
4 Mart 2010
Mesajlar
292
Excel Vers. ve Dili
2010 TÜRKÇE
Çok teşekkür ederim çok güzel olmuş,
peki aynı durumu daha aşağıdaki satır aralıklarında da yapabilirmiyim. Mesela B16 H21 arasında.
Ve hatta daha aşağılarda başka aralıklardada yapabilirmiyim.Bunun için kodlama tamamen değişmeli midir,
yoksa kod kısmında ilgili aralığı değiştirmem yeterli olurmu acaba...
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
İstediğiniz cevap Muzaffer beyin önerdiği mi yoksa benim önerdiğim mi belirtebilirseniz onun üzerinden ilerleyelim.

Bunu belirttikten sonra istediğiniz diğer aralıklar için belirli bir kural var mı yoksa rastgele midir?

Mesela hep 13 satır eklenerek mi gidecek?
Belirli bir başlık yada metin ifadesinden sonraki alan mıdır?
gibi bir kriter belirtebilir misiniz?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Diğer sorduklarıma da cevap verebilir misiniz?
 
Katılım
4 Mart 2010
Mesajlar
292
Excel Vers. ve Dili
2010 TÜRKÇE
Aslında bu bir takvim uygulaması ,
İlk soruyu sorduğumda B3 den başlattım, çünki birleştirilmiş ilk satırda Ayın ismi ve yıl yazıyor
alt satırda da günler yazdığı için 3.satırdan başladık.B2 ise kaçıncı haftada olduğumuzu gösteriyor.
Baştan şöyle anlatayım
A1 H1 birleştirilmiş bir hücre ve burada Ör: ocak 2021 yazıyor
A2 H2 aralığında hücrelerde Hafta/p.tesi / salı / çarş/per / cum/ c.tesi / pazar yazıyor
A3 de 1 yazıyor 1. hafta olduğundan daha sonrada o haftanın ilk günü ör.perşembeye geliyorsa perşembede 1 yazıyor ve böylece
devam ediyor. 31 ine kadar böyle devam ediyor.
ocak bitince excellde kesik çizgiler baz alınarak bu sefer şubat başlıyor..
Aynı sistem aralığa kadar devam ediyor. Yani her bir ay ecelin iki kesik çizgisi içinde yer alıyor.
Böyle birşey düşündüm. Ocak 1 salı ise salıya 1 yazayım aralığa kadar doldursun istedim ama zor olursa
her ayın 1. gününü manuel girip de yapabilirim
teşekkürler...
 
Katılım
4 Mart 2010
Mesajlar
292
Excel Vers. ve Dili
2010 TÜRKÇE
Evet bu çalışma çok güzel bir uygulama.Fakat ben bu takvimi A4'e ay ay çıkartıp bunları birleştirip
yıllık yaprak takvim yapıyorum.Bu uygulamayı yazıcıdan çıkardığımda takvimdeki butonlar da
çıkacak ve güzel bir görünüm olmayacaktır. Acaba bu butonları istediğim zaman gizleyip, istediğim zaman görünür yapabilirmiyiz.Eğer
bunu yapabilirsek tam istediğim gibi bir şey olur ve kullanabilirim ...
Teşekkür ederim ilginize şimdiden.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Butonların üstüne gelin
Sağ Click / Denetim Biçimlendir / özellikler / Nesneyi yazdır kutusudaki onayı iptal edin.
 
Katılım
4 Mart 2010
Mesajlar
292
Excel Vers. ve Dili
2010 TÜRKÇE
teşekkürler...
 
Üst