2017-08-04 73 views
0

是否有人知道如何觸發文本以翻轉到下一個空白單元格,如果它設置爲vba。我有以下代碼正確設置值刪除重複值。我的首選是合併單元格以在可能的情況下顯示擴展值,但是由於數據在表格中,我無法做到這一點。Excel VBA - 當在VBA中設置值時,測試翻轉到下一個空白單元格

Public Sub GANT_TidyRow(ByVal argRow As Range, argDateTableRange As Range) 

Dim lclLastValue As String 
Dim lclFirstCell As Boolean 
Dim lclCurrCell As Range 
Dim lclCellRange As Range 

Set argRow = argRow.Worksheet.Cells(argRow.Cells(1, 1).Row, argDateTableRange.Cells(1, 1).Column) 
Set argRow = argRow.Resize(1, argDateTableRange.Columns.Count) 
lclFirstCell = True 

For Each lclCurrCell In argRow 

    If lclCurrCell.Value = lclLastValue And Not lclFirstCell Then 
     lclCurrCell.Value = "" 
     Set lclCellRange = lclCellRange.Resize(1, lclCellRange.Columns.Count + 1) 
    Else 
     If Not lclFirstCell Then 
      Call GANT_SetBorders(lclCellRange.Borders, _ 
         xlNone, _ 
         xlSingle, vbBlack) 
     End If 
     Set lclCellRange = lclCurrCell 
     lclFirstCell = False 
     lclLastValue = lclCurrCell.Value 
    End If 

Next lclCurrCell 
End Sub 

下面是一個屏幕截圖,前2行已在vba中更新,以將下列單元格設置爲空白。我在Excel中手動更新的最後一行清除該值,然後將前一個單元格翻轉到下一個單元格。如果是這樣的話,請讓我知道這可能是一個更常見和準確的術語。 由於代表數量不足,我無法發佈圖片,但這是我拍攝的屏幕截圖。 http://imgur.com/Ti8InmL

+0

當你說「文本翻轉到下一個空白單元格」時,你是說你想要空白單元格的值與上面行中的單元格的值相同嗎? – Cyril

+0

你可以顯示你的工作表的圖像? –

+0

如果你的意圖是合併單元格然後看[this](https://stackoverflow.com/questions/44387798/excel-vba-merging-a-range-inside-a-loop/44414146#44414146) –

回答

0

假設我的評論中的解釋是正確的,你可以做一個if語句來檢查是否空白,然後填寫,如果不是空白。這方面的一個通用的代碼如下:

For i = 1 to LastRow 
    If ISEMPTY(Cells(i,1))=True Then 
     Cells(i,1).Value=Cells(i-1,1).Value 
     End If 
Next i 

爲您的代碼的情況下,你應該能夠做一些事情,如:

For each lclCurrCell in argRow 
    If ISEMPTY(lclCurrCell)=True Then 
     lclCurrCell.Value=lclCurrCell.Offset(-1,0).Value 
     End If 
Next 

編輯:更新,以匹配適應帖子。

嘗試:

For each lclCurrCell in argRow 
    If ISEMPTY(lclCurrCell)=True Then 
     lclCurrCell.ClearContents 
     Else 
     End If 
Next 

設置爲「」是不一樣的移除單元格的內容的價值。在沒有內容的情況下,您應該得到列「A行1」文本在列B行1中顯示的「翻轉」,而不是將其強制爲「」。

+0

感謝Cyril,這不是我所要求的,我很害怕,我期待使用Excels內置的「Rollover」功能。當下一個單元格爲空並且當前單元格文本不適合該單元格時,該文本將繼續到下一個單元格。我已經爲我的問題添加了一張圖片和更多描述。 –

+0

@borgpants查看更新;我希望這會爲你解決它。 – Cyril

+0

感謝Cyril,對不起,花了一段時間嘗試,因爲我在其他領域打破了我的代碼,只是剛剛恢復工作,現在它可以工作。 –

相關問題