![](/img/trans.png)
[英]Selecting Cells Based on Criteria, then Copy and Paste Special (Transpose) - Macro Help
[英]Macro/Code to copy and transpose paste based on criteria
今天是個好日子。
我目前遇到的障礙是要為作業創建的excel文件。
在我的文件中,我需要將“輸入”工作表中的單元格C6:C13
換位粘貼到Database
表行C8:J8 or C9:J9 or C10:J10
等中,基於:“輸入”中單元格C5
的內容工作表應與B列中的任一行匹配。
您可以在以下位置找到文件: http : //tinyurl.com/oz7w97g
提前致謝!!!
編輯2:現在我的問題是,它將數據粘貼到“數據庫”表中選擇的任何單元格中。 例如,如果選擇了J13,它將自動將數據粘貼到J13:Q13中,而無需搜索正確的單元格。
編輯3:我想通了,將“按字符串”更改為“按日期”,它可以工作。 為了提高效率,有沒有一種方法可以減少這段代碼的長度,因為請記住,它需要引用72個不同的行,因此我需要鍵入72次“ If”和“ ElseIf”。
Sub Code1()
Dim strCriteria As Date
strCriteria = Cells(5, "C").Value
Range("C6:C13").Select
Selection.Copy
Sheets("Database").Select
If strCriteria = "01-01-2015" Then
Range("C7").Select
ElseIf strCriteria = "01-01-2016" Then
Range("C8").Select
ElseIf strCriteria = "01-01-2017" Then
Range("C9").Select
End If
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Sheets("Input").Select
Range("D13").Select
Application.CutCopyMode = False
Range("C13").Select
結束子
好。 我看到您的更改。 您可以做的一件事是根據單元格C5的條件查找目標單元格。 我在單元格C4中創建了一個VLOOKUP,它將根據單元格C5中的日期查找目的地。
單元格C4中的公式為: =VLOOKUP(C5,F5:G7,2,FALSE)
。 該表在單元格F5中具有2015年1月1日,在單元格G5中具有“ C7”。 其他日期和單元格將緊隨其后。
您可以根據需要在另一張紙上創建查找表。
這是新代碼,然后使用單元格C4中的查找值:
Sub Code1()
Dim strCell As String
strCell = Cells(4, "C").Value
Range("C6:C13").Select
Selection.Copy
Sheets("Database").Select
Range(strCell).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Sheets("Input").Select
Range("D13").Select
Application.CutCopyMode = False
Range("C13").Select
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.