标题:救助表头的问题
只看楼主
kissis
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2022-8-21
结帖率:100%
已结贴  问题点数:30 回复次数:5 
救助表头的问题
Excel工作簿中多个表,表名暂命名为A、B、C等等
表头名称来自一文本框
现问题:
不论是向A、B、C等哪个表写入数据时,表头均出现在A表中。
如何在写入数据时表头名称也同时写入到指定的表中。
搜索更多相关主题的帖子: 救助 表中 表头 写入 数据 
2022-10-03 15:58
约定的童话
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:47
帖 子:190
专家分:1061
注 册:2021-8-1
得分:10 
这个加个工作表循环,判断表名是否与文本框当前循环的ABC一致...
2022-10-03 19:41
kissis
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2022-8-21
得分:0 
在写入之前就有判断表名是否与文本框相符了
If Text2.Text > "" Then
    MSHFlexGrid1.Redraw = False
    Set xlApp = CreateObject("Excel.Application")   
   'Set xlApp = CreateObject("Excel.Application")   
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\DATA\DATA.xls")
    xlApp.Visible = True '设置EXCEL对象可见
    For i = 1 To xlBook.Sheets.Count
    Named = xlBook.Worksheets(i).Name
     Next i   
   Named = Trim(Text2.Text)
   Set xlsheet = xlBook.Worksheets(Named) '设置活动工作表
   With MSHFlexGrid1
     For s = 0 To MSHFlexGrid1.Rows - 1 '行循环
            For j = 0 To MSHFlexGrid1.Cols - 1 '列循环
                 'MSHFlexGrid1.Row = i
                ' MSHFlexGrid1.Col = j
xlBook.Worksheets(Named).Cells(s + 3, j + 1).Value = Trim(MSHFlexGrid1.TextMatrix(s, j)) '从第三行写入数据保存到EXCEL
xlsheet.Cells(3, 1).Value = "序号"
xlsheet.Cells(s + 3, 1).Value = s
Next j
Next s
End With
With xlApp
.Cells.Select '选择整个工作表
.Columns.AutoFit '自动调整列宽以适应文字
.Range(xlApp.Cells(1, 1), xlApp.Cells(1, j)).Merge ' 合并第一行
.Cells(1, 1).Value = "报表样式"
.Cells(1, 1).Font.Size = 20
.Rows(1).Font.Bold = True '第三行粗体
 .Selection.HorizontalAlignment = xlCenter  '水平居中
.Range(xlApp.Cells(2, 1), xlApp.Cells(2, j)).Merge
 .Cells(2, 1).Font.Size = 12
  .Cells(2, 1).Value = "制表单位: " + Trim(Text2.Text) + " " + Space(10) + "  制表日期:" + Trim(Text1.Text) + ""
 End With
MSHFlexGrid1.Redraw = True
 Next i
 Next i
End If
是不是要在With xlApp之前再加个判断 Named = Trim(Text2.Text)
2022-10-03 20:18
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
设置了活动工作表,按理来都是对这个活动工作表进行操作,
Set xlsheet = xlBook.Worksheets(Named) '设置活动工作表  

With xlApp         
你这里为啥又要对整个 exlce 对象进行操作呢??
不是继续对活动工作表进行操作吗?

授人于鱼,不如授人于渔
早已停用QQ了
2022-10-03 22:54
kissis
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2022-8-21
得分:0 
回复 4楼 风吹过b
谢谢提醒改成With xlsheet后达到了效果,但文字居中的代码该如何写
xlsheet.Range(S+1,j+1).HorizontalAlignment = xlCenter提示出错
原来只要调整列文字居中就可以了
xlsheet.Cells.HorizontalAlignment = xlCenter

[此贴子已经被作者于2022-10-4 07:43编辑过]

2022-10-04 00:25
约定的童话
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:47
帖 子:190
专家分:1061
注 册:2021-8-1
得分:0 
回复 5楼 kissis
xlsheet.Range(S+1,j+1).HorizontalAlignment = xlCenter改成xlsheet.cells(S+1,j+1).HorizontalAlignment = xlCenter
2022-10-04 10:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510189-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.107669 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved