[英]Excel VBA to Copy Multiple Ranges and paste to another sheet, no empty rows
[英]Excel VBA if “x”, then select rows and paste to another sheet
我堅持嘗試為工作項目開發一個相當基本的會計電子表格。 我不確定如何在此處添加附件,因此我將盡力解釋。
每天,我都會手動將數據輸入到包含幾列的工作表中,以下是一些列標題的示例: Tax Invoice No.
, Customer
, Description
和Date
。 它們的范圍從單元格A3
到Y3
,表格覆蓋范圍A3:Y1135
。
我需要建立一個首頁報告,以便其他人輕松讀取數據,但是這也使我可以填寫:無論是我選擇的Current Month Results
還是Previous Month Results
或Year to date results
。 我知道有很多手動方法可以解決此問題,但是希望能從比我更先進的人們那里得到一些意見! 我在想使用宏按鈕或下拉框來生成報告可能有效,但我遇到了麻煩。
有人有什么想法嗎?
無需VBA。 使用數據透視表(隱藏工作表)合並數據,如果需要進一步的自定義,請使用GetPivotData函數提取確切的字段...在GetPivotData函數中引用外部單元格將允許查看器進行過濾...可以使用類似組合框,列表甚至數據驗證以供選擇...
Sheets("Output").Select
Range("A2").Select
Name2 = ActiveCell.Value
Do While Name2 <> ""
Sheets("Master Table").Select
Range("A2").Select
name1 = ActiveCell.Value
Do While name1 <> ""
If name1 = Name2 Then
ActiveCell.Offset(0, 1).Select
Range(Selection, Selection.End(xlToRight)).Copy
Sheets("Output").Select
ActiveCell.Offset(0, 1).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'ActiveSheet.paste
Application.CutCopyMode = False
Range(Selection, Selection.End(xlToLeft)).Select
'ActiveCell.Offset(1, 0).Select
name1 = ""
Else
Sheets("Master Table").Select
ActiveCell.Offset(1, 0).Select
name1 = ActiveCell.Value
End If
Loop
Sheets("Output").Select
ActiveCell.Offset(1, 0).Select
Name2 = ActiveCell.Value
Loop
我會說您可以使用標准excel公式來執行此操作,而不必麻煩VBA。 如果沒有更多細節,很難給出確切的答案,但是如果要使用多個條件來獲取摘要頁面,我將按照以下思路進行工作:確定要報告的時間段,然后使用SUMIF函數或SUMPRODUCT。 如果要查找價位而不是將范圍相加,請查看VLOOKUP
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.