Excel VBA-复制到其他图纸
我有这段代码,是一位昨天帮助我定义需求的响应者编写的-但是有些事情我想更改,但是我的vba技能非常低,不知道如何以及在哪里修改代码。我想让它做两件事Excel VBA-复制到其他图纸,excel,vba,copy-paste,Excel,Vba,Copy Paste,我有这段代码,是一位昨天帮助我定义需求的响应者编写的-但是有些事情我想更改,但是我的vba技能非常低,不知道如何以及在哪里修改代码。我想让它做两件事 好的,我知道它传输数据,我希望它复制数据,以及在单元格中计算的值。我有一些细胞,在那里我有一些公式,它的剂量如下。我只想把计算出来的值加起来。我不知道我是否可以在某处使用xlPasteValues来获得我想要的东西 我想做的第二件事是,当复制结束时,我想在顶部,之前的副本向下移动,所以最新的副本总是在顶部 在交给你之前谢谢你:) 请试试这个 St
xlPasteValues
来获得我想要的东西
请试试这个 StartRow变量定义targetSheet上的目标行,您可以根据需要更改它
Sub Copypastemeddata()
Dim wb As Workbook
Dim ws As Worksheet
Dim sourceCell As Range
Dim targetSheet As Worksheet
Dim StartRow As Integer
Application.ScreenUpdating = False
Set wb = ThisWorkbook
Set ws = wb.Worksheets("Opgørsel")
Set sourceCell = ws.Range("D3") 'Cell with sheet names for copying to
StartRow = 1 'Destination row on targetSheet
With ws
Set targetSheet = wb.Worksheets(sourceCell.Text)
.Range("A1").CurrentRegion.Copy
targetSheet.Range("A" & StartRow).Insert shift:=xlDown
targetSheet.Range("A" & StartRow).PasteSpecial xlPasteValues
targetSheet.Columns.AutoFit
End With
Application.CutCopyMode = 0
Application.ScreenUpdating = True
End Sub
替代品
Dim nextRow As Long
nextRow = GetLastRow(targetSheet, 1)
nextRow = IIf(nextRow = 1, 1, nextRow + 1)
.Range("A1").CurrentRegion.Copy targetSheet.Range("A" & nextRow)
与
非常感谢您,先生,这当然是我想要的:)@MzBarcaaa不客气!很高兴它能按预期工作。:)@MzBarcaaa您首先选择它作为接受答案,然后将其删除。有什么原因吗?我想,我可以投票给他们两个-我用了你的,并且非常高兴-谢谢你,我现在已经改变了:)谢谢!否则我就糊涂了。LoFrest-@ Sktnne回答为“接受”,但考虑使用此代码,因为它不使用剪贴板(如<代码> CopyTo()>代码>方法,因此需要<代码> Aptudio.CutCopyMead=0 THOST),这可能是您稍后会尝试避免的一些东西,但是我知道我用的那个很好用,所以我敢打赌,可能会有一些错误:D
Dim nextRow As Long
nextRow = GetLastRow(targetSheet, 1)
nextRow = IIf(nextRow = 1, 1, nextRow + 1)
.Range("A1").CurrentRegion.Copy targetSheet.Range("A" & nextRow)
With .Range("A1").CurrentRegion
targetSheet.Rows(1).Resize(.Rows.Count).Insert shift:=xlUp
targetSheet.Range("A1").Resize(.Rows.Count, .Columns.Count).Value = .Value
End With