שלום רב, הרבה זמן לא ביקרתי, בעיה קטנה...

lj101

New member
שלום רב, הרבה זמן לא ביקרתי, בעיה קטנה...

יש לי פונקציה שמנפה ערכים כפולים מתוך רשימה ומשאירה רק אחד מכל ערך, העניין הוא שהפונקציה עובדת כאשר יש יותר מערך אחד, אבל, כאשר אני שולח רק ערך אחד אז קיימת בעיה ואני מקבל שגיאה 13, אני יודע בערך מה הבעיה והיא ההצהרה של המשתנה, אבל לא מצאתי כיוון איך לפתור את הבעיה. זו הפונקציה :
Function sort_range(AllCells1) 'On Error GoTo ErrH Dim First As Integer Dim Last As Integer Dim i As Integer Dim j As Integer Dim Temp As String Dim list As String 'AllCells = Range("list1[úàøéê]").Value AllCells = AllCells1 First = LBound(AllCells) Last = UBound(AllCells) For i = First To Last - 1 For j = i + 1 To Last If AllCells(i, 1) > AllCells(j, 1) Then Temp = AllCells(j, 1) AllCells(j, 1) = AllCells(i, 1) AllCells(i, 1) = Temp End If Next j Next i distinced_value sort_range = distincted_range Exit Function ErrH: If Err.Number = 13 Then Resume Next End Function Sub distinced_value() On Error Resume Next Dim list Dim i Dim ccc ccc = 1 For i = 1 To UBound(AllCells, 1) If ccc = 1 Or AllCells(i, 1) <> distincted_range(ccc - 1) Then ReDim Preserve distincted_range(ccc) distincted_range(ccc) = AllCells(i, 1) ccc = ccc + 1 End If Next For i = 1 To UBound(distincted_range) list = list & vbCrLf & distincted_range(i) Next MsgBox list End Sub​
היכן שהדגשתי שם נוצרת השגיאה, יש לציין שזו איזו פונקציה שאני עובד איתה באקסל שאליה אני שולח טווח ערכים. בתודה מראש
 

lj101

New member
טעות מדובר בפונקציה שממיינת...

וה-SUB השני מנפה.
 
למעלה