Formül doldurma

Katılım
1 Haziran 2005
Mesajlar
105
Excel Vers. ve Dili
Excel 2003-Türkçe
Merhabalar,

Private Sub cmdkaydet_Click()
If MsgBox(TextBox3.Text & " adlı kişiye ait bilgiler kaydedilecektir, emin misiniz?", vbYesNo, "Personel Kayıt") = vbYes Then
Dim i As Integer
For i = 1 To 1000
ProgressBar1.Value = (i / 1000) * 100
DoEvents
Next i
Dim bak As Range
Dim say As Integer
For Each bak In Range("A2:A" & WorksheetFunction.CountA(Range("A2:A65000")))
If bak.Value = textbox1.Value Then
MsgBox "Bu Kayıt numarası bulundu."
Exit Sub
End If
Next bak
For Each bak In Range("a2:a" & WorksheetFunction.CountA(Range("a2:a65000")))
If StrConv(bak.Value, vbUpperCase) = StrConv(textbox1.Value, vbUpperCase) Then
MsgBox "Bu isimde bir kaydınız bulundu"
Exit Sub
End If
Next bak
say = WorksheetFunction.CountA(Range("B1:B65000"))
txtsira.Value = say
Cells(say + 1, 1).Value = textbox1.Value
Cells(say + 1, 2).Value = TextBox2.Value
Cells(say + 1, 3).Value = TextBox3.Value
Cells(say + 1, 4).Value = TextBox4.Value
Cells(say + 1, 5).Value = TextBox5.Value
Cells(say + 1, 6).Value = TextBox6.Value
.......................


Kişi kaydetmek için bunu kullanıyorum fakat formülleri nasıl koyacağımı bulamadım.

=EĞER(AH680<AI680;YUVARLA(AH680*AK680;2);YUVARLA(AI680*AK680;2))
=DÜŞEYARA(EJ680;Sabitler!$A$22:$B$39;2;0)
=Sabitler!$B$7
=EĞER(DOLAYLI(EĞER(BAĞ_DEĞ_DOLU_SAY(AN680:EI680)+SÜTUNSAY(A680:AJ680)+3<=26;PARÇAAL("ABCDEFGHIJKLMNOPQRSTUVWXYZ";BAĞ_DEĞ_DOLU_SAY(AN680:EI680)+SÜTUNSAY(A680:AJ680)+3;1);PARÇAAL("ABCDEFGHIJKLMNOPQRSTUVWXYZ";TAMSAYI((BAĞ_DEĞ_DOLU_SAY(AN680:EI680)+SÜTUNSAY(A680:AJ680)+3-1)/26);1)&PARÇAAL("ABCDEFGHIJKLMNOPQRSTUVWXYZ";MOD(BAĞ_DEĞ_DOLU_SAY(AN680:EI680)+SÜTUNSAY(A680:AJ680)+3-1;26)+1;1))&1)="çıkış";ETARİHLİ(TOPLA.ÇARPIM((SÜTUN(AN680:EI680)=ÇİFT(SÜTUN(AN680:EI680)))*(AN680:EI680));TOPLA.ÇARPIM((SÜTUN(AN680:EI680)=TEK(SÜTUN(AN680:EI680)))*(AN680:EI680));"MD");ETARİHLİ(TOPLA.ÇARPIM((SÜTUN(AN680:EI680)=ÇİFT(SÜTUN(AN680:EI680)))*(AN680:EI680));TOPLA.ÇARPIM((SÜTUN(AN680:EI680)=TEK(SÜTUN(AN680:EI680)))*(AN680:EI680))+BUGÜN();"MD"))
=TOPLA(R680:T680)

Bu şekilde formüllerim var bunları kişi kaydet/ekle dediğim zaman ilgili kişilerin satır satır olan bilgilerinin v,x,w,y sütunlarına koyacak.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Formulleri en basit anlamda &#351;u &#351;ekilde VBA koduna koyabilirsin.

1.T&#252;m formullerini bir sayfaya kopyala
2. "Makro Kaydet"i &#231;al&#305;&#351;t&#305;r.
3. &#304;&#231;inde formul bulunan herbir h&#252;crede "F2" tu&#351;una bas. Sonra "Enter"a bas.
4. Bunu b&#252;t&#252;n formul i&#231;eren h&#252;crelerde tekrarla
5. "Makro Kaydet"i kapat.
6. Makrolar&#305;n kaydedildi&#287;i kod mod&#252;l&#252;n&#252; a&#231;
7. Formullerin kar&#351;&#305;l&#305;&#287;&#305; R1C1 Ba&#351;vuru bi&#231;iminde &#231;&#305;kacakt&#305;r. Hi&#231; &#246;nemli de&#287;il (E&#287;er kopyalama yapmayacaksan tabiki) Bunlardan birini kopyala
8. &#350;imdi kendi projende formul&#252;n yaz&#305;lmas&#305;n&#305; istedi&#287;in h&#252;creyi belirle (&#214;rn "V1")
9. Kodlar&#305;na a&#351;a&#287;&#305;daki &#351;ekilde bir sat&#305;r ilave et.
Range("V1").FormulaR1C1= <kopyalad&#305;&#287;&#305;n formul&#252; yap&#305;&#351;t&#305;r>

Hepsi bu :) Kolay gelsin
 
Katılım
1 Haziran 2005
Mesajlar
105
Excel Vers. ve Dili
Excel 2003-Türkçe
Sağolasın dostum ama benim demek istediğimi yanlış anlamışsın.
Ben userformdan sayfaya kişi ekliyorum.
yanılmıyorsam en son hücrede satırda boş olan yere eklediğim kişiyi yazıyor.
Yani belirli bir hücre yok.
Yinede sağol emeğin için teşekkürler.
 
Katılım
1 Haziran 2005
Mesajlar
105
Excel Vers. ve Dili
Excel 2003-Türkçe
Ha bu arada makro kaydeti denemiştim.
ama

=EĞER(DOLAYLI(EĞER(BAĞ_DEĞ_DOLU_SAY(AN680:EI680)+S ÜTUNSAY(A680:AJ680)+3<=26;PARÇAAL("ABCDEFGHIJKLMNO PQRSTUVWXYZ";BAĞ_DEĞ_DOLU_SAY(AN680:EI680)+SÜTUNSA Y(A680:AJ680)+3;1);PARÇAAL("ABCDEFGHIJKLMNOPQRSTUV WXYZ";TAMSAYI((BAĞ_DEĞ_DOLU_SAY(AN680:EI680)+SÜTUN SAY(A680:AJ680)+3-1)/26);1)&PARÇAAL("ABCDEFGHIJKLMNOPQRSTUVWXYZ";MOD(BA Ğ_DEĞ_DOLU_SAY(AN680:EI680)+SÜTUNSAY(A680:AJ680)+3-1;26)+1;1))&1)="çıkış";ETARİHLİ(TOPLA.ÇARPIM((SÜTU N(AN680:EI680)=ÇİFT(SÜTUN(AN680:EI680)))*(AN680:EI 680));TOPLA.ÇARPIM((SÜTUN(AN680:EI680)=TEK(SÜTUN(A N680:EI680)))*(AN680:EI680));"MD");ETARİHLİ(TOPLA. ÇARPIM((SÜTUN(AN680:EI680)=ÇİFT(SÜTUN(AN680:EI680) ))*(AN680:EI680));TOPLA.ÇARPIM((SÜTUN(AN680:EI680) =TEK(SÜTUN(AN680:EI680)))*(AN680:EI680))+BUGÜN();" MD"))

bunu kaydetmemişti. uzun olduğu için heralde tam bir bilgim yok.
iyi akşamlar.
 
Katılım
16 Ekim 2007
Mesajlar
143
Excel Vers. ve Dili
EXCEL 2003 TR
Sn.fpc;

Vermi&#351; oldu&#287;unuz bilgiler sayesinde bal&#305;k yemeyi de&#287;il, bal&#305;k tutmay&#305; &#246;&#287;reniyoruz. Ke&#351;ke di&#287;er hocalar&#305;m&#305;zda forumda yard&#305;mlar&#305;n&#305; ek bilgiler bal&#305;k tutturabilse!

Te&#351;ekk&#252;rler. &#304;yi &#231;al&#305;&#351;malar.
 
Katılım
11 Aralık 2006
Mesajlar
5
Excel Vers. ve Dili
xp ingilizce
herhangi bir hücreye makrolarla formul girmek için

range("A" & i).formula= " =sum(A2:A5) "

şeklinde bir konut kullanabilirsiniz,burdaki sum fonksiyonu bi örnek tabi.Kendi formüllerinizide yazdığınız takdirde çalışacaktır.Fakat formüllerde tırnak işaretlerinin kullanımına dikkat edin çok sorun çıkartabiliyor...
 
Üst