• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan xlsx
  • Başlangıç tarihi Başlangıç tarihi
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
 
Ö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
 
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..
 
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:
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.
 
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
 
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
 
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
 
Geri
Üst