以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]execl工作簿内容合并 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=143086) |
||||
-- 作者:天一生水 -- 发布时间:2019/11/13 12:19:00 -- [求助]execl工作簿内容合并 老师好! execl文件内容合并时,遇到两个问题: 1、第一个工作表需要加标题行,因此代码是不连续行的复制;结果成了连续的值。 2、后面的表取textbox起始和结束的值,进行连续行复制。结果复制的行数不对。 请老师看看是哪里的问题? 谢谢!
代码如下: \'\'\'
[此贴子已经被作者于2019/11/13 12:21:22编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/11/13 14:14:00 -- Dim Rg2 As MSExcel.Range = Ws2.Range(i3 & ":" & i3 & "," & i1 & ":" & i2) \'引用不连续的多行,添加标题行 Rg = Ws.Range("1:1,3:3,5:5") \'引用不连续的多行
|
||||
-- 作者:天一生水 -- 发布时间:2019/11/13 14:45:00 -- 谢谢蓝老师! 还存在两个小问题: 1、代码中的结束行i2要加个 “1”才行,但是最后一个文件复制过来的行数就会多一行,当最后一个文件时 i2-1 也调整不过来; 2、生成的execl文件,打开之前提示如下图,点“是”,可以打开。 是什么原因?
If i1 = Nothing Or i2 = Nothing Or i3 = Nothing Then |
||||
-- 作者:有点蓝 -- 发布时间:2019/11/13 15:06:00 -- ElseIf e.Form.Controls("CheckBox07").checked If i1 = Nothing Or i2 = Nothing Or i3 = Nothing Then msgbox("请录入工作表标题行或起始行或结束行!") Else If i = 0 Then Dim Rg2 As MSExcel.Range = Ws2.Range(i3 & ":" & i3 & "," & i1 & ":" & i2) \'引用不连续的多行,添加标题行 Rg2.Copy Else Dim Rg2 As MSExcel.Range = Ws2.Range(i1 & ":" & i2)\'引用连续的多行 Rg2.Copy End If End If End If rg.PasteSpecial() rg = ws.Cells(ws.UsedRange.Rows.Count+2,1) Wb2.Close i= i+1 Next 保存为xlsx文件
|