返回列表 上一主題 發帖

[發問] 資料比對後,並依照月份

[發問] 資料比對後,並依照月份

請問前輩們:

小弟目前使用公式寫出,但在同時使用EXCEL 時,附件檔案會受到其他檔案影響,會重新更新作業(不想停用公式自動更新
想請教是否可以使用VBA 來解決。

結果:異動統計
來源:庫存異動




物料控制表-3.rar (347.86 KB)

回復  red
你的意思是開檔後不要因為其他檔案內容發生變更進而異動到本檔案的內容嗎?
最簡單的方法是開檔 ...
luhpro 發表於 2014-11-6 22:53


如同luhpro 前輩 所說,如果同時開啟其他excel ,在另一檔案作業時,只要輸入就進而會影響附件檔案,公式就會重新更新。
在試試luhpro前輩 方式看看
感謝其他前輩回覆

TOP

對不起以上前輩,目前描述不是很清楚,
當同時開立2個excel 檔案作業,但不是有相關性,假設A檔為物料控制表3,B檔則為其他檔案,兩檔案無任何公式連結參照。
目前遇到問題是在B檔作業時只要儲存格有異動,則A檔之SHEET(異動統計)就會開始進行公式的運行及更新

本人目前想要利用VBA 取代A檔-異動統計目前圖檔紅框處使用公式部分,才想請問前輩,是否可以協助改成VBA 方式進行。
紅框處的來源為物料控制表--庫存異動
以上不知各位前輩是否可以了解,小弟目前狀況,本人對於VBA上不熟悉,所以想請各位前輩協助

TOP

回復 6# luhpro

感謝luhpro 前輩再次回覆,小弟在試試看
謝謝

TOP

回復 7# red
搜尋網路資料及各位前輩教學
加入以下VBA 程式則改善原本問題
Private Sub CommandButton1_Click()

Sheet2.Cells(1, 3) = Now()
Application.ScreenUpdating = False
Sheet2.Range("h4:o220").ClearContents
Call Module3.Macro1

    For i = 4 To Sheet1.Range("a65536").End(xlUp).Row
        For j = 8 To 14
            If Sheet1.Cells(i, 3) = Sheet2.Cells(3, j) Then
                For k = 4 To Sheet2.Range("a65536").End(xlUp).Row
                    If Sheet1.Cells(i, 1) = Sheet2.Cells(k, 1) And Sheet1.Cells(i, 8) = Sheet2.Cells(k, 6) Then
                       Sheet2.Cells(k, j) = Sheet2.Cells(k, j) + Sheet1.Cells(i, 9)
                    End If
                Next
            End If
        Next
    Next

    For i = 4 To Sheet2.Range("a65536").End(xlUp).Row
        For j = 8 To 13
            Sheet2.Cells(i, 15) = Sheet2.Cells(i, 15) + Sheet2.Cells(i, j)
        Next
            Sheet2.Cells(i, 15) = Sheet2.Cells(i, 15) / 6
    Next
Sheet2.Cells(1, 4) = Now()

End Sub

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題