Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于自动选择前10列的VBA代码_Vba_Excel_Macros - Fatal编程技术网

用于自动选择前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)。选择
。。。