今天是个好日子 .
我正面临着一个路障,目前我正在为一项任务创建一个excel文件 .
在我的文件中,我需要将工作表'Input'中的单元格 C6:C13
转置粘贴到 Database
工作表行 C8:J8 or C9:J9 or C10:J10
等基于:'Input'工作表中单元格 C5
的内容应与B列中的一行相匹配 .
你可以在这里找到这个文件:http://tinyurl.com/oz7w97g
提前致谢!!!
编辑2:我现在的问题是,它是在“数据库”表中选择的任何单元格中粘贴数据 . 例如,如果选择了J13,它将自动将数据粘贴到J13:Q13中,而不搜索正确的单元格 .
编辑3:我想通了,将'As String'改为'As Date'并且它有效 . 为了提高效率,有没有办法可以减少这段代码的长度,因为请记住它需要引用72个不同的行,所以我需要输入'If'和'ElseIf'72次 .
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
结束子
1 回答
好 . 我看到你的变化 . 您可以做的一件事是根据单元格C5的criteia查找目标单元格 . 我在单元格C4中创建了一个VLOOKUP,它将根据单元格C5中的日期查找目标 .
单元格C4中的公式为:
=VLOOKUP(C5,F5:G7,2,FALSE)
. 该表在单元格F5中为1/1/2015,在单元格G5中为"C7" . 其他日期和单元格将紧跟在其下方 .如果需要,可以在另一个工作表上创建查找表 .
这是新代码,然后使用单元格C4中的查找值: