Soru textbox toplama

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Ekli dosyada personelin kurum dışında görevli olarak çalıştığı süreler mevcut.
Form üzerinde yer alan hizmet sürelerini commandbutton ile en altta ki textboxa nasıl toplayabilirim.?
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Aşağıdaki kodları kullanabilirsiniz.
C++:
Private Sub UserForm_Initialize()
    With Sheets("Hizmetli")
        For i = 4 To 9
            Me.Controls("TextBox" & i).Value = DateDiffZ(.Range("D" & i - 2), .Range("E" & i - 2))
        Next i
    End With
    For i = 4 To 9
        nsure = Replace(Me.Controls("TextBox" & i).Value, "Yıl", "")
        nsure = Replace(nsure, "Ay", "")
        nsure = Replace(nsure, "Gün", "")
        nsure = Replace(nsure, " ", ";")
        nsure = Replace(nsure, ";;", ";")
        nson = Split(nsure, ";")
        On Error Resume Next
        If Not IsNumeric(nson(2) * 1) Then GoTo Devam
        Gunler = Gunler + nson(2)
        Aylar = Aylar + Int(Gunler / 30) + nson(1)
        Yıllar = Yıllar + Int(Aylar / 12) + nson(0)
        Aylar = Aylar Mod 12
        Gunler = Gunler Mod 30
Devam:
     Next i
     TextBox10 = Yıllar & " Yıl " & Aylar & " Ay " & Gunler & " Gün"
End Sub

Function DateDiffZ(ByRef kucuk As Date, ByRef buyuk As Date) As String
Dim yil As Integer, ay As Byte, gun As Byte
'Excel.Web.Tr
'Zeki Gürsoy
'...........................................................................
    If Day(buyuk) < Day(kucuk) Then
        gun = buyuk - DateSerial(Year(buyuk), Month(buyuk) - 1, Day(buyuk))
        gun = gun + Day(buyuk) - Day(kucuk)
        
        If Month(buyuk) <= Month(kucuk) Then
            yil = (Year(buyuk) - 1) - Year(kucuk)
            ay = 12 + (Month(buyuk) - 1) - Month(kucuk)
        Else
            yil = Year(buyuk) - Year(kucuk)
            ay = Month(buyuk) - Month(kucuk) - 1
        End If
    Else
        gun = Day(buyuk) - Day(kucuk)
        If Month(buyuk) < Month(kucuk) Then
            yil = (Year(buyuk) - 1) - Year(kucuk)
            ay = 12 + Month(buyuk) - Month(kucuk)
        Else
            yil = Year(buyuk) - Year(kucuk)
            ay = Month(buyuk) - Month(kucuk)
        End If
    End If
    If yil = 0 And ay = 0 And gun = 0 Then
        DateDiffZ = ""
    Else
        DateDiffZ = yil & " Yıl " & ay & " Ay " & gun & " Gün"
    End If
End Function
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Saygı ve hürmete layık bu yardımınız için size çok teşekkür ederim
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Düğme için aşağıdaki kodları deneyin:

PHP:
Private Sub CommandButton1_Click()
yil = 0
ay = 0
gun = 0
For i = 4 To 9
    If Me.Controls("Textbox" & i) <> "" Then
        sure = Split(Me.Controls("Textbox" & i), " ")
        yil = yil + sure(0)
        ay = ay + sure(2)
        gun = gun + sure(4)
    End If
Next
If gun > 30 Then
    ay = ay + Int(gun / 30)
    gun = gun Mod 30
End If
If ay > 11 Then
    yil = yil + Int(ay / 12)
    ay = ay Mod 12
End If
TextBox10.Text = yil & " yıl " & ay & " ay " & gun & " gün"
End Sub
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Yusuf Abi
Ellerine Sağlık. Teşekkür ederim
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bu alternatif de; TextBox'ları toplamak yerine sayfadaki formüllü hücreleri TextBox'lara alan bir çalışma...


.
 

Ekli dosyalar

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
REİS
Çok teşekkür ederim.
 
Üst