【问题标题】:Excel Column Widths from tableExcel表格中的列宽
【发布时间】:2021-06-15 10:36:55
【问题描述】:

从包含在单独工作表中定义宽度的标题名称的列列表中,我希望能够重置命名工作表中的列宽以遵循表中定义的宽度,例如 A 列 - 名字宽度 32 B 列 - 姓氏宽度 40 C 列 - 电话宽度 6 D 列 - 电子邮件宽度 36 等

同样可以定义以类似方式定义的行高。

感谢您的帮助

【问题讨论】:

  • 也许是因为我困了,我不理解,但您想要一种方法来根据其名称选择电子表格,只需插入值,您就可以从另一个电子表格的表中的值定义其宽度.是这样吗?

标签: excel height width


【解决方案1】:

您的问题太不精确,无法提供有针对性的答案。下面代码的变体可能会提供一个通用的解决方案。

Worksheets("Target").Columns(12).ColumnWidth = Worksheets("Source").Columns(3).ColumnWidth

这段代码有两部分。在右侧,读取列宽。在左边它被设置。您可以使用您可以指定的任何列,包括命名范围的列,例如您在表中的列。您可以将读取的值分配给一个变量,并将存储在变量中的宽度应用于您可以指定的任何列,包括命名范围的列,如表中的列或您在代码中动态指定的范围。请注意,列宽是 Single 数据类型的数值。

请注意,PasteSpecial 方法也提供了复制列宽的选项。而且,当然,您可以使用命令 AutoFit 将列的宽度调整为其内容所需的任何宽度。

【讨论】:

  • 谢谢。让我试一试。我想要固定宽度,但从列到列不同。从另一位贡献者那里得到了类似的建议,所以我会尝试。
  • 太棒了。感谢您的反馈。您的试验很可能会产生代码,并且该代码可能比您的问题的当前格式更好地表达您的实际需求。将该代码附加到您的问题中(或在包含您的代码的情况下提出一个新问题)并期望得到解决您问题的答案。
【解决方案2】:

这是我理解你想要的代码。

Sub test()

Worksheets("test").Columns("D").ColumnWidth = Worksheets("Values").Range("D4").Value
Worksheets("test").Columns("E").ColumnWidth = Worksheets("Values").Range("D5").Value
Worksheets("test").Columns("F").ColumnWidth = Worksheets("Values").Range("D6").Value

Worksheets("test").Range("D7").Value = Worksheets("Values").Range("C4").Value
Worksheets("test").Range("E7").Value = Worksheets("Values").Range("C5").Value
Worksheets("test").Range("F7").Value = Worksheets("Values").Range("C6").Value

End Sub

如果您在将其与您的 excel 文件放在一起时遇到问题,我很乐意为您提供帮助。

【讨论】:

  • 谢谢。非常类似于另一位贡献者发送的内容。看起来不错,但我不太擅长这个。如果我能给你发一个小文件解释一下会更容易。
  • @AxelBlom 是的,你可以给我发一份文件
猜你喜欢
  • 2019-02-28
  • 1970-01-01
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 2016-12-16
  • 2014-08-16
  • 2017-11-29
  • 2011-02-24
相关资源
最近更新 更多