把一个表格中的内容复制到另一个表格中的不同sheet中
把一个表格中选定的行点击触发钮后可以通过设计的选项框里的选项复制到另一个表格中的不同的sheet中,因为表格很多翻来翻去很容易出错,所以就想要编个宏。不要复制黏贴。 --------------------编程问答-------------------- 先录制一个手工复制粘贴的宏(得到一个方法),然后将你需要用选项选择的部分改为方法的参数,
按钮事件中调用这个方法。 --------------------编程问答-------------------- 重点不是复制。。是如何黏贴到另一个工作表中的不同sheet里。。。手动黏贴翻来翻去很复杂的所以想有没有更简单,可以有个选项框啊~选择哪个工作表的文件名,就可以粘到里面去。。不用翻来翻去。。有么。。。 --------------------编程问答-------------------- 你可以新建个工具栏,工具栏加下拉框,把每个sheet的名字加到下拉框里,粘贴的时候从下拉框里选sheet。 --------------------编程问答-------------------- 是不是打开后还是需要黏贴的操作,能不能把在选择sheet确认的同时直接黏贴在那个表格中?省去打开黏贴的操作?主要就是想省去excel表之间的转换 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
这是之前人家帮我写的代码,只能黏贴到同一个表里,想把红字部分改成复制到另一个表里的不同sheets里(大概有27个sheets),能人工选择确认所要的sheet后直接就黏贴到那个sheet里么?
Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
activesheetname = ActiveSheet.Name
temp1 = ActiveCell.Value
temprow1 = ActiveCell.Row
temp = InputBox("确认值", "数值", temp1)
If temp = temp1 Then
Sheets(activesheetname).Rows(temprow1 & ":" & temprow1).Select
Selection.Copy
tepmrowA = 1
Sheets("need").Select
again1:
If Sheets("need").Cells(tepmrowA, 1).Value = "" Then
Sheets("need").Cells(tepmrowA, 1).Activate
ActiveSheet.Paste
Else
tepmrowA = tepmrowA + 1
GoTo again1
End If
Sheets(activesheetname).Select
Application.CutCopyMode = False
End If
End Sub
--------------------编程问答--------------------
If temp = temp1 Then--------------------编程问答--------------------
Sheets(activesheetname).Rows(temprow1 & ":" & temprow1).Select
Selection.Copy
Dim i As Long
For i = 1 To Sheets.Count
If Sheets(i).Name <> activesheetname Then
tepmrowA = 1
Sheets(i).Select
again1:
If Sheets(i).Cells(tepmrowA, 1).Value = "" Then
Sheets(i).Cells(tepmrowA, 1).Activate
ActiveSheet.Paste
Else
tepmrowA = tepmrowA + 1
GoTo again1
End If
End If
Next
Sheets(activesheetname).Select
Application.CutCopyMode = False
End If
xlbook.Worksheets("Sheet2").Cells(i, j) = xlbook.Worksheets("Sheet1").Cells(i, j)
加上2个循环,搞定 --------------------编程问答-------------------- 加一个 Sheets 的循环就可以了。
列循环不如整行复制效率高。 --------------------编程问答--------------------
那就先录制一个宏看看代码, 精简一下, 修改一下也就差不多了.
补充:VB , VBA