2014-03-05 75 views
-1

這是我第一個使用Excel宏的大學IT項目,我在處理數據時遇到了一個小問題。自動添加到列表

我有一些複選框來選擇屏幕上的各種項目,然後輸入相關數據,如項目名稱,價格等。問題是這些名稱必須上發票,我不能得到很好地轉移到發票上的名稱。

基本上,發票必須記錄項目(顯然),但它需要檢查,看看是否已經應用到發票的項目,這就是我遇到的問題。

我怎樣才能讓項目在沒有任何額外交互的情況下統一顯示在表格上(也就是說,我只需點擊相關的複選框而不是手動輸入),並且很好地顯示它們。

項目'襯墊和延長保修'需要一個接一個顯示,而不是2-3個盒子。

例子:

Underlay Extended Warranty

但我不想這樣:

Underlay

Extended Warranty

有沒有解決辦法?如果這是令人困惑的,我很抱歉,請記住,如果沒有實際告訴我問題的問題是什麼,請不要低估。

更新:

基本上,這種情況發生,如果我這樣做,我知道的方式:

​​

Actual Invoice

回答

0

我解決了這個由作出定義Excel VBA宏基本上告訴我們是最接近發票頂部的免費單元格:

Public Function GetApplicableCell() As String 
    Range("C20").Select 
    If (IsEmpty(Range("'Invoice Sheet'!C20").Value)) Then 
     GetApplicableCell = "C20" 
    End If 
    If (IsEmpty(Range("'Invoice Sheet'!C21").Value)) Then 
     GetApplicableCell = "C21" 
    End If 
    If (IsEmpty(Range("'Invoice Sheet'!C22").Value)) Then 
     GetApplicableCell = "C22" 
    End If 
    If (IsEmpty(Range("'Invoice Sheet'!C23").Value)) Then 
     GetApplicableCell = "C23" 
    End If 
    If (IsEmpty(Range("'Invoice Sheet'!C24").Value)) Then 
     GetApplicableCell = "C24" 
    End If 
End Function 

它可以在工作表內由=GetApplicableCell()調用,我們可以使用它來生成可行的解決方案。