A sütunundaki veri kadar formül yazdırmak

X

xlsx

Misafir
Selam Arkadaşlar
Çok basit olabilir ancak doğru kodu bulamadım.
A sütununda 1den 15e kadar veriler var.B sütununa yanlarına formül yazdıracağım ama A sütununda bu veriler bazen 10 oluyor bazen 5.ben örneğin 5 olursa B sütunundada formül atınca B6'a formülün yazmasını istemiyorum mesela.
A sütunundaki satırı sayıp B'e formülü doldururken adaki satıra baksın.
örnek:
Kod:
Sub Macro2()
'
'
    ActiveCell.Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",""dolu"")"
    Selection.AutoFill Destination:=ActiveCell.Range("A1:A19")
    ActiveCell.Range("A1:A19").Select
    ActiveCell.Select
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,434
Excel Vers. ve Dili
Ofis 365 Türkçe
Örnegi inceleyiniz

Kod:
Public Sub Formul_Yaz()
For i = 1 To [A65536].End(3).Row
Cells(i, "B") = "Formülünüzü Yazın"
Next i
End Sub
 
X

xlsx

Misafir
Selam Necdet Bey,
Sizin önerdiğiniz kod oluyor.doğru.
Ancak benim dosyamda kodlar hazır ve oldukca uzun satırlar mevcut.Benim gönderdiğim basit örnek üzerinde sadece bir kac yeri değiştirerek mümkün olabilir mi.Aksi takdirde sizin önerdiğiniz kodla değişiklikler yapmak zorunda kalıcam.
dosya da ekleyemiyorum o nedenle örnekle açıkladım..
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Kod:
Public Sub Formul_Yaz()
[COLOR=blue][b:b].ClearContents[/COLOR]
For i = 1 To [A65536].End(3).Row
If Cells(i, "A") <> "" Then
Cells(i, "B") = "Dolu"
End If
Next i
End Sub

Herhalde böyle de olur. A sütunu dolu ise B sütununa "Dolu" Yazar
 
Son düzenleme:
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
[b:b].ClearContents
For i = 1 To [A65536].End(3).Row
If Cells(i, "A") <> "" Then
Cells(i, "B") = "Dolu"
End If
Next i
End Sub
Sayfanın kod sayfasına yazın.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu &#351;ekilde de kullanabilirsiniz.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
[a65000].End(3).Range("b1") = "Yap&#305;lacak &#304;&#351;lem"
End Sub
 
X

xlsx

Misafir
tşk

selam
dosya olmadan tam anlaşılır olmayabiliyor.
ben aslında a1-a19u istediğim herhangi bir formülle doldururken Selection.AutoFill Destination:=ActiveCell.Range("A1:A19") bu kod içinde bulunana a19 yerine a1000 yazarak a sütunundaki verinin 1000i geçmeyeceğini bildiğim için sorunu çözmüştüm..ama olur ya 1000den fazla olursa benim haricimdeki kullanıcılar farketmeyebilir diye sorun ettim.
Dolu boş olayı tamamen bir örnek.oraya farklı bir formül gelecek..
diğer kodları deneyim hbr vereceğim arkadaşlar.Tşk.Elinize sağlık
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Olu&#351;turdu&#287;unuz kodu a&#351;a&#287;&#305;daki &#351;ekilde de&#287;i&#351;tirip denermisiniz.

Kod:
Sub FORM&#220;L_KOPYALA()
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",""Dolu"")"
    Selection.AutoFill Destination:=ActiveCell.Range("A1:A" & [A65536].End(3).Row)
End Sub
 
Üst