excel vb 把提取出来的一串字符,写入到单元格里

作者&投稿:星习 (若有异议请与网页底部的电邮联系)
EXCEL 用VBA 提取字符串~

可以使用函数提取一个字符串中的一段字符。

MID 用来返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
函数 MID 始终将每个字符(不管是单字节还是双字节)按 1 计数。

语法:
MID(text, start_num, num_chars)
参数:
MID函数语法具有下列参数:
Text 必需。包含要提取字符的文本字符串。
Start_num 必需。文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,依此类推。
Num_chars 必需。指定希望 MID 从文本中返回字符的个数。

说明:

如果 start_num 大于文本长度,则 MID 返回空文本 ("")。
如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。
如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。
如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。
如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。

示例:
数据 "Fluid Flow " 假设在A1单元格。
=MID(A2,1,5) 上面字符串中的 5 个字符,从第一个字符开始 (Fluid) 。
=MID(A2,7,20) 上面字符串中的 20 个字符,从第七个字符开始 (Flow) 。
=MID(A2,20,5) 因为要提取的第一个字符的位置大于字符串的长度,所以返回空文本 ()。

首先,在工程中引用Microsoft Excel类型库:
从"工程"菜单中选择"引用"栏;选择Microsoft Excel 11.0 Object Library(EXCEL2003),(或者其他版本)然后选择"确定"。表示在工程中要引用EXCEL类型库。
通过VB访问EXCEL表格具体的使用实例:
Private Sub Command1_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet
Dim FileName, SheetName As String
FileName = "e:\data.xls" '要访问的工作簿路径和名称
SheetName = "sheet1" '指定的要访问的工作表名称
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open(FileName) '打开已经存在的EXCEL工件簿文件
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets(SheetName) '设置活动工作表

xlSheet.Cells(5, 2) = Text1.Text '给单元格B5赋值
xlSheet.Cells(2, 3) = Text2.Text '给单元格C2赋值

xlBook.Close (True) '关闭工作簿
xlApp.Quit '结束EXCEL对象
Set xlApp = Nothing '释放xlApp对象
End Sub

xcel在C盘根目录下生成一个名为 Test.xls 的空文件,然后启动VB6

首先在工程中引用 Microsoft Excel 11.0 Object Library

力求简单,显示数据我仅仅用了3个Textbox控件来完成!

代码如下:
Dim objExcelFile As Excel.Application
Dim objWorkBook As Excel.Workbook
Dim objImportSheet As Excel.Worksheet
Dim inx As Integer

Private Sub Command1_Click()
objImportSheet.Cells(1, inx).Value = Text1.Text
inx = inx + 1
If inx > 3 Then inx = 1
End Sub

Private Sub Command2_Click()
objImportSheet.SaveAs "c:\test.xls"
Text2.Text = GetRowData(1, 1)
Text3.Text = GetRowData(1, 2)
Text4.Text = GetRowData(1, 3)
End Sub

Private Sub Form_Load()
Set objExcelFile = New Excel.Application
objExcelFile.DisplayAlerts = False
Set objWorkBook = objExcelFile.Workbooks.Open("c:\test.xls")
Set objImportSheet = objWorkBook.Sheets(1)
inx = 1
End Sub

Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
objImportSheet.SaveAs "c:\test.xls"
objExcelFile.Quit
Set objWorkBook = Nothing
Set objImportSheet = Nothing
Set objExcelFile = Nothing
End Sub

Function GetRowData(sRow As Integer, sCow As Integer) As String
GetRowData = Trim$(objImportSheet.Cells(sRow, sCow).Value)
End Function

cells(1,1)=ChartObjects(1).Chart.SeriesCollection(1).Formula


松滋市15967196405: excel vb 把提取出来的一串字符,写入到单元格里 -
池福先友: cells(1,1)=ChartObjects(1).Chart.SeriesCollection(1).Formula

松滋市15967196405: 怎么从EXCEL中提取某行数据作为VB编程中能使用的数组 -
池福先友: VB操作EXCEL 全面控制 Excel 首先创建 Excel 对象,使用ComObj: Dim ExcelID as Excel.Application Set ExcelID as new Excel.Application 1) 显示当前窗口: ExcelID.Visible := True; 2) 更改 Excel 标题栏: ExcelID.Caption := \'应用程序调用...

松滋市15967196405: 如何用vb提取excel表格中的数据 -
池福先友: vb读取表格中的数据有下面几个方法 1,a = range("c5") 2,a=cells(3,5) 3,a=cells("c",5) 4,a=[c5] 还有其他数组赋值的方法 祝你成功

松滋市15967196405: 怎样通过VB实现多个EXCEL中特定行列的数据的提取 -
池福先友: 楼上的都不可使用 我来给个能用的.如果好用 希望楼主多给点分 你在桌面建立个新的excel 命名为 "汇总" (程序运行完可以改名) 并将你的多个excel 放在 D盘根目录下的 “提取”文件夹 ,即创建个文件夹 并命名为“提取”,注意 这些名...

松滋市15967196405: 请问VB如何提取Excel文件中的数据? -
池福先友: 做起来太麻烦了.请参阅我的博客:http://hi.baidu.com/zgmg/blog/item/ab8d2dd1888dbcdf572c84bf.html Private Sub Command1_Click() If ZID(Text1) = 0 Then MsgBox "对不起,没找到您输入的ID!" Else Set xlApp = CreateObject("Excel....

松滋市15967196405: 请教请问如何用vb提取excel表格中的数据 -
池福先友: 首先需要知道你要引用的数据在Excel中的位置,然后在VB里面引用Excel,然后打开Excel文件读数据 Dim scxls As Excel.Application Dim scbook As Excel.Workbook Dim scsheet As Excel.Worksheet 'Set scxls = CreateObject("excel....

松滋市15967196405: vb如何提取多个Excel文件中某个表格的某列数据到一个Excel表格里,如图,共有100多个表 -
池福先友: 在工作表标签上击右键,查看代码.在VBE窗口中,点“插入”,模块.将以下代码粘贴到模块代码窗格中,ALT+F8运行该宏,就行了.附件中有样本.Sub 数据提取() For i = 2 To Worksheets.Count Sheets(1).Cells(Sheets(1).[a65536].End(3).Row + 1, 1) = Sheets(i).[D3] Sheets(1).Cells(Sheets(1).[b65536].End(3).Row + 1, 2) = Sheets(i).[e6] Next End Sub

松滋市15967196405: 用vba怎样取excel中的一列在将提取的数据放到另一个sheet的一行,求代码,要精确的,谢谢大家 -
池福先友: Dim xSht1 As Worksheet Dim xSht2 As Worksheet Set xSht1 = Sheets("sheet1") Set xSht2 = Sheets("sheet2") For i = 1 To 45 xSht2.Cells(1, i) = xSht1.Cells(i + 3, 3) 'sheet1表中的C4-C48,放到sheet2的第一行. Next i

松滋市15967196405: Excel VB宏,如何使用正则表达式截取指定格式的字符串? -
池福先友: 额,看你的例子,最新和第一行貌似没有区别啊?如果是这样子的话 Sub Button_Click() Dim intEndIndex As Integer Dim strProgress As String, str Dim objRegExp As New RegExp objRegExp.MultiLine = True objRegExp.Global = True objRegExp....

松滋市15967196405: 怎么用vba抓取excel表格中的数据 -
池福先友: 你的问题太大了,因为VBA在excel就是抓数据、计算数据的,要看你具体怎么抓.比如抓取特定字段数据,应该用到三个字符串函数:LEFT、RIGHT、MID 1、LEFT函数: 用法:LEFT(要提取字符所在单元格,从左侧开始提取的个数) 例如...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网