Foxtable(狐表)用户栏目专家坐堂 → 通过列表设置单元格样式


  共有1559人关注过本帖树形打印复制链接

主题:通过列表设置单元格样式

帅哥哟,离线,有人找我吗?
1234567
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
通过列表设置单元格样式  发帖心情 Post By:2024/10/18 9:00:00 [显示全部帖子]

能不能通过列表,对单元格样式进行设计,而不是通过代码?

如图所示,如果希望当工序列数据为镗床,工步列数据为镗孔时,材料密度列的单元格为样式一,我通过对该单元格输入1实现,而不是通过代码。


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

 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/18 9:24:00 [显示全部帖子]

能不能逐行提取单元格数据为1的列名?还有逐行提取第一列的单元格数据?并赋值。


 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/18 9:38:00 [显示全部帖子]

如何筛选出单元格值为1的列名?


 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/18 10:16:00 [显示全部帖子]

 DrawCell表事件

Dim dr As Row = e.Row
Select Case e.Col.name
Case "材料密度", "按重量材料单价", "直径", "直径高度", "零件数量"
If dr("工序") = "镗床" AndAlso dr("工步") = "镗孔" Then
    e.Style = "样式1"
End If
End Select    这是原来的代码,狐表使用者希望根据自己的意愿选择单元格样式。

 

 

 根据样式表,改成通用代码,代码怎么写?

For Each r As Row In Tables("样式表").Rows
For Each cl As Col In Tables("样式表").Cols
 Output.Show(r("工序"))
 Output.Show(r("工步"))
    If r(cl.Name) = "1" Then
        Output.Show(cl.Name)
    End If
Dim dr As Row = e.Row
Select Case e.Col.name
Case cl.Name & ", " & cl.Name & ", " & cl.Name & ", " & cl.Name   这句代码怎么写?
If dr("工序") = r("工序") AndAlso dr("工步") = r("工步")Then
    e.Style = "样式1"
End If
End Select
Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/18 11:56:00 [显示全部帖子]

 

For Each cl As Col In CurrentTable.Cols
    Output.Show(cl.Name)

Next

通过遍历集合中所有元素的得到的这个值,是一个集合吗?

如何对当前表所有的列名称分别声明变量?


 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/21 8:40:00 [显示全部帖子]

 


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

 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/21 10:06:00 [显示全部帖子]

如何返回满足条件列的列号?

 

For i As Integer = 0 To Tables("任务单").Cols.count - 1

If r(cl.Name) = 1 Then

i = ?如何求得列号?


 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/21 14:29:00 [显示全部帖子]

For Each r As Row In Tables("工步表样式").Rows
    Dim t1 As String = r("工序")
    Dim t2 As String = r("工步")
    msgbox(t1)
    msgbox(t2)
    For Each cl As Col In Tables("工步表样式").Cols
        If cl.IsString AndAlso r(cl.Name) = "1" Then
            Dim v As Integer
            v = cl.Index
            msgbox(v)
            Dim t As String
            t = Tables("工步表样式").Cols(v).name
             msgbox(t)
            If t <> "" Then
               t = t & "," & t
                msgbox(t)   希望输出的是 "直径" ,"长度",代码怎么改?
"直径
            End If
        End If
    Next
Next

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

 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/21 14:52:00 [显示全部帖子]

 如上图,希望得到的数值是  "直径", "长度"

[此贴子已经被作者于2024/10/21 14:55:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
1234567
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/21 15:15:00 [显示全部帖子]

15楼返回是列名,我希望如果有多列符合条件,则返回 "列名1", "列名2", .......

 回到顶部
总数 18 1 2 下一页