簡體   English   中英

在VBA中選擇單元格范圍

[英]select range of cells in VBA

在我的電子表格的 1 行內,有從 1/1/2017 到 31/12/2017(第 2 行)的日期。 第 3 行包含 2017 年每一天的值。

單元格 A1 和 B1 包含應根據其選擇第 2 行的日期 - 因此,如果 A1 是 1/1/2017 並且 B1 是 31/3/2017,則從第 2 行和下面的第 3 行(第 2 行是 x,第 3 行是 y 值)。

我考慮過匹配或 if 語句。 有沒有人知道我如何在 VBA 中實現這一目標

如果我理解正確的話,A1 是開始日,B1 是您要選擇的范圍的結束日,第 2 行是 2017 年的所有日子,從 A2 開始一直持續到年底。 第 3 行是與第 2 行中的每一天相關聯的值。然后要獲得您想要的范圍,您可以使用以下內容:

Dim startIdx As Integer, endIdx As Integer
Set valRng = ActiveSheet.Range("A2:NB2")

startIdx = Application.Match(CLng(Cells(1, 1).Value), valRng, 0)
endIdx = Application.Match(CLng(Cells(1, 2).Value), valRng, 0)

Set rngSel = ActiveSheet.Range(Cells(2, 1).Offset(0, startIdx-1), Cells(2, 1).Offset(0, endIdx-1))
MsgBox ("rngSel=" & rngSel.Cells.Address)

使匹配語句中的價值轉換起作用的有效成分是“CLng”調用為您提供日期的日期部分,如本頁所述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM