我有这个代码允许从任何工作表复制自定义范围并将其粘贴到工作表2上的固定范围。此代码有效,但我需要在此代码中实现粘贴链接功能,以便如果我想对数据库中的数据进行任何更改,它也将在表2中自动更新。这是我到目前为止所做的代码。提前谢谢
Sub CustomizedInputFixedoutput()
Dim rng As Range, _
inp As Range, _
ws As Worksheet
Set inp = Selection
On Error Resume Next
Set rng = Application.InputBox("Copy to", Type:=8)
On Error GoTo 0
If TypeName(rng) <> "Range" Then
MsgBox "Cancelled", vbInformation
Exit Sub
Else
rng.Parent.Activate
rng.Copy
Sheets("Sheet 2").Range("B2:N5").Value = rng.Value
End If
Application.CutCopyMode = False
End Sub
答案 0 :(得分:2)
我确信这必须是重复的,但搜索[excel-vba]粘贴链接发现了几个问题,没有任何可接受的答案,没有任何与OP匹配的愿望粘贴到特定范围。
using namespace std;
#include <iostream>;
#include <string>;
string output = "|";
string topBoard[9][9];
int main() {
for (int i = 0; i < 9; i++) {
for (int ii = 0; ii < 9; ii++) {
topBoard[i][ii] = "empty";
}
}
for (int ii = 0; ii < 9; ii++) {
cout << "-----------------------------------------------------------------";
output = "|";
for (int i = 0; i < 9; i++) {
output = output + topBoard[ii][i] + "|";
}
cout << output;
}
return(0);
};
答案 1 :(得分:1)
在此复制范围:
rng.Copy
此处您将B2:N5的值指定为与rng
相同的值。
Sheets("Sheet 2").Range("B2:N5").Value = rng.Value
问题是该代码不是粘贴剪贴板中的任何内容!您不需要.Copy
任何内容来分配像这样的单元格值。
使用Worksheet.Paste
方法而不是分配值(然后.Copy
将用于其目的),并将可选参数Links
设置为True
,如下所示:
Worksheets("Sheet 2").Range("B2:N5").Select
Worksheets("Sheet 2").Paste Links:=True