簡體   English   中英

宏/代碼根據條件復制和轉置粘貼

[英]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.

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