2011-10-18 56 views
0

一直在尋找一段時間,並決定拋出這個問題,看看有沒有人可以爲此提供一個好的方向。我的表約24列有100〜(和擴大)行看起來像:查找表格/行中的所有非零值

ID yr1 yr2 yr3 yr4 

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

我想忽略所有零個值與創建該表看起來像這樣的表示(我不在乎關於列標題):

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

似乎應該有一個簡單的(ish)解決方案,但我還沒有弄清楚。任何幫助是極大的讚賞!

+0

我一直工作在這一個小時,但不能讓它沒有VBA工作。祝你好運。 –

+0

錯誤地解釋了你的「忽略所有零」我同意蘭斯。我認爲這會對公式來說非常難以理解 - 你對vba還可以嗎? – brettdj

+0

增加了VBA解決方案。新錶轉到新表中,代碼使用數組和故意錯誤代替效率爲零 – brettdj

回答

0

[更新:刪除了最初的建議,並與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

+0

問題#2是我想要excel查找並替換行中的第一個非零項,只想隱藏零點。即如果(a1 = 0,檢查a2,a3,a4等 –

相關問題