gpt4 book ai didi

excel - .End(xlToRight) 在一个范围内

转载 作者:行者123 更新时间:2023-12-04 21:26:19 25 4
gpt4 key购买 nike

我很快就想知道是否可以以某种方式更改以下代码段以包含 .End(xlToRight)而不是定义L6 (结果是一样的)。

Sub Test()
Dim LastCol As String

With Worksheets("Sheet1")
LastCol = .Cells(5, .Columns.Count).End(xlToLeft).Address
.Range(Range("A5"), LastCol).Copy

.Range("B5:L5", Range("B5:L5").Offset(LastRow - FirstRow, 0)).PasteSpecial xlPasteFormulas

.Range("B6", .Cells.SpecialCells(xlCellTypeLastCell)).Copy
.Range("B6").PasteSpecial xlPasteValues
End With
End Sub

非常感谢您的帮助:)

编辑:更新了 pdw TonyDallimore(见下面的回复)

托尼,上面的代码是我一直在努力工作的总和。内 with声明,我正在寻找复制第 5 行的内容,并将它们粘贴到第 n 行 - 这是由 columnA 中已经存在的列表定义的。根据您的建议,最后一行将粘贴除顶行 (r5) 之外的所有值,以保持用户的透明度,同时最小化文件大小。
中间位是剩余的“正在进行的工作”,因为 L5 不确定是最远的列。

最佳答案

两个问题
.End(xxx)Ctrl+Arrow 相同从键盘开始并停在与当前单元格不同的第一个单元格处。因此,如果您从一个有值的单元格开始,它会在一个没有值的单元格处停止,反之亦然。

从左上角开始使用 xlDown 的麻烦和 xlToRight是它会停在表格中间的空白单元格处。如果中间绝对不能有空白单元格,那很好,但是 XlUpxlToLeft从右下角更安全。

问题一

你的问题是.End(xxx).Column将返回 12 并且您不知道如何将其变成字母“L”?

是这样,有很多选择。我认为最容易记住的是
.Cells(6,Columns.Count).End(xlToLeft).Address
将返回“$L$6”。

问题2

是否 .Cells(1000, ColRange)代表右下角的单元格?
.Cells.SpecialCells(xlCellTypeLastCell)可能是一个更简单的选择。

关于excel - .End(xlToRight) 在一个范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8850881/

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