Hatırlatma programı foruma eklenmiştir.
http://www.excelce.net/forum/index.php?topic=1661.0

Gönderen Konu: VBA dan Excele veri aktarma  (Okunma sayısı 5160 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı zabu93

  • Excelce Onbaşı
  • **
  • İleti: 1
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Mustafa
  • Doğum Yılınız: 1993
  • İl / İlçe: Sivas
  • Mesleğiniz: Akademisyen
  • Office Versiyonunuz: 2016
VBA dan Excele veri aktarma
« : 12 Kasım 2016, 00:18:43 »
Merhaba arkadaşlar. Başlıkta da dediğim gibi tezim için lazım. Yardımcı olursanız sevinirim. Şimdi benim projem Krank- Biyel Mekanizması ile ilgili. Bazı hesapları yapmak için de excel kullanmak istedim. VB üzerinden değerleri girip hesaplamaları yapıp excel e aktarmak istiyorum. Fakat şu şekilde aktarmak istiyorum. Benim hesaplamalarım krank mili dönme açısının 0-360 derece kadar olan bütün açılarında hesaplamam gerekiyor.
Sorunum şu. Ben hesaplamaları bir açı üzerinden yapabiliyorum ve bunu For döngüsü gibi açıyı 1 artırarak yapıp bütün derecelerdeki hesapları excele aktarmak istiyorum. Bunu nasıl yapabilirim.
Aşağıda görünen şekilde excele aktarmak istiyorum. Yardımcı olursanız sevinirim.
Alıntı
Private Sub CommandButton1_Click()
Dim Ö_N, D_S, P_S, Lmd, R, RL, FNR, OMG, ROM, ROML, ROML2, ROMK, Phi, S1, S2, V1, V2, A1, A2 As Double

Ö_N = Ödev_No.Text
D_S = D_Sayisi.Text
P_S = P_Stroke.Text
Lmd = Lambda.Text

Phi = 10  ---- Değişmesi gereken açı değeri -----
FNR = Phi * 0.0174533
OMG = ((3.1416 * D_S) / 30)
R = (P_S / 2000)
RL = (P_S * Lmd) / 4
ROM = R * OMG
ROML = (ROM * Lmd)
ROML2 = (ROML / 2)
ROMK = R * (OMG * OMG)
S1 = (0.5 * P_S * (1 - Math.Cos(FNR)))
S2 = (0.5 * RL * (1 - Math.Cos(2 * FNR)))

V1 = Math.Sin(Phi / 57.2957) * ROM
V2 = ROML2 * Math.Sin(2 * (Phi / 57.2957))
A1 = ROMK * Math.Cos(Phi / 57.2957)
A2 = ROMK * Lmd * Math.Cos(2 * (Phi / 57.2957))


Range("D7").Value = S1
Range("E7").Value = S2
Range("F7").Value = S1 + S2
Range("G7").Value = V1
Range("H7").Value = V2
Range("I7").Value = V1 + V2
Range("J7").Value = A1
Range("K7").Value = A2
Range("L7").Value = A1 + A2

End Sub
« Son Düzenleme: 12 Kasım 2016, 01:10:15 Gönderen: zabu93 »

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: VBA dan Excele veri aktarma
« Yanıtla #1 : 12 Kasım 2016, 18:53:32 »
Merhaba,

Kodunuzu aşağıdaki gibi revize edip dener misiniz?

Kod: [Seç]
Dim Ö_N, D_S, P_S, Lmd, R, RL, FNR, OMG, ROM, ROML, ROML2, ROMK, Phi, S1, S2, V1, V2, A1, A2 As Double

Dim degisen_deger, son_dolu_satir

Ö_N = Ödev_No.Text
D_S = D_Sayisi.Text
P_S = P_Stroke.Text
Lmd = Lambda.Text

For degisen_deger = 0 To 360
    son_dolu_satir = Range("D65530").End(3).Row + 1
   
    Phi = degisen_deger ' ---- Değişmesi gereken açı değeri -----
    FNR = Phi * 0.0174533
    OMG = ((3.1416 * D_S) / 30)
    R = (P_S / 2000)
    RL = (P_S * Lmd) / 4
    ROM = R * OMG
    ROML = (ROM * Lmd)
    ROML2 = (ROML / 2)
    ROMK = R * (OMG * OMG)
    S1 = (0.5 * P_S * (1 - Math.Cos(FNR)))
    S2 = (0.5 * RL * (1 - Math.Cos(2 * FNR)))
   
    V1 = Math.Sin(Phi / 57.2957) * ROM
    V2 = ROML2 * Math.Sin(2 * (Phi / 57.2957))
    A1 = ROMK * Math.Cos(Phi / 57.2957)
    A2 = ROMK * Lmd * Math.Cos(2 * (Phi / 57.2957))
   
   
    Range("D" & son_dolu_satir).Value = S1
    Range("E" & son_dolu_satir).Value = S2
    Range("F" & son_dolu_satir).Value = S1 + S2
    Range("G" & son_dolu_satir).Value = V1
    Range("H" & son_dolu_satir).Value = V2
    Range("I" & son_dolu_satir).Value = V1 + V2
    Range("J" & son_dolu_satir).Value = A1
    Range("K" & son_dolu_satir).Value = A2
    Range("L" & son_dolu_satir).Value = A1 + A2
   
    Range("M" & son_dolu_satir).Value = Phi
Next degisen_deger
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)