乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > VB/VB.net 如果实现对Excel单元格中内容的批量替...

VB/VB.net 如果实现对Excel单元格中内容的批量替...

作者:乔山办公网日期:

返回目录:excel表格制作


我只有VB 2005,但是道理一样的!
首先通过菜单[项目] -- [添加引用],选择[COM]选项卡,选择“Microsoft Excel XX.0 Object Library”,[确定]。
其中:XX.0 ,视你安装的Office版本而定。
我给你弄了个比较详e79fa5e98193e59b9ee7ad94364细例子:你自己根据需要,修改吧!

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim AppXls As Microsoft.Office.Interop.Excel.Application '声明Excel对象
Dim AppWokBook As Microsoft.Office.Interop.Excel.Workbook '声明工作簿对象
Dim AppSheet As New Microsoft.Office.Interop.Excel.Worksheet '声明工作表对象

AppXls = New Microsoft.Office.Interop.Excel.Application '实例化Excel对象
AppXls.Workbooks.Open("C:\学生成绩.xls") '打开已经存在的EXCEL文件
AppXls.Visible = False '使Excel不可见

'AppWokBook = New Microsoft.Office.Interop.Excel.Workbook '实例化工作簿对象
'AppSheet = New Microsoft.Office.Interop.Excel.Worksheet '实例化工作表对象

AppWokBook = AppXls.Workbooks(1) 'AppWokBook对象指向工作簿"C:\学生成绩.xls"
AppSheet = AppWokBook.Sheets("Sheet1") 'AppSheet对象指向AppWokBook对象中的表“Sheet1”,即:"C:\学生成绩.xls"中的表“Sheet1”

'下面举一些例子:
'1、如果不声明工作表对象 AppSheet ,那么应用AppWokBook对象中的表“Sheet1”的语句就是:AppWokBook.Sheets("Sheet1")
'2、如果不声明工作簿对象 AppWokBook ,那么应用"C:\学生成绩.xls"中的表“Sheet1”的语句就是:AppXls.Workbooks("C:\学生成绩.xls").Sheets("Sheet1")

'要读取数据表"Sheet1"中的单元格“A1”的值,到变量S1里
Dim S1 As String
'方法一
S1 = AppXls.Workbooks(1).Sheets("Sheet1").Range("A1").Value
MsgBox(S1)

'方法二
S1 = AppWokBook.Sheets("Sheet1").Range("A1").Value
MsgBox(S1)

'方法三
S1 = AppSheet.Range("A1").Value
MsgBox(S1)

'把数据写入到单元格“H2”,就是第2行第8个单元格
'方法一
AppXls.Workbooks(1).Sheets("Sheet1").Cells(2, 8).Value = "您好!"
S1 = AppXls.Workbooks(1).Sheets("Sheet1").Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'方法二
AppWokBook.Sheets("Sheet1").Cells(2, 8).Value = "你们好!"
S1 = AppWokBook.Sheets("Sheet1").Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'方法二
AppSheet.Cells(2, 8).Value = "大家好!"
S1 = AppSheet.Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'使用完毕必须关闭EXCEL,并退出
AppXls.ActiveWorkbook.Close(SaveChanges:=True)
AppXls.Quit()

'完成此程序,打开EXCEL检查,可以看到在“Sheet1”表的单元格“H2”里是文本“大家好!”

End Sub

用vba可以实现,不难。要看你具体做什么,下面是一个录制的宏,替换aaa为axa,然后替换bbb为xbx。

Sub 宏2()
'
' 宏2 宏
'
'
Cells.Replace What:="aaa", Replacement:="axa", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:="bbb", Replacement:="xbx", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
法:
  假如要将A1:G100单元格中所有包含“业务”的单元格全部替换为“业务”,可用如下代码:

Sub aa()
Dim i As Integer
With Range("A1:G100")
For i = 1 To .Cells.Count
If WorksheetFunction.CountIf(.Cells(i), "*业务*") = 1 Then
.Cells(i) = "业务"
End If
Next i
End With
End Sub

打开VBE编辑器,粘贴上面的代码,运行后即可达到要求。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'On Error GoTo EXIT_ERROR
Dim strErrorPos As String = "F_TreatOne"
Dim strFileName As String
strFileName = "d:\test.xlsx"
Dim objExcelApp As New Microsoft.Office.Interop.Excel.Application

Dim objWorkBook As Microsoft.Office.Interop.Excel.Workbook

Dim objSheet As Microsoft.Office.Interop.Excel.Worksheet

objWorkBook = objExcelApp.Workbooks.Open(strFileName)
objSheet = objWorkBook.Worksheets(1)
objSheet.UsedRange.Replace("aaa", "bbb")
objWorkBook.Save()
objWorkBook.Close()
objExcelApp.Quit()
objWorkBook = Nothing
objExcelApp = Nothing
End Sub
需要的话,自已再适当修改修改.
项目中需要加对Microsoft.Office.Interop.Excel的引用e68a847a686964616f365.

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网