首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据内容将字体样式和大小应用于文本的Excel工作表列?

如何根据内容将字体样式和大小应用于文本的Excel工作表列?
EN

Stack Overflow用户
提问于 2012-12-27 21:16:54
回答 2查看 3.5K关注 0票数 0

问题

我有一个Excel工作表,其中包含一列文本(即数据),以及关于哪些文本值应该用什么字体和字体大小格式化的一些规则。

特定示例

单元格A1:“文本”

细胞A2 .( A):文本字符串(从几个单词到几个句子)可选地用适用的字体和字体大小格式化

单元格B1:“文本类型”

细胞B2 .单字串,如“标题”、“要求”、“注意事项”。

铭记的规则:

如果B中的字符串是“标题”,则将字符串设置为“A”字体大小为18

如果B中号中的字符串是"requirement",则将字符串设置为Col.A字体

如果B中校中的字符串是“注意”,则使字符串以A中号为“斜体”

约束

Excel作为一个电子表格,都是关于函数式编程(公式)和并行处理(重新计算)。是的,我可以编写过程VBA,但对我来说,它违背了电子表格的精神(尽管过程编程非常流行,Excel和前辈已经提供了很长时间)。

问题

除了特殊用途的VBA程序设计之外,还有其他的想法吗?

似乎不能解决问题

Excel条件格式不能解决问题,因为它明确不允许设置这些特定的单元格属性。

Excel UDF(用户定义函数)不解决问题,因为它们不影响其他单元格。如预期的那样履行职能。即使我想要创建一个函数来复制未格式化的文本,但是使用基于值的样式或大小,UDF也不会影响“环境”--只能返回数据。

我发现here甚至不能将VBA代码作为文本放在Excel工作表单元格中,然后将文本评估为VBA --为字体样式和大小的VBA语句制作一个简单的通用VBA过程处理引擎,然后将其放入工作表中的单元格中。

(如果有任何负面信息是不正确的,而且其中之一将有效,请纠正我。)

VBA 专用的、过程化的编程示例--什么是有效的,但要尽量避免

代码语言:javascript
复制
Public Sub IterateThroughRangeSetFontStyleSize()

Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range

Set wb = Application.ActiveWorkbook
Set ws = wb.Worksheets("myWorkSheet")
Set rng = ws.Range("b2", "b4")

For Each cell In rng.Cells
    If LCase(cell.Text) = "bold" Then cell.Offset(0, -1).Font.Bold = True
    If LCase(cell.Text) = "italic" Then cell.Offset(0, -1).Font.Italic = True
    If LCase(cell.Text) = "large" Then cell.Offset(0, -1).Font.Size = 18
Next cell

End Sub

有些想法对我来说太难了,但也许有人会说它们不是

  • 配置Excel以允许VBA写入VBA编辑器(VBE),读取数据的工作表列,根据规则计算所需的字体样式和大小,并自动生成VBA过程代码以更新数据列的字体样式和大小
  • 导出或将Excel文件保存为XML,编写一个XSL样式表,按照规则设置格式,打开(导入?)XML和告诉Excel使用XSL样式表

什么是需要

一些跳出盒子的人,保持简单的想法!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-28 22:58:01

可以单独保存数据和格式化信息:

Sheet 1:数据;

Sheet 2:描述表1上相应单元格的单元格格式的函数(导致bgcolor="#ff00ff“、字体size="3”等);

Sheet 3:数据和格式合并,提供XSL。

唯一需要的VBA是为第2页编写一个UDF,为第3页编写另一个UDF。

票数 1
EN

Stack Overflow用户

发布于 2012-12-27 22:29:19

我不确定这个问题是否是一个层次--你不想写VBA代码,因为“它违背了Excel的精神”?VBA是在Excel5.0中引入的,在此之前有一个过程宏语言。自动化一直是Excel流行的一个组成部分(也是Lotus1-2-3在它之前崛起的主要原因)。

粗体和斜体可以通过条件格式来操作

对于字体大小,是的,您需要编写一些代码。也许是一些样本数据或数据类型的指示(文本、整数、实数、.)会提出一些建议。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14061416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档