Satırları tek tek Enter 'lamak

excellkurdu

Altın Üye
Katılım
16 Nisan 2008
Mesajlar
313
Excel Vers. ve Dili
Türkçe Microsoft Office Excel 2007
Altın Üyelik Bitiş Tarihi
22-03-2026
Arkadaşlar aşağıdaki kodun kısa hali nasıl yapılır?
Amacım C5 den başlayarak, C250 ye kadar hücreleri tek tek seçip enter lamak.

Kod:
Sub C_Yenileme()
[C5].Select
ActiveCell.FormulaR1C1 = Range("C5")
[C6].Select
ActiveCell.FormulaR1C1 = Range("C6")
[C7].Select
ActiveCell.FormulaR1C1 = Range("C7")
[C8].Select
ActiveCell.FormulaR1C1 = Range("C8")
[C9].Select
ActiveCell.FormulaR1C1 = Range("C9")
[C10].Select
ActiveCell.FormulaR1C1 = Range("C10")
[C11].Select
ActiveCell.FormulaR1C1 = Range("C11")
'250 ye kadar devam ediyor. ..................
End Sub
 

y.selim

Altın Üye
Katılım
13 Nisan 2013
Mesajlar
237
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
18-05-2025
Merhaba
Bu şekilde deneyin

Kod:
Sub C_Yenileme()
For i = 5 To 250
    Cells(i, 3).Select
    ActiveCell.FormulaR1C1 = Range("c" & i)
Next i
End Sub
 

excellkurdu

Altın Üye
Katılım
16 Nisan 2008
Mesajlar
313
Excel Vers. ve Dili
Türkçe Microsoft Office Excel 2007
Altın Üyelik Bitiş Tarihi
22-03-2026
Merhaba
Bu şekilde deneyin

Kod:
Sub C_Yenileme()
For i = 5 To 250
    Cells(i, 3).Select
    ActiveCell.FormulaR1C1 = Range("c" & i)
Next i
End Sub
Hocam Allah razı olsun. Gayet güzel çalıştı.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Hücreyi seçmeye gerek yok.:cool:
Kod:
Sub C_Yenileme()
For i = 5 To 250
    Cells(i, 3).Value = Range("c" & i).Value
Next i
End Sub
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif:

Kod:
Sub Test()
    Range("C5:C250") = Range("C5:C250").Value
End Sub
.
 

excellkurdu

Altın Üye
Katılım
16 Nisan 2008
Mesajlar
313
Excel Vers. ve Dili
Türkçe Microsoft Office Excel 2007
Altın Üyelik Bitiş Tarihi
22-03-2026
Alternatif:

Kod:
Sub Test()
    Range("C5:C250") = Range("C5:C250").Value
End Sub
.
Bu kodu kullanmamdaki amaç C sutunundaki hücreleri tetiklediğimde Makro ile 4. ve 185 inci sütün içerikleri de değişiyor. Bu kod hızlı ama Type mismatch HATASI verdi. Bu hatayı düzeltebilir miyiz? Kodum aşağıdadır:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
'aktif maddeleri otomatik dolduruyor
If Intersect(Target, Range("C5:C10000")) Is Nothing Then Exit Sub
If Target.Value <> "" Then
    Set BUL = Sheets("BiyosidallerFare").Range("A:A").Find(Target.Value, , , xlWhole, , xlNext)
        If Not BUL Is Nothing Then
        Cells(Target.Row, 4) = Sheets("BiyosidallerFare").Range("D" & BUL.Row)
        Cells(Target.Row, 185) = Sheets("BiyosidallerFare").Range("M" & BUL.Row)
   End If
End If
End Sub

Sub Test()
    Range("C5:C250") = Range("C5:C250").Value
End Sub
 

Ö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.

Yanlış anlamayınız ama, özellikle ALTIN ÜYELİK sahibi olanların, sorularını örnek belge olmadan sormalarını anlayamıyorum.

Konu açılış mesajında da belirtmediğinize göre cevap yazanların,
belgenizdeki ilgili sayfada Worksheet_Change kod'u kullanıldığını bilmesi/tahmin etmesi mümkün mü sizce ?

Yanlış anlamıyorsam; Worksheet_Change kod blokundaki If Intersect(Targ..... satırının üstüne aşağıdaki satırı ekleyerek deneyiniz.
If Target.Count > 1 Then Exit Sub
.
 
Son düzenleme:
Üst