excel编程问题(两个表格之间的复制粘贴)

两个EXCEL文件,我想把A文件的B2、B3、B4、B5、B6……B350格的信息,依次复制到B文件的B2、D2、F2、B4、D4、F4、B6、D6、F6……上。

如果手动操作,工作量太大,想减轻工作量。请问如何实现??也许这很难……
请注意:需要粘贴的地方是B2、D2、F2、B4、D4、F4、B6、D6、F6,他们之间并不是连续的

写一段VBA代码,就能解决你的问题
1、打开A文件,在excel中按Alt+F11键进入VBA编程窗口
窗口中工具栏第二个图标边上的小三角形下拉下出来,选择“模块”,这就会在VBA中插入一个新的模块
2、现在在左边栏双击模块1,然后进入右边模块代码的书写窗口,写入以下代码
----------------------------------
Sub trans()
Dim wk As Workbook
Dim wkOpend As Boolean
Dim targetRow As Long
Dim targetCol As Long
Dim cellCnt As Long
Dim sourceWsh As Worksheet
Dim targetWsh As Worksheet

'判别B.xls文件是否打开,如未打开则打开它,要求B.xls与A.xls在同一文件夹中
wkOpend = False
For Each wk In Workbooks
If wk.Name = "b.xls" Then
wkOpend = True
Exit For
End If
Next
If Not wkOpend Then
Workbooks.Open "B.xls"
End If

'设置源为目标工作表对象
Set sourceWsh = ThisWorkbook.Worksheets(1)
Set targetWsh = Workbooks("b.xls").Worksheets(1)

'开始复制填充操作
targetWsh.Range(Cells(2, 2), Cells(235, 4)).ClearContents
cellCnt = 2
For targetRow = 2 To 235 Step 2
For targetCol = 2 To 4
sourceWsh.Range("B" & cellCnt).Copy Destination:=targetWsh.Cells(targetRow, targetCol)
cellCnt = cellCnt + 1
Next
Next
End Sub

---------------------------------
3、先保存一下a.xls
4、每次打开a.xls后,如果想进行你要求的复制操作,只需要进行如下操作:
选择“工具-宏-宏”菜单打开宏对话窗口,在里面你可以看到一个名为“trans“的宏,选中它并点击”执行“按钮即可。

---------------------------------
这个程序的运行有两个要求,一是你的B文件必须取名为”b.xls“,如果不是,则需要修改程序中相应的地方,我想你找得到的;第二个要求是,b.xls必须与a文件在同一个文件夹下,否则程序找不到b文件而无法进行打开操作。t
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-05
sheet2的B2为:(1) =IF(OR(MOD(ROW(),2)<>0,MOD(COLUMN(),2)<>0),"",INDEX(Sheet1!$B$2:$B$65536,(ROW()/2-1)*3+COLUMN()/2))

或(2) =IF(OR(MOD(ROW(),2)<>0,MOD(COLUMN(),2)<>0),"",INDEX(Sheet1!$B$2:$B$65536,(ROW()/2-1)*3+COLUMN()/2)&"")
然后再向右填充,向下填充,搞定!
也可将上面的$B$2:$B$65536换为你的表1中的B列的数据区域如:$B$2:$B$13,那么用(1)

如果你的表2中还有其它数据,你可以在输入B2的公式后,复制-按ctrl,依次单击要用公式的单元格,如B2、D2、F2、B4、D4、F4、B6、D6、F6……-粘贴。本回答被提问者采纳
第2个回答  2008-10-05
刚才做了一下,希望可以解决你的问题,

步骤比较长:

1,在A文件的B列后面的C列中输入*和+,两个*一个+,如下其中123456789是B列中原有的内容,**+,是在C列中输入的内容,输入两个*和一个+后,选中这三个拖动即可完成下面的填充,结果如下:
1 *
2 *
3 +
4 *
5 *
6 +
7 *
8 *
9 +
10 *
11 *
12 +
13 *
14 *
15 +
16 *
17 *
18 +
19 *
20 *
21 +
22 *

2,打开word,把B列和C列的有效内容复制一下,在word中选择 "编辑"->"选择性粘贴",选择"带格式文本(RTF)",确定后得到一个表格.

3,执行word中,"表格"->"转换"->"表格转换成文本",分隔符选制表符,这样把表格去掉了.

4.执行word中,"替换"操作,打开替换高级选项,查找内容输入 "*^p",(不含引号,下同)替换为空白,执行全部替换.

5.执行word中,第二次替换,查找内容输入"^t+^p",替换内容输入"^p^t^t^p",全部替换.

6.选中word中数据内容,执行"表格"->"转换"->"文本转换成表格",列数为3,确定之后得到表格,

7.在表格适当的列之前插入列,达到我们想要的效果.

8.选中表格,复制,在excel中新建文件,右键"选择性粘贴"->"文本",这样就得到了我们想要的内容,打开原来的excel表,把输入的**+去掉,选中我们自己作的内容后复制,然后在指定位置右键,"选择性粘贴",选择"跳过空格",

9.问题完成,
第3个回答  2008-10-05
两个文件同时打开,全部选择要复制(ctrl+c)的信息表格,然后选择性粘贴到另外个文件中。
第4个回答  2008-10-05
假设原数据在sheet1的B列;想复制到sheet2表中的目标位置:

sheet2的B2输入公式
=IF(MOD(ROW(),2),"",OFFSET(Sheet1!$B$2,((ROW()-2)/2)*3,))

sheet2的D2输入公式
=IF(MOD(ROW(),2),"",OFFSET(Sheet1!$B$3,((ROW()-2)/2)*3,))

sheet2的F2输入公式
=IF(MOD(ROW(),2),"",OFFSET(Sheet1!$B$4,((ROW()-2)/2)*3,))

分别将B2、D2、F2公式向下复制就行了

excel编程问题(两个表格之间的复制粘贴)
1、打开A文件,在excel中按Alt+F11键进入VBA编程窗口 窗口中工具栏第二个图标边上的小三角形下拉下出来,选择“模块”,这就会在VBA中插入一个新的模块 2、现在在左边栏双击模块1,然后进入右边模块代码的书写窗口,写入以下代码 --- Sub trans()Dim wk As Workbook Dim wkOpend As Boolean Dim...

如何在两个Excel文件中复制粘贴数据?
1. 打开两个相同的Excel表格,分别为“表格1”和“表格2”。2. 在“表格1”中筛选需要复制的数据,如选中A列中含有“北京”的行。3. 将选中的数据复制,可以使用快捷键Ctrl+C或右键点击选中区域,选择“复制”。4. 切换到“表格2”,选中需要粘贴数据的单元格,如选中A1单元格。5. 将复制的数据...

两个不同的excel表格如何快速复制两个不同的excel表格如何快速复制内 ...
1. 在第一个表格中,选中包含您要复制的数据的单元格区域。2. 按下“数据验证”快捷键(通常是“Alt + V”),然后选择“数据验证”。3. 在弹出的“数据验证”对话框中,选择“序列”验证类型,然后单击“确定”。4. 在“来源”文本框中,输入您要复制的第一个表格的完整列名称(例如,“Sheet1!

如何把excel中两个不同表格的内容复制到另一个表格
首先,打开包含你需要合并内容的两个表格的Excel文件。选定第一个表格,通过鼠标点击并拖动选择整个表格,确保所有需要的数据都被选中。 然后,使用键盘快捷键"Ctrl+C"进行复制。切换到目标新表格,单击一个单元格以准备接收内容。 接着,利用"Ctrl+V"快捷键将复制的表格粘贴到新表格中。此时,第一个表格的数据已经成功添...

两个excel表格中,如何复制一个表格中的某几行数据到另外一个表格中?
软件版本:Office2013 方法如下:1.将当前工作表中的选中的几行,复制到另外一个工作表中:2.在当前工作表按下Ctrl+C:3.到新工作表中后,选一个单元格,按下Ctrl+V,就将这几行数据复制到了新工作表中:

如何把excel中两个不同表格的内容复制到另一个表格
1、打开excel表格,随后打开需要复制的其中一个表格,随后使用鼠标拖拽的方法选中表格。2、使用键盘快捷键“Ctrl+C"复制表格。3、打开需要粘贴到的表格,并点击一个单元格。4、使用键盘快捷键“Ctrl+V"粘贴刚刚复制的表格。5、随后点开另一个需要复制的表格,选中并复制。6、在刚刚复制过来的表格下方...

如何用vba在两个excel之间复制数据
Sub Macro1()Windows("aa.xls").Activate Range("A1").Select Selection.Copy Windows("bb.xls").Activate ActiveSheet.Paste End Sub 前提是两个表都要打开才行!

如何在不同的excel表格之间复制数据?
1. 选择要复制的数据范围,然后按下 Ctrl + C 复制。2. 打开另一个表格,选择要粘贴的单元格。3. 在主菜单中选择“开始”选项卡,然后选择“粘贴”下拉菜单中的“粘贴选项”。4. 在“粘贴选项”中选择“值”或“值和源格式”,然后点击“确定”。5. 如果你要复制的数据包含公式,可以选择“...

EXCEL中实现两个表格数据定向复制?
这样直接在中间插入自己想要的内容或者列就可以了,不需要复制。如果里面有内容,固定了列,直接选择剪切,黏贴。

在两个Excel文档窗口中怎移动或复制工作薄
一、首先打开第一个表格文件,然后点击该表格文件窗口左上角“Office按钮”(这里使用的是Excel 2007演示的,其他版本点击“文件”菜单),弹出的下拉菜单中点击“打开”。二、然后找到第二个表格文件所在位置,选中该文件,点击“打开”。三、注意看下图,这时打开的两个表格文件是在同一个窗口中的(下图...

相似回答