用于自动选择前10列的VBA代码
是指我先前的问题用于自动选择前10列的VBA代码,vba,excel,macros,Vba,Excel,Macros,是指我先前的问题 如何从当前日期输入中选择前十天的数据。示例:根据我的第一个屏幕截图,假设我得到的“今日”条目将位于E列,我想选择前10个条目来创建一个图表。所以,如果我是tomo,我的条目将在F上,我想选择F列、E列、D列、C列、,,,从链接中保留以前的代码,请尝试以下操作(未测试): 在OPs澄清后编辑 Option Explicit Sub Update() Dim nCols As Long, nOffset As Long With Range("A1").Cur
如何从当前日期输入中选择前十天的数据。示例:根据我的第一个屏幕截图,假设我得到的“今日”条目将位于E列,我想选择前10个条目来创建一个图表。所以,如果我是tomo,我的条目将在F上,我想选择F列、E列、D列、C列、,,,从链接中保留以前的代码,请尝试以下操作(未测试): 在OPs澄清后编辑
Option Explicit
Sub Update()
Dim nCols As Long, nOffset As Long
With Range("A1").CurrentRegion
With .Offset(, .Columns.Count - 1).Resize(1, 1)
If .value < Date Then nOffset = 1
With .Offset(, nOffset)
.Resize(2, 1).value = Application.Transpose(Array(Date, Application.WorksheetFunction.Subtotal(103, Worksheets("Stock").UsedRange.Columns(1).SpecialCells(XlCellType.xlCellTypeVisible))))
nCols = IIf(.Column > 10, 10, 10 - .Column - 1)
.Offset(, -nCols + 1).Resize(, nCols).Select
End With
End With
End With
End Sub
选项显式
子更新()
调暗nCols为长,不偏移为长
具有范围(“A1”)。当前区域
使用.Offset(,.Columns.Count-1)。调整大小(1,1)
如果.value<日期,则nOffset=1
带.Offset(,无偏移)
.Resize(2,1).value=Application.Transpose(数组(日期,Application.WorksheetFunction.Subtotal(103,工作表(“库存”).UsedRange.Columns(1).SpecialCells(XlCellType.xlCellTypeVisible)))
nCols=IIf(.Column>10,10,10-。Column-1)
。偏移量(,-nCols+1)。调整大小(,nCols)。选择
以
以
以
端接头
保留链接中以前的代码,请尝试以下操作(未测试):
在OPs澄清后编辑
Option Explicit
Sub Update()
Dim nCols As Long, nOffset As Long
With Range("A1").CurrentRegion
With .Offset(, .Columns.Count - 1).Resize(1, 1)
If .value < Date Then nOffset = 1
With .Offset(, nOffset)
.Resize(2, 1).value = Application.Transpose(Array(Date, Application.WorksheetFunction.Subtotal(103, Worksheets("Stock").UsedRange.Columns(1).SpecialCells(XlCellType.xlCellTypeVisible))))
nCols = IIf(.Column > 10, 10, 10 - .Column - 1)
.Offset(, -nCols + 1).Resize(, nCols).Select
End With
End With
End With
End Sub
选项显式
子更新()
调暗nCols为长,不偏移为长
具有范围(“A1”)。当前区域
使用.Offset(,.Columns.Count-1)。调整大小(1,1)
如果.value<日期,则nOffset=1
带.Offset(,无偏移)
.Resize(2,1).value=Application.Transpose(数组(日期,Application.WorksheetFunction.Subtotal(103,工作表(“库存”).UsedRange.Columns(1).SpecialCells(XlCellType.xlCellTypeVisible)))
nCols=IIf(.Column>10,10,10-。Column-1)
。偏移量(,-nCols+1)。调整大小(,nCols)。选择
以
以
以
端接头
code很管用!!但是值得关注的是,因为我们在同一个函数中使用了以前的代码。每当我点击按钮时,它总是添加日期和计数数据。因此,选择前10个数据将忽略最后一个条目。我们是否可以添加一个条件,以便每天添加一次可见行的日期和计数?因此,选择栏将按预期工作。你真是太棒了!!鞠躬!!非常感谢!!我知道我有点晚了。但我有一个小问题。您的代码工作得很好,小问题是它根据需要选择10列,但只选择第一行。我试图修改代码以同时选择2、3和4行(屏幕截图),但失败了。如何在代码中添加相同的内容?你想让我发布一个其他问题吗?根据这个网站的规则,你必须发布一个新的问题,发布你的代码尝试,并详细说明什么实际上不起作用。我会回答你必须使用.Offset(,-nCols+1)。Resize(3,nCols)。选择…代码很有用!!但是值得关注的是,因为我们在同一个函数中使用了以前的代码。每当我点击按钮时,它总是添加日期和计数数据。因此,选择前10个数据将忽略最后一个条目。我们是否可以添加一个条件,以便每天添加一次可见行的日期和计数?因此,选择栏将按预期工作。你真是太棒了!!鞠躬!!非常感谢!!我知道我有点晚了。但我有一个小问题。您的代码工作得很好,小问题是它根据需要选择10列,但只选择第一行。我试图修改代码以同时选择2、3和4行(屏幕截图),但失败了。如何在代码中添加相同的内容?你想让我发布一个其他问题吗?根据这个网站的规则,你必须发布一个新的问题,发布你的代码尝试,并详细说明什么实际上不起作用。我将回答您必须使用.Offset(,-nCols+1)。调整大小(3,nCols)。选择。。。