簡體   English   中英

Excel VBA如果為“ x”,則選擇行並粘貼到另一張工作表

[英]Excel VBA if “x”, then select rows and paste to another sheet

我堅持嘗試為工作項目開發一個相當基本的會計電子表格。 我不確定如何在此處添加附件,因此我將盡力解釋。

每天,我都會手動將數據輸入到包含幾列的工作表中,以下是一些列標題的示例: Tax Invoice No.CustomerDescriptionDate 它們的范圍從單元格A3Y3 ,表格覆蓋范圍A3:Y1135

我需要建立一個首頁報告,以便其他人輕松讀取數據,但是這也使我可以填寫:無論是我選擇的Current Month Results還是Previous Month ResultsYear 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM