جدا کردن خانه های غیر خالی در اکسل

عنوانی عجیب ! ، جدا کردن خانه های غیر خالی در اکسل فرض کنید که در یک فایل اکسل لیستی از اسامی دارید که در یک محدوده پراکنده هستند. جدا کردن خانه های غیر خالی در اکسل می خواهیم با یک فرمول اسامی را به دنبال هم داشته باشیم، بدون خانه های خالی ! و این کار را به چهار روش انجام می دهیم. روش اول : با استفاده از فرمول های برداری و به صورت ستونی جدا کردن خانه های غیر خالی در اکسل روش دوم : با استفاده از فرمول های برداری و به صورت سطری جدا کردن خانه های غیر خالی در اکسل روش سوم : استفاده از تابع VBA زیر که نتیجه را به صورت سطری نمایش می دهد.
جدا کردن خانه های غیر خالی در اکسل
Function NoBlanks(RR As Range) As Variant
               Dim Arr() As Variant
               Dim R As Range
               Dim N As Long
               Dim L As Long
               If RR.Rows.Count > 1 And RR.Columns.Count > 1 Then
               NoBlanks = CVErr(xlErrRef)
               Exit Function
               End If
               If Application.Caller.Cells.Count > RR.Cells.Count Then
               N = Application.Caller.Cells.Count
               Else
               N = RR.Cells.Count
               End If
               
               ReDim Arr(1 To N)
               N = 0
               For Each R In RR.Cells
               If Len(R.Value) > 0 Then
               N = N + 1
               Arr(N) = R.Value
               End If
               Next R
               For L = N + 1 To UBound(Arr)
               Arr(L) = vbNullString
               Next L
               ReDim Preserve Arr(1 To L)
               If Application.Caller.Rows.Count > 1 Then
               NoBlanks = Application.Transpose(Arr)
               Else
               NoBlanks = Arr
               End If
               End Function
               
 
روش چهارم : استفاده از همان تابع VBA که نتیجه را به صورت ستونی نمایش می دهد. جدا کردن خانه های غیر خالی در اکسل فایل را دانلود کنید و لذت ببرید !  
نویسنده : وحید فرزام
تاریخ انتشار : 1394-04-13 04:30:00
3165

0 نظر

user


تازه ترین ها