hücreye formül göndermek

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Private Sub CommandButton1_Click()
On Error Resume Next

Son_Dolu_Satir = Sheets("DATA").Range("A65536").End(xlUp).Row

Bos_Satir = Son_Dolu_Satir + 1

Sheets("DATA").Range("A" & Bos_Satir).Value = _
Application.WorksheetFunction.Max(Sheets("DATA").Range("A:A")) + 1

Sheets("DATA").Range("C" & Bos_Satir).Value = TextBox2 * 1
Sheets("DATA").Range("D" & Bos_Satir).Value = ComboBox1.Text
Sheets("DATA").Range("E" & Bos_Satir).Value = TextBox3.Text

Else

End Sub


CommandButton1 e basınca Sheets("DATA").Range("P" & Bos_Satir).Value =
son boş P hücresine =c2*g2 formülünü gönderebilirmiyim. bu arada c 2 satır sayısı oldugu için her gönderimde degişmeli
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
2 boşsatırımı temsil ediyor.
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
hayır c2 derken 2 satır sayısı yani 2. satırsa c2 3. satırsa c3 olmalı bunu sayfa üzerine yazıp kopyalarsam calışmanın boyutu büyüyor.onun için böyle birşey mümkünmü diye düşündüm. bu degerleri carpıp yollasamda olmuyor cünkü stok oldugu için c2 degişken satışlarda düşüp alışlarda yükselcek
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
kod yapınızı tam anlayamdım, aşağıdaki örnekten uyarlayınız.

Kod:
Sub formulekle()
Dim csf As Worksheet: Set csf = ThisWorkbook.Worksheets("sayfa1")
sat = 1
With csf
  .Range("c1").Formula = "= " & .Range("A" & sat).Address(False, False) & "*" & .Range("B" & sat).Address(False, False)
End With
Set csf = Nothing
End Sub

yada bunları deneyin kodlarınız yarım verdiğiniz için çözüm bu kadar oluyor :)
Kod:
Private Sub CommandButton1_Click()
On Error Resume Next
Dim csf As Worksheet: Set csf = ThisWorkbook.Worksheets("data")
With csf
'.................
  Son_Dolu_Satir = .Range("A65536").End(xlUp).Row
  Bos_Satir = Son_Dolu_Satir + 1
  .Range("A" & Bos_Satir).Value = Application.WorksheetFunction.Max(.Range("A:A")) + 1
  .Range("C" & Bos_Satir).Value = TextBox2 * 1
  .Range("D" & Bos_Satir).Value = ComboBox1.Text
  .Range("E" & Bos_Satir).Value = TextBox3.Text
  .Range("P" & Bos_Satir).Value = .Formula = "= " & .Range("c" & Bos_Satir).Address(False, False) & "*" & .Range("g" & Bos_Satir).Address(False, False)
Else
'.........

End With
'...............
Set csf = Nothing
End Sub
 
Son düzenleme:

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba,

2.satırsa c2, 3.satırsa c3 demişsiniz. Hangi satırda olunduğu nerden bilinecek?


 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
eğer fomuül değilde sonucu görmek istiyorsanız;
.Range("d1").Value = .Range("A" & sat).Value * .Range("B" & sat).Value

kullanınız.
 

Korhan Ayhan

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

Sanırım aşağıdaki şekilde çözüme ulaşabilirsiniz.

Kod:
[COLOR=black]Sheets("DATA").Range("P" & Bos_Satir).Formula = "=C" & Bos_Satir & "*G" & Bos_Satir
[/COLOR]
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Kod:
Sheets("DATA").Range("P" & Bos_Satir).Value= Cells(Bos_Satir, 3) * Cells(Bos_Satir, 7)
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
korhan bey cok teşekkür ederim ben örnek dosyayı hazırlarken cevabı yazmışsınız.sayın hsayar ve ayhan beyede cok teşekkür ederim.
 
Üst