gpt4 book ai didi

excel - 如何在 VBA 代码中创建可变列宽

转载 作者:行者123 更新时间:2023-12-04 08:38:39 26 4
gpt4 key购买 nike

我目前正在将表格从 Excel 工作表复制/粘贴到 Word 文档。我想知道是否有办法通过 vba 代码根据单元格值将表格写为变量表格。
基本上只有 If 之一下面显示的部分适用于所有值。前任:

Set Tbl = Sheet16.Range("BA17:**COLUMN#**+BZ39")
Tbl.Copy
DOC.bookmarks("Catalyst_Design_Options").Select
WRD.Selection.PasteSpecial DataType:=3, Placement:=0
我当前的代码在这里显示,它工作正常,但如果有可能使这个更清洁,那将不胜感激。
If Sheet5.Range("BN21").Value = 1 Then
Set Tbl = Sheet16.Range("BA17:BZ39")
Tbl.Copy
DOC.bookmarks("Catalyst_Design_Options").Select
WRD.Selection.PasteSpecial DataType:=3, Placement:=0

ElseIf Sheet5.Range("BN21").Value = 2 Then
Set Tbl = Sheet16.Range("BA17:CM55")
Tbl.Copy
DOC.bookmarks("Catalyst_Design_Options").Select
WRD.Selection.PasteSpecial DataType:=3, Placement:=0

ElseIf Sheet5.Range("BN21").Value = 3 Then
Set Tbl = Sheet16.Range("BA17:CW55")
Tbl.Copy
DOC.bookmarks("Catalyst_Design_Options").Select
WRD.Selection.PasteSpecial DataType:=3, Placement:=0

Else: MsgBox ("Please select a number of options from 1 to 3.")
End If

最佳答案

也许使用 Select Case :

Select Case Sheet5.Range("BN21").Value
Case 1
Set Tbl = Sheet16.Range("BA17:BZ39")
Case 2
Set Tbl = Sheet16.Range("BA17:CM55")
Case 3
Set Tbl = Sheet16.Range("BA17:CW55")
Case Else
MsgBox "Please select a number of options from 1 to 3."
Exit Sub
End Select

Tbl.Copy
DOC.bookmarks("Catalyst_Design_Options").Select
WRD.Selection.PasteSpecial DataType:=3, Placement:=0

关于excel - 如何在 VBA 代码中创建可变列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64669863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com