这是我第一个使用Excel宏的大学IT项目,我在处理数据时遇到了一个小问题。
我有几个复选框可以选择屏幕上的各种项目,然后输入项目名称,价格等相关数据。问题是这些名称必须发票,我不能得到名字很好地转移到发票上。
基本上,发票必须记录项目(显然),但需要检查物品是否已经应用于发票,这就是我遇到的问题。
如何在没有任何额外交互的情况下将项目集中显示在工作表上(也就是说,我只需单击相关复选框而不是手动输入),并很好地显示它们。
“衬垫和延长保修”项目需要一个接一个地展示,而不是2-3个盒子。
示例:
Underlay
Extended Warranty
但我不想要这个:
Underlay
Extended Warranty
有解决方案吗?如果这令人困惑,我很抱歉,请记住,如果没有真正告诉我这个问题的问题是什么,请不要贬低。
更新
基本上,如果按照我所知的方式进行,就会发生这种情况:
答案 0 :(得分: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()
调用它,我们可以使用它来生成可行的解决方案。