Excel 添加新行转置信息

Excel 添加新行转置信息,excel,vba,Excel,Vba,我正在尝试设置一个excel电子表格,以便让表2单元格U2成为我的控件。如果U3不匹配,我想在工作表1的第2行和第3行之间添加一行,并用工作表2单元格D31中的信息填充工作表1单元格I3(新行)。我实际上需要用几个细胞来做这个,但是如果你能让我开始,我可以完成剩下的 子测试() 如果图纸(“1”)范围(“D28”)图纸(“1”)范围(“I26”),则 如果结束 如果板材(“1”)范围(“E28”)值>0,则 工作表(“月份”)。行(“3:3”)。插入Shift:=xlDown,CopyOrig

我正在尝试设置一个excel电子表格,以便让表2单元格U2成为我的控件。如果U3不匹配,我想在工作表1的第2行和第3行之间添加一行,并用工作表2单元格D31中的信息填充工作表1单元格I3(新行)。我实际上需要用几个细胞来做这个,但是如果你能让我开始,我可以完成剩下的

子测试()
如果图纸(“1”)范围(“D28”)图纸(“1”)范围(“I26”),则
如果结束
如果板材(“1”)范围(“E28”)值>0,则
工作表(“月份”)。行(“3:3”)。插入Shift:=xlDown,CopyOrigin:=xlFormatFromLeftOrove
表(“月”)范围(“I3”).值=表(“1”).范围(“E28”).值
板材(“月”)范围(“X3”).值=板材(“1”).范围(“E27”).值
如果结束
如果板材(“1”)范围(“F28”)值>0,则
工作表(“月份”)。行(“3:3”)。插入Shift:=xlDown,CopyOrigin:=xlFormatFromLeftOrove
表(“月”)范围(“I3”)。值=表(“1”)。范围(“F28”)。值
工作表(“月”)范围(“X3”).值=工作表(“1”).范围(“F27”).值
如果结束
如果图纸(“1”)范围(“G28”)值>0,则
工作表(“月份”)。行(“3:3”)。插入Shift:=xlDown,CopyOrigin:=xlFormatFromLeftOrove
表(“月”)范围(“I3”)。值=表(“1”)。范围(“G28”)。值
板材(“月”)范围(“X3”).值=板材(“1”).范围(“G27”).值
如果结束
如果图纸(“1”)范围(“H28”)值>0,则
工作表(“月份”)。行(“3:3”)。插入Shift:=xlDown,CopyOrigin:=xlFormatFromLeftOrove
工作表(“月”)范围(“I3”).值=工作表(“1”).范围(“H28”).值
图纸(“月”)范围(“X3”).值=图纸(“1”).范围(“H27”).值
如果结束
如果图纸(“1”)范围(“I28”)值>0,则
工作表(“月份”)。行(“3:3”)。插入Shift:=xlDown,CopyOrigin:=xlFormatFromLeftOrove
表(“月”)范围(“I3”).值=表(“1”).范围(“I28”).值
表(“月”)范围(“X3”).值=表(“1”).范围(“I27”).值
如果结束
如果图纸(“1”)范围(“J28”)值>0,则
工作表(“月份”)。行(“3:3”)。插入Shift:=xlDown,CopyOrigin:=xlFormatFromLeftOrove
表(“月”)范围(“I3”).值=表(“1”).范围(“J28”).值
板材(“月”)范围(“X3”).值=板材(“1”).范围(“J27”).值
如果结束
如果板材(“1”)范围(“K28”)值>0,则
工作表(“月份”)。行(“3:3”)。插入Shift:=xlDown,CopyOrigin:=xlFormatFromLeftOrove
板材(“月”)范围(“I3”).值=板材(“1”).范围(“K28”).值
板材(“月”)范围(“X3”).值=板材(“1”).范围(“K27”).值
如果结束

End Sub
根据我对您问题的理解,此代码将完成所需的任务

sub test()

If Sheets("Sheet2").Range("U3").Value <> Sheets("Sheet2").Range("U2").Value then
    Sheets("Sheet1").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Sheet1").Range("I3").Value = Sheets("Sheet2").Range("D31").Value
end If

end sub
子测试()
如果表(“表2”).范围(“U3”).值表(“表2”).范围(“U2”).值,则
工作表(“Sheet1”)。行(“3:3”)。插入Shift:=xlDown,CopyOrigin:=xlFormatFromLeftOrove
板材(“板材1”).范围(“I3”).值=板材(“板材2”).范围(“D31”).值
如果结束
端接头
然而,由于您提出的问题似乎相对简单,我假设您对Excel VBA相对较新。然后,我建议您在下一次使用中提供的“录制宏”按钮进行一点试验。然后看看你获得的代码,你会得到一些启示

对于无法录制的内容,例如If语句for循环,我建议您在线搜索一些教程,因为如果没有这些工具,您将无法真正自动化任何任务


事实上,您提到您可能需要对几个不同的单元格执行此过程,这意味着for loop可以方便地遍历您需要的所有不同单元格。

我很高兴能提供帮助。快乐编码!