Поиск всех ненулевых значений в таблице / строке - PullRequest
0 голосов
/ 19 октября 2011

Некоторое время искал и решил выкинуть это туда, чтобы посмотреть, сможет ли кто-нибудь дать хорошее направление для этого. Моя таблица имеет ~ 100 (и расширяется) строк примерно на 24 столбца и выглядит примерно так:

ID  yr1 yr2 yr3 yr4

id1  $-      $-      $35     $-   
id2  $40     $45     $-      $-   
id3  $35     $-      $30     $37 

Я хочу игнорировать все нулевые значения и создать представление этой таблицы, которое выглядит следующим образом (меня не волнуют заголовки столбцов):

ID          
id1  $35        
id2  $40     $45    
id3  $35     $30     $37 

Кажется, должно быть простое решение, но я пока не понял. Любая помощь с благодарностью!

1 Ответ

0 голосов
/ 19 октября 2011

[Обновление: удалено первоначальное предложение и заменено решением VBA]

Sub ReArrange()
Dim ws As Worksheet
Dim X
Dim lngRow As Long
Dim lngCol As Long
X = [a1].CurrentRegion
For lngRow = 1 To UBound(X, 1)
    For lngCol = 1 To UBound(X, 2)
        If X(lngRow, lngCol) = 0 Then X(lngRow, lngCol) = "=1/0"
    Next
Next
Application.ScreenUpdating = False
Set ws = Sheets.Add
ws.[a1].Resize(UBound(X, 1), UBound(X, 2)) = X
On Error Resume Next
ws.UsedRange.SpecialCells(xlCellTypeFormulas, 16).Delete xlToLeft
On Error GoTo 0
Application.ScreenUpdating = True
End Sub

enter image description here

...