26-02-13, 02:32 AM
السلام عليكم
تفضل أخي الكريم
هذا الكود لا يعتمد على عدد معين من التواريخ فمهما بلغ العدد سيذكر لك جميع قيم التاريخ وكل قيمة كم مرة تكررت
بالتوفيق
تفضل أخي الكريم
هذا الكود لا يعتمد على عدد معين من التواريخ فمهما بلغ العدد سيذكر لك جميع قيم التاريخ وكل قيمة كم مرة تكررت
كود :
Imports Microsoft.Office.Interop
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim exl_app As New Excel.Application
Dim exl_wrk As Excel.Workbook
Dim exl_wst As Excel.Worksheet
exl_app = CreateObject("Excel.Application")
exl_wrk = exl_app.Workbooks.Open("c:\Book1.xlsx")
exl_wst = exl_wrk.Worksheets(1)
Dim Counter As New List(Of String)
Dim Values As New List(Of String)
With exl_wst
Dim Value As String
Dim Index As Integer
For I = 1 To .UsedRange.Rows.Count
If Not String.IsNullOrEmpty(.Range("D" & I).Value) Then
Value = .Range("D" & I).Value.ToString.Split(" ")(0)
Index = Values.IndexOf(Value)
Application.DoEvents()
If Index = -1 Then
Values.Add(Value)
Counter.Add("1")
Else
Counter.Item(Index) = Val(Counter.Item(Index)) + 1
End If
End If
Next
End With
'إذا أردت إضافتهم إلى أداة نص
'تستطيع استخدامها في حال كان عندك تاريخين فقط
TextBox1.Text = Values.Item(0)
TextBox2.Text = Values.Item(1)
TextBox3.Text = Counter.Item(0)
TextBox4.Text = Counter.Item(1)
'إذا أردت إضافتهم إلى قائمة
'تستطيع استخدامها مهما كان عدد التواريخ
ListBox1.Items.AddRange(Values.ToArray)
ListBox2.Items.AddRange(Counter.ToArray)
End Sub
End Classبالتوفيق

