以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]通过foxtable的vba编程来获取相关单元格的信息  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151302)

--  作者:teng0731
--  发布时间:2020/6/19 22:14:00
--  [求助]通过foxtable的vba编程来获取相关单元格的信息
注:想要将需要填报数据的单元格(特征是背景无填充色,为空格,单元格有边框,有多张类似的表格,需要获取的单元格特征是一致的),通过foxtable的vba编程来获取相关空格的信息,填入到结果表中(只需要两列,一列是空格所在的sheet名,一列是空格所在的位置信息。)

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200619222137.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200619221455.png
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:book1.xlsx


[此贴子已经被作者于2020/6/19 22:22:08编辑过]

--  作者:teng0731
--  发布时间:2020/6/19 22:18:00
--  
对于vba确实不熟悉,只能求助于大家图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2020/6/19 22:20:00
--  
结果表是在foxtable的表?还是说execl本身sheet1的数据放到sheet2?
[此贴子已经被作者于2020/6/19 22:20:22编辑过]

--  作者:teng0731
--  发布时间:2020/6/19 22:24:00
--  
结果表是在foxtable的表?还是说execl本身sheet1的数据放到sheet2?

结果放到哪里都可以,这个不是重点,关键是如何获取满足条件的单元格?

--  作者:teng0731
--  发布时间:2020/6/19 22:25:00
--  
vba用法参考:http://www.foxtable.com/webhelp/topics/2121.htm
这一章,我看了,但没有说的很细致,用不起来

--  作者:有点蓝
--  发布时间:2020/6/19 22:59:00
--  
参考:

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\问题\\book1.xlsx")
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets(2)
    For i As Integer = 1 To Ws2.UsedRange.Rows.Count
        If Ws2.Cells(i,2).value > ""
            Ws2.Cells(i,3).value = Ws.Range(Ws2.Cells(i,2).value).value
        End If
    Next
    App.Visible = True
catch ex As exception
    msgbox(ex.message)
    App.quit
End try

--  作者:sloyy
--  发布时间:2020/6/20 1:53:00
--  
7年前我做的项目,你看看有没有用?

复杂excel报表跨表取数及公式自动计算的完美解决办法

--  作者:teng0731
--  发布时间:2020/6/20 10:43:00
--  
感谢sloyy回复,核心逻辑不一样,帮助不大。
--  作者:teng0731
--  发布时间:2020/6/20 10:54:00
--  
感谢有点蓝老师,上面的回复语句不是我需要的,想问一下,如何判断一个单元格设置了边框(四个边),是否背景没有设置颜色?
--  作者:有点蓝
--  发布时间:2020/6/20 11:29:00
--  

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\问题\\book1.xlsx")
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim rg = Ws.Range("C5")
    msgbox(rg.Borders(MSExcel.XlBordersIndex.xlEdgeLeft).LineStyle = MSExcel.XlLineStyle.xlLineStyleNone) \'true为无左边框
    msgbox(rg.Interior.ColorIndex  = MSExcel.XlLineStyle.xlLineStyleNone) \'true为无填充颜色
    App.quit
catch ex As exception
    msgbox(ex.message)
    App.quit
End try