问: 我需要根据我的判断(按钮)简单地粘贴行的值,以便它们永久保留在我粘贴的位置。如果它们已经存在,那么请更新它们粘贴到最后一个非空行。从他们复制的地方可以更改行,新行可以来去,因此他们需要列中的唯一标识符
我对构建块执行此操作的唯一公式是:
Function paste() As Variant
macropastec4 = Sheets("Sheet1").Range("I3").Value
End Function
我可以指定一个按钮来粘贴一个单元格的值但是我需要行等等(查看详细说明)所以我不知道正确的解决方案是否会完全融入我的构建块!
详细说明:
如何根据该行中的单元格值(唯一标识符)调整此公式以粘贴一行单元格。即在1
中的A1
行中加入一个唯一引用,这样如果我再次运行sub,它将只更新从H10开始的行,其中已经复制了{ {1}}包含引用H10
的内容。如果是新行,则会填充从1
或H12
开始的最后一个空行。我会按下按钮来为要复制的每一行运行vba函数,所以在H11
O1
O2
等
O3
更复杂的部分在于 A B C D E F G to H I J K L M N 1
"non empty cells containing 2
1 1 b c d e f g 8 previously pasted rows from(A:G) 3
2 2 i j k l m n 9 which have now disappeared"
3 3 p q 5 3 y z 10 1 b c d e f g
11 2 i j k l m n
12 3 p q 5 3 y z
到A1
不会总是包含G1
,但是当我将其粘贴到应粘贴的位置时,即行{{1}根据我的规则并由我自行决定(即点击vba子按钮)。 在某个时间完全独立于我为每一行运行sub时,行1,b,c,d,e,f,g
将消失并重新填充新的内容。此外,它将重新填充{{1}以下的任何内容。 } H to N
到A:G
,除非A1 to G1
到A2
已经消失,在这种情况下,它会填充剩余的只剩下G2
因此为什么我需要唯一标识符是A2
中的G2
,可以在重新对齐后工作,如果我再次运行该子标识符,则会识别A1 to G1
或1
并知道其位置在A1
内再次知道仅更新现有行(永久粘贴)或以其他方式(如果是新行存在)将其粘贴到{{1下的最后一个空行}}
- 即新行可以随时移动到顶部或底部1
n.b。我只需要能够粘贴来自2
的细胞,或者进一步取决于有多少行,即它可能是H to N
,但我希望通过按钮独立地为每一行提供sub to cator。这些行H to N
如何重新填充和重新排序自己取决于行中的列。即如果他们有类似的列单元格,他们会重新填充,但在我想要实现的框架中应该忽略它,我只需要引用行A列中的唯一标识符
其他要点
在单元格A:G
G1 A1:G3
A2 A1:G20
G2`等(基本上每一行)中,我将有数字,字母(书面文字)和插入引用的组合( LINKS)到Microsoft onenote的工作表。所以我需要能够将相同的链接复制到我对该特定onenote文件的LINK按钮的相同对齐方式,即与单元格对齐等。所以基本上只是粘贴那些单元格中的任何内容!!
值得注意的是,它们的唯一标识符
重新填充不会以任何顺序 - 它们将是完全随机的,即
并非A1:G20
可以是A1 to
,但它们将是数字
我还需要这个来推荐我正在制作的一张纸。
请帮我完成这个!提前谢谢 不知道这是否有帮助
答案 0 :(得分:0)
仍然没有想法?这些帮助吗?
代码:
Sub CopyRows()
Dim LastRow As Long
Dim destRng As Range
Application.ScreenUpdating = False
With Sheets("All Data")
Set destRng = .Range("B" & .Cells(.Rows.Count, "B").End(xlUp).Row + 1)
LastRow = Sheets("IDEAS").Range("C" & Rows.Count).End(xlUp).Row
Sheets("IDEAS").Range("B8:S" & LastRow).Copy Destination:=destRng
.Columns("B:S").AutoFit
End With
Application.ScreenUpdating = True
End Sub
也许我可以为所有行创建一个子按钮来执行此操作。只需要上面的内容来过滤已经存在的带有标识符的行。 :S所以我需要使用if命令的某种形式并粘贴值:S
这个帮助:?
Sheets("Sheet1").Range("A1:F48").Copy
With Sheets("Sheet1").Range("H" & Rows.Count).End(xlUp).Offset(1)
.PasteSpecial Paste:=xlPasteColumnWidths
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
End With
Use VBA to paste values from one table to another
用粘贴不复制这个? 我可以使用当前显示的唯一标识符 来引用单元格Public Sub CopyRows()
Sheets("Sheet1").Select
' Find the last row of data
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
' Loop through each row
For x = 2 To FinalRow
' Decide if to copy based on column D
ThisValue = Cells(x, 4).Value
If ThisValue = "A" Then
Cells(x, 1).Resize(1, 33).Copy
Sheets("SheetA").Select
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(NextRow, 1).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
ElseIf ThisValue = "B" Then
Cells(x, 1).Resize(1, 33).Copy
Sheets("SheetB").Select
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(NextRow, 1).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
End If
Next x
End Sub