我已经开始使用宏几周了,我正在努力解决一个问题。
我正在尝试创建一个数据输入掩码作为项目的一部分,我的目标是按顺序将表单中的数据存储在表1到表9中,我设法实现这一点并清除初始掩码所以可以输入新数据。
我设法实现上述功能的代码是:
Sub Macro1
将数据从表1转移到表9
Sheets("Tabelle9").Select
Range("A2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R1C2"
Selection.AutoFill Destination:=Range("A2:A28"), Type:=xlFillDefault
Range("A2:A28").Select
Range("B2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C2"
Selection.AutoFill Destination:=Range("B2:B28"), Type:=xlFillDefault
Range("B2:B28").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C3"
Selection.AutoFill Destination:=Range("C2:C28"), Type:=xlFillDefault
Range("C2:C28").Select
Range("D2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C6"
Selection.AutoFill Destination:=Range("D2:D28"), Type:=xlFillDefault
Range("D2:D28").Select
Range("E2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C9"
Selection.AutoFill Destination:=Range("E2:E28"), Type:=xlFillDefault
Range("E2:E28").Select
Range("F2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R1C3"
Selection.AutoFill Destination:=Range("F2:F28"), Type:=xlFillDefault
Range("F2:F28").Select
Range("G2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C14"
Selection.AutoFill Destination:=Range("G2:G28"), Type:=xlFillDefault
Range("G2:G28").Select
Range("H2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C11"
Selection.AutoFill Destination:=Range("H2:H28"), Type:=xlFillDefault
Range("H2:H28").Select
Range("I2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C5"
Selection.AutoFill Destination:=Range("I2:I28"), Type:=xlFillDefault
Range("I2:I28").Select
Range("J2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C13"
Selection.AutoFill Destination:=Range("J2:J28"), Type:=xlFillDefault
Range("J2:J28").Select
Range("K2").Select
ActiveCell.FormulaR1C1 = "=Tabelle1!R[2]C12"
Selection.AutoFill Destination:=Range("K2:K28"), Type:=xlFillDefault
Range("K2:K28").Select
保持Table9不受Live Edit Table1
的影响Sheets("Tabelle9").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
清除表1中的所有字段
Sheets("Tabelle1").Select
Range("A4:A30").Select
Selection.ClearContents
Range("C4:C30").Select
Selection.ClearContents
Range("E4:F30").Select
Selection.ClearContents
Range("H4:H30").Select
Selection.ClearContents
Range("J4:N30").Select
Selection.ClearContents
End Sub
我面临的问题是每次使用命令按钮运行宏时,表9中的数据都会被替换。 有很多互联网搜索,我试着按如下方式编辑代码:
Sub Trail
Sheets("Tabelle1").Select
Range("B1").Select
Selection.Copy
Sheets("Tabelle9").Select
Range("A2").Select
Selection.End(xlDown).Select
Count = ActiveCell.Cells.Row + 1
Range("A" & Count).Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone,SkipBlanks:= _True, Transpose:=True
End Sub
这是一个棘手的部分,作为一个新手,我无法弄清楚, 如果有人可以指导我完成这件事,我将非常感激。
- 如何使用参考单元格而不是单元格的绝对地址将数据粘贴到新表中。 (例如,我想按顺序将表1中的数据粘贴到表9中,以便从每次宏代码运行中精确保存28个数据单元,这样当我第二次运行宏时,数据将从单元格中保存29至56)
- 是否可以复制并粘贴表1中的一个字段并将其粘贴到表9中的28个连续单元格中(表1中的A1复制到表9中的所有A1-A28中),如果有的话,请使用方法
醇>
感谢任何建议。 DankeSchön!
答案 0 :(得分:0)
请尝试此操作并将工作表名称更改为原始名称:
Sub Trail()
Static Count As Integer
Count = Count + 1
Sheets("Sheet1").Select
Range("B1").Select
Selection.Copy
Sheets("Sheet2").Select
Sheet2.Range("A" & Count & ":A28").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=True, Transpose:=True
Selection.End(xlDown).Select
Count = ActiveCell.Cells.Row
End Sub