excel 在sheet2中设置的按钮,使得点击这个按钮的时候,在sheet1中vba sheet单元格格n1返回数值1,代码怎么写

&&欢迎来到论文网!
论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台,。
您当前的位置:&>&&>&
导读::可以方便的利用VBA读取Excel工作薄中的数据。经常需要引用其它工作薄中的数据。
关键词:VBA,工作薄,数据读取
  工作中,使用Excel进行数据处理时,经常需要引用其它工作薄中的数据工作薄,用VBA编程能帮助用户在不打开工作薄或看似不打开工作薄的情况下取得其它工作薄中的数据,下面有几种方法可以实现,假设当前工作表:&F:\test.xls&,第一个工作表名称为&sheet1&,其它工作薄如:&F:\源数据.xls&,第一个工作表名称为&销售数据&。读取引用工作薄的工作表数据范围A1:E20。在当前工作表中利用&控件工具箱&,制作命令按钮名称和下面过程名对应。
  1 使用公式引用工作簿中的工作表数据
  Private Sub btn1 ()
  Dim wshpath As String
  wshpath=&'& &ThisWorkbook.Path &&\[源数据.xls]销售数据'!&
  With Sheet1.Range(&A1:E20&)'激活当前工作表A1:E20区域
  .FormulaR1C1=&=& &wshpath &&RC&'在A1:E20区域写入对其它工作表单元格引用
  .Value=.Value'将该区域的公式转换为数值
  End With
  End Sub
  此方法适合应用于需要引用的数据不是太多的情况中心。
  2 使用Excel对象的方法引用工作簿中的工作表数据
  Private Sub btn2()
  Dim FilePath As String
  Dim i,j As Long
  Dim sBrow,sErow,sBCol,sEcol As Long'源表的行数,列数
  Dim tBrow,tBcol As Long '设置当前工作表开始行、列数
  sBrow=1
  sErow=20
  sBCol=1
  sEcol=5
  tBrow=1
  tBcol=1
  FilePath=ThisWorkbook.Path &&\源数据.xls&
  Set xlapp=CreateObject(&Excel.Application&)'创建EXCEL对象
  Set xlbook=xlapp.Workbooks.Open(FilePath)'创建工件簿对象
  Set xlsheet=xlbook.Worksheets(1)'创建工作表对象
  xlapp.Visible=False
  '以下将数据复制到当前工作表中
  For i=sBrow To sErow
  For j=sBCol To sEcol
  ThisWorkbook.Sheets(1).Cells(tBrow+i-1,tBcol+j-1)=xlsheet.Cells(i,j)
  '关闭对象代码省略
  End Sub
  该方法编程应用灵活,较为简单工作薄,可以修改添加代码对其它多个工作薄进行读取数据。
  3 使用ExecuteExcel4Macro方法引用工作簿中的工作表数据
  Private Sub btn3()
  Dim FilePath As String
  Dim i,j,sBrow,sErow,sBCol,sEcol,tBrow,tBcol As Long
  sBrow=1
  sErow=20
  sBCol=1
  sEcol=5
  tBrow=1
  tBcol=1
  FilePath=ThisWorkbook.Path &&\[源数据.xls]&
  For i=sBrow To sErow
  For j=sBCol To sEcol
  Sheets(1).Cells(tBrow+i-1,tBcol+j-1)=ExecuteExcel4Macro(&'&&FilePath &&报名表& &&'!r& & i& &c& &j)
  End Sub
  4 使用ADO的方式引用工作簿中的工作表数据。
  在编写代码之前打开Visual Basic编辑器,单击&工具&菜单-&&引用&命令,在打开的引用对话框中,选中&MicrosoftActiveX Data Objects 2.0 Library&,点击确定,就可利用ADO来读取Excel工作薄中数据。
  Private Sub btn4()
  Dim Sql As String
  Dim i,nR As Integer
  Dim Cnn As ADODB.Connection
  Dim rs As ADODB.Recordset
  With Sheet1
  .Cells.Clear
  Set Cnn=New ADODB.Connection
  '以下用ADO连接并打开被应用工作薄
  With Cnn
  .Provider=&microsoft.jet.oledb.4.0&
  .ConnectionString=&Extended Properties=Excel 8.0;& &&Data Source=& &ThisWorkbook.Path &&\源数据&
  End With
  '以下筛选表中数据生成记录集,第一行默认为字段名
  Set rs=New ADODB.Recordset
  Sql=&select * from [销售数据$]&
  rs.Open Sql,Cnn,adOpenKeyset,adLockOptimistic
  '以下将字段名放入首行,将数据写入工作表
  For i=0 To rs.Fields.Count-1
  .Cells(1,i+1)=rs.Fields(i).Name
  nR=.Range(&A65536&).End(xlUp).Row
  .Range(&A& &nR+1).CopyFromRecordset rs
  End With
  rs.Close
  Cnn.Close
  Set rs=Nothing
  Set Cnn=Nothing
  End Sub
  结束语:
  通过以上几种方法工作薄,可以方便的利用VBA读取Excel工作薄中的数据,其中一、二种方法在打开Excel工作薄时使其隐藏而使用户看不见,三、四种方法真正意义上没有打开工作薄而读取其数据。在实际VBA应用中,需要读取更多的工作薄,用户则可添加对文件夹及文件的操作代码完成,从而提高工作效率。
参考文献:
[1]John Walkenbach著.盖江南,王勇等译.Excel 2003高级VBA编程宝典[M].电子工业出版社,2005.
[2]Excel Home.Excel应用大全[M].人民邮电出版社,2008.
查看相关论文专题: &
-------------------------------------------------------------------------
上一篇论文:
下一篇论文:
相关计算机毕业论文
最新计算机毕业论文
读者推荐的计算机毕业论文
热门:&&&& excel 表格分栏打印输出的两种巧妙方法 有时 Excel 中的表格只有两三列内容, 这样在处理完表格中数据如果直接打印输出就会显得 很不美观,且浪费纸张。如果能象 ...  用 EXCEL 表格来做“快递打印软件”的原理是:用含有至少两个工作表的 工作薄,...“数据源”的第一列必须为序列号,这 是为后面调取数据用的; “模板”中必须...  在Excel中的打印设置的技巧_计算机软件及应用_IT/计算机_专业资料。在 Excel 中...图九 再补充一点,有时一个表格的左边列是固定不变的,而不是顶端的标题,这 ...  Excel表格里做的一张表打印时只出现半张表的解决方法_计算机软件及应用_IT/计算机_专业资料。Excel 表格里做的一张表打印时只出现半张表的解决方法 1.这是在 ...  考生名册的生成 根据座位标签中需要打印的项目,,笔者设计了“考生名册”工作表。...的目的在于指定该考生标签所在单元格区域(“A2:E5”,即 4 行 5 列)内返回...  打印 Excel 中的单列表格 如果只打印 Excel 中的一个单列表 格,相信有的朋友...不打印图形 对于一个图文混排的文件,常常需要校对其中的文本,为了节 省纸张和...  打印excel表格技巧(图文... 11页 免费 图片版excel表格教程 68页 免费 教你Excel...EXCEL表格打印事项 10页 免费 打印Excel中的单列表格 30页 免费 巧用VBA编程...  Excel表格打印设置及视图窗口使用_计算机软件及应用_IT/计算机_专业资料。经常在 ...如何打印Excel表格 1页 免费 打印Excel中的单列表格 30页 免费 ...  两招搞定 Excel 中背景打印有些企业在办公中有在 Excel 表格中加入公司背景或者...打印Excel中的单列表格 30页 免费 35招秘技搞定Excel表格 24页 免费 Excel打印...

我要回帖

更多关于 poi sheet 合并单元格 的文章

 

随机推荐