我已經看過類似的問題的答案,但無論我做什麼,我都無法讓他們做我需要的東西。從一張紙上取得結果並將它們移動到其他許多紙張上
我其中有一個CSV文件給呼叫統計爲我們的銷售團隊前一天的每日電子郵件。我需要的是將它們放入Excel中,爲年度提供趨勢和歷史通話活動。沒有VBA或宏,這是一個非常耗時的過程。
它給人的統計是呼叫數,平均通話時長(是任何重要的),我已經得到了VBA來計算總傳出與此:
Dim Call_Number As Integer
Dim Call_Time As Date
Dim Call_Total As Date
Call_Number = .Cells(2, 6).Value
Call_Time = .Cells(2, 7).Value
Call_Total = Call_Number * Call_Time
.Cells(12, 7).Value = Call_Total
所以我需要的是爲每個銷售員取3個單元格,並將它們移動到相關工作表中的正確位置,這些工作表按名稱分隔。如果目標單元格已滿,我還需要將它移動到右側的單元格中,因此我認爲我需要在1月1日之前開始粘貼過程,並繼續向右移動,直到找到空白單元格。有沒有辦法可以在按鈕或自動完成?
我作爲數據導入表,在這裏我們只是將數據導入CSV第一板,並且由於它的標準格式,它每天都會給它全部在正確的格式。
代碼我到目前爲止。它沒有錯誤,但不會做任何事情:
Sub Move_Data()
Dim Dean As Worksheet
Dim Chris As Worksheet
Dim Paul As Worksheet
Dim Nigel As Worksheet
Dim Calc As Worksheet
Dim Lastrow As Long
Dim J As Long
Dim i As Long
Set Dean = ThisWorkbook.Worksheets("DEAN 822")
Set Chris = ThisWorkbook.Worksheets("CHRIS 829")
Set Paul = ThisWorkbook.Worksheets("PAULP 830")
Set Nigel = ThisWorkbook.Worksheets("NIGEL 833")
Set RUSSELL = ThisWorkbook.Worksheets("RUSSELL 835")
Set Calc = ThisWorkbook.Worksheets("Calculation Sheet")
Lastrow = Range("C" & Dean.Columns.Count).End(xlToRight).Column
J = 2
For i = 0 To Lastrow
Set Rng = Dean.Range("C5").Offset(i, 0)
If Not (IsNull(Rng) Or IsEmpty(Rng)) Then
Calc.Cells(2, 4).Copy
Dean.Range("c" & J).PasteSpecial xlPasteValues
J = J + 1
End If
Next i
Application.CutCopyMode = False
End Sub
嘿,對於遲到的回覆感到抱歉,只是有時間再次處理這個問題。要回答您的問題:您是否想將工作表Dean中的C列複製到工作表Calc的B列?不,它應該是相反的。 – user3651874
讓我澄清我的要求。我需要自動將特定數據移動到右側的下一個可用單元格。如果C2-6中「計算表」的來源不正確,則不應輸入數據。這是爲了在工作人員在當天沒有打電話時提供靈活性。那有意義嗎? – user3651874