怎么合并excel word文档
因为你没有说明表格的具体情况,很难有针对性的回答你的问题,提供一个最简单情况的解决方法: 假设表格为5列,其中没有任何合并单元格,现在将第3、4、5列的内容合并到第3列中。
选择第3、4、5列……复制……打开一个空白文档……粘贴……选择刚粘贴的三列表格……选择菜单栏中的表格……转换……表格转换为文本……将文字分割符设为逗号……确定……选择刚才转换的全部文本……选择菜单栏中的表格……转换……文本转换为表格……设置列数为1,文字分割位置为段落标记……确定……这时三列就合并成一列了……把原表格中的相应内容清除……把合并好的表格粘贴过来。
如果中间不要有逗号,用替换的方法将逗号去除。
这时最简单的情况,如果和你的表格不同,灵活应用就行。
如有疑问,请发消息联系!
Excel 如何在word中用vba删除有合并单元格的行
从后面往前删除就可以保持前面的位置。
Private Function MyFunction9()Dim I As Long, J As LongFor I = 1 To Range("A65536").End(xlUp).Row '最大行数For J = Range("A65536").End(xlUp).Row To I + 1 Step -1 '这里的最大行数看似和上面一样,但是其实它是不一样的,I 的是固定的,J 的是不固定。
If Range("A" & I).Value = Range("A" & J).Value Then Rows(J).DeleteNextNextEnd Function
vba如何把word表格内容填到excel里
如果说填写,这个比较复杂,而且很难实现,因为word的VBA都是跟跟键盘操作,和界面操作有关的。
所以,如果可能,可以考虑用VBA来复制表格,然后粘贴到EXCEL中,对于比较简单的表格,内容是可以完全匹配的。
首先,你要知道如何用键盘来选择整个表格,然后复制,把这些操作录制下来,然后复制代码。
。
如果你是要从EXCEL 的VBA 入手,那么你需要在VBA引用中添加WORD Libary 11.0 如果是从WORD的VBA入手,那么就要添加EXCEL LIBARY 11.0 (OFFICE 2007 是 12.0)然后就是需要知道EXCEL中粘贴的代码,如果我记得不错的话,是:cells(1,1).paste这个,你也可以通过录制来得到。
如果你需要知道具体的操作方案,你当然也应该吧分数提高。
。
。
怎么vba实现word表格批量转为excel
注:vba偶并不太熟(偶一般是用c#和delphi的),VBA只是稍有了解,以下代码大部分是偶google到的内容拼出来的。
。
。
。
。
如下,使用时先更改test下的docpath和xlspath路径设定,docpath即你的word的目录,此目录包括子目录下的所有doc将被读取,xlspath即输出目录,需要存在 在VBA窗口中,先在视图下显示立即窗口以观察进度,程序最后的输出类似这样 正在读取[1]:->D:\1\Resume.doc 正在生成:->d:\2\Resume 正在读取[2]:->D:\1\简历(简).doc 正在生成:->d:\2\简历(简) 正在读取[3]:->D:\1\计数器说明.doc 正在生成:->d:\2\计数器说明 共耗时0分41秒 Option Explicit Dim docpath As String, xlspath As String'ResultFlag=0 获取路径'ResultFlag=1 获取文件名'ResultFlag=2 获取扩展名 Public Function SplitPath(FullPath As String, ResultFlag As Integer) As String Dim SplitPos As Integer, DotPos As Integer SplitPos = InStrRev(FullPath, "\") DotPos = InStrRev(FullPath, ".") Select Case ResultFlag Case 0 SplitPath = Left(FullPath, SplitPos - 1) Case 1 If DotPos = 0 Then DotPos = Len(FullPath) + 1 SplitPath = Mid(FullPath, SplitPos + 1, DotPos - SplitPos - 1) Case 2 If DotPos = 0 Then DotPos = Len(FullPath) SplitPath = Mid(FullPath, DotPos + 1) Case Else Err.Raise vbObjectError + 1, "SplitPath Function", "Invalid Parameter!" End Select End Function Public Function FileFolderExists(ByVal strFullPath As String) As Boolean On Error GoTo EarlyExit If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True EarlyExit: On Error GoTo 0 End Function Sub Test() '使用双字典,旨在提高速度 Dim MyName, Dic, Did, I, T, F, TT, MyFileName, Doc, Ke Dim count As Integer count = 0 T = Time docpath = "D:\1\" xlspath = "d:\2\" Set Dic = CreateObject("Scripting.Dictionary") '创建一个字典对象 Set Did = CreateObject("Scripting.Dictionary") Dic.Add (docpath), "" I = 0 Do While I Ke = Dic.keys '开始遍历字典 MyName = Dir(Ke(I), vbDirectory) '查找目录 Do While MyName "" If MyName "." And MyName ".." Then If (GetAttr(Ke(I) & MyName) And vbDirectory) = vbDirectory Then '如果是次级目录 Dic.Add (Ke(I) & MyName & "\"), "" '就往字典中添加这个次级目录名作为一个条目 End If End If MyName = Dir '继续遍历寻找 Loop I = I + 1 Loop 'Did.Add ("文件清单"), "" '以查找D盘下所有EXCEL文件为例 For Each Ke In Dic.keys MyFileName = Dir(Ke & "*.doc") Do While MyFileName "" Doc = Ke & MyFileName Did.Add (Doc), "" count = count + 1 Debug.Print "正在读取[" & count & "]:->" & Doc doc2xls (Doc) MyFileName = Dir Loop Next ' For Each Sh In ThisWorkbook.Worksheets ' If Sh.Name = "XLS文件清单" Then ' Sheets("XLS文件清单").Cells.Delete ' F = True ' Exit For ' Else ' F = False ' End If ' Next 'If Not F Then ' Sheets.Add.Name = "XLS文件清单" 'End If 'Sheets("XLS文件清单").[A1].Resize(Did.Count, 1) = WorksheetFunction.Transpose(Did.keys) TT = Time - T Debug.Print "共耗时" & Minute(TT) & "分" & Second(TT) & "秒" End Sub Sub doc2xls(filename As String) Dim xlApp As Object, xlSheet As Object, outfile As String, c As Object Set xlApp = CreateObject("Excel.Application") Set xlSheet = xlApp.Workbooks.Add.Sheets(1) Dim Wapp As Object, Doc As Object, GetDocText As Object 'Word Application 对象、Document 对象 Set Wapp = CreateObject("Word.Application") '创建Word Application 对象 Set Doc = Wapp.Documents.Open(filename, ReadOnly:=True) '打开文档,返回一个文档对象'xlSheet.Range("A1") = Doc.Content.Text Doc.Application.Selection.WholeStory ''''全选 Doc.Application.Selection.Copy ''''''''''复制 xlSheet.Range("A1").Select xlSheet.Paste outfile = xlspath + Replace(SplitPath(filename, 1), ".doc", ".xls") Debug.Print "正在生成:->" & outfile xlSheet.Parent.SaveAs outfile xlApp.Quit Set xlSheet = Nothing Set xlApp = Nothing Wapp.Quit Set Doc = Nothing Set Wapp = Nothing End Sub
怎么在excel 里用vba新建word文档并写入文字,表格,图片
Dim Worddocument As Word.ApplicationSet Worddocument = CreateObject("word.application")With Worddocument.Documents.Add '打开一份文档.Visible = True '汇话状态打开end with以上打开一个新的word文档
转载请注明出处51数据库 » word 表格 合并 vba