VBA代码自动选择前10列 [英] VBA code to auto select previous 10 columns

查看:662
本文介绍了VBA代码自动选择前10列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





如何从当前日期条目中选择前十天的数据。示例:根据我的第一个屏幕截图让我说我得到今天的条目将在列E,我想选择以前的10个条目来创建一个图。所以,如果我来了,我的条目将在F,我想选择列F,E,D,C ,,,,

解决方案

修改

  Option Explicit 

Sub Update()
Dim nCols As Long,nOffset As Long

With Range(A1)。CurrentRegion
带.Offset(.Columns.Count - 1).Resize(1,1)
如果.value<日期然后nOffset = 1
与.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)。选择
结束
结束
结束
结束Sub


Referring from my previous question.

How do I select the previous ten days data from current date entry. Example :As per my first screenshot Lets say i get the today entry will be on Column E and I want to select previous 10 entries to create a graph. So, if I come tomo, my entry will be on F and I want to select column F,E,D,C,,,,

解决方案

Keeping you previous code from link, try this (untested):

edited after OPs clarifications

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

这篇关于VBA代码自动选择前10列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆