Excel 2007:如果填入了上一行,則自動插入行

Excel 2007:如果填入了上一行,則自動插入行

我想製作一個工作表,可以用作向客戶列印的收據,這是基本佈局:

  • 客戶聯絡方式(姓名、地址等)這些是固定字段,可能為空
  • 標題行:“商品|數量|價格|總計”
  • 包含任意行數的動態表,一行對應客戶購買的每一篇文章
  • 頁腳行包含文章總數和總金額

我正在努力解決的是如何使動態表發揮作用。目前,我為每篇新文章手動插入一行,但這在非常繁忙的情況下很麻煩。我希望 Excel 預設顯示一個空白行,然後每次前一行包含任何資料時插入下一行,自動將頁腳向下移動一行並更新用於計算總數量的公式。和金額。

這有可能嗎?

答案1

正如對您和任何其他嘗試這樣做的人的警告:

現在你應該思考:

  • 每個客戶我會多久使用一次?
  • 有多少客戶?
  • 我將如何輸入這些項目?
  • 有多少種不同的物品?

這些都是最重要的問題。我已經做得相當確切地,您正在嘗試為一家非常小的公司做什麼,每月大約有 3 張收據。

一如既往,請快速、便宜、卓越。然而,上面這些問題沒有人問。主要是因為便宜&優秀而已。現在,無論何時搜尋、更正收據,但主要是在添加商品時,都浪費了多少時間,這是顯而易見的。更不用說同一物品存在多少種不同形式。然而,用 Excel 修正這個問題是可能的,但恕我直言,真的很痛苦。 EPR 現已設置,也讓客戶信服。

這是一個資料庫任務。它就像資料庫任務的最佳範例之一!

此外,這甚至可能值得小型企業 ERP 系統。在德國,我向您推薦 JTL-Wawi。

但是,如果跳躍太大,您應該真正考慮使用 Access。

一些優點:

  • 您可以管理您的客戶
  • 您可以管理您的物品
  • 你可以移動你的動態行為來訪問
  • 您可以輕鬆管理您的收據
  • 您仍然可以使用 Excel 作為輸出系統

這將如何運作?

您將有一些表格,用於存放客戶和物品以及收據。收據表將客戶與其商品和其他收據相關屬性連接起來。

然後,您可以為基本收據建立設計的報告,並從訪問中列印它。或用excel選擇收據,取得資料並列印。因為資料是預先決定的,所以您會知道有多少行/列正在傳入,以及它們的上下文是什麼。

然而 - 這個輪子已經被發明了很多次,所以你應該研究一下已經存在的輪子;)

編輯

基於您的行為請求的解決方案可以在此處使用此嘗試:

https://stackoverflow.com/questions/12604274/excel-vba-is-there-a-textchanging-textchanged-or-a-similar-event-or-how-to/12604570#12604570

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = clngColumnRightToLastGrade Then
    Application.EnableEvents = False
    'offset selection, one row down, two cols to left
    Target.EntireRow.Insert (xlShiftDown) 'insert new row
    Target.Offset(1, -2).Select
    Application.EnableEvents = True
  End If
End Sub

您當然可以改用該Change事件,並且可能必須將此行為限制在動態清單或其工作表的最大範圍內。

或者只需為每個快捷鍵建立一個巨集即可在此處執行此行:

Target.EntireRow.Insert (xlShiftDown) 'insert new row

您需要確定目前選定的儲存格具有範圍Target

相關內容