No.4ベストアンサー
- 回答日時:
こんばんは!
一例です。
A列の日付データは昇順になっているという前提です。
Sub Sample1()
Dim i As Long, c As Range
Set c = Range("A:A").Find(what:=DateValue("2013/1/1"), LookIn:=xlFormulas)
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(i, 1) <= DateValue("2013/1/1") + 6 Then
Exit For
End If
Next i
Range(Cells(c.Row, 3), Cells(i, 3)).Select
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.3
- 回答日時:
Option Explicit
Sub Within7Days()
Const xKey_Col = 1 'データの列番号:A列の場合:1
Const xDays = 7 '検索範囲(計算上は「日数-1」を使う)
Dim xRange As Range
Dim xBound As Long
Dim xRow As Long
Dim xColumn As Long
Dim kk As Variant
Dim nn As Long
xBound = Cells(Rows.Count, "A").End(xlUp).Row
xRow = Selection.Row
xColumn = Selection.Column
nn = Selection.Rows.Count
kk = Selection.Columns.Count
If (nn * kk = 1) And (xColumn = xKey_Col) Then
Set xRange = Selection
If IsDate(xRange.Value) Then
kk = WorksheetFunction.Match(CLng(xRange.Value + xDays - 1), Range(Cells(xRow, "A"), Cells(xBound, "A")), 1)
If IsNumeric(kk) Then
kk = kk + xRow - 1
If IsDate(Cells(kk, "A").Value) Then
Range(Cells(xRow, "C"), Cells(kk, "C")).Select
End If
Else
Debug.Print "バグかもしれない!?" & ":" & kk & ":" & (xRange.Value + xDays - 1) & ":" & Cells(xRow, "A").Value & ":" & Cells(xBound, "A").Value
End If
Else
MsgBox ("選択されたデータが日付ではない!")
End If
Else
MsgBox ("列:" & xKey_Col & " の日付を1つだけ選んでネ!")
End If
End Sub
No.2
- 回答日時:
x日についてはA列でその日付を選択したのちに次のマクロを呼び出して実行することでお望みのセルが選択できます。
Sub 範囲選択()
Dim n, i As Long
Dim xRange As Range
If ActiveCell.Column = 1 Then
n = ActiveCell.Row
For i = 2 To Range("A65536").End(xlUp).Row + 1
If Range("A" & i).Value > ActiveCell.Value + 6 Or Range("A" & i) = "" Then
Set xRange = Range(Range("C" & n), Range("C" & i - 1))
xRange.Select
Exit Sub
End If
Next
End If
End Sub
No.1
- 回答日時:
x日がB1に入力されていると勝手に仮定しますが――
[Alt]+[F11]で開くウィンドウの[挿入]-[標準モジュール]から表示される白紙部分に以下を記述し、そのウィンドウを閉じます。
-------
Sub Test()
Dim stt As Range, rng As Range, i As Long
Set stt = Range("A:A").Find(Range("B1").Value, LookAt:=xlWhole)
Set rng = stt.Offset(1, 2)
For i = stt.Row + 2 To stt.Row + 6
If Cells(i, 1).Value <= stt.Value + 6 Then
Set rng = Union(rng, Cells(i, 1).Offset(0, 2))
End If
Next
rng.Select
End Sub
-------
で、[ツール]-[マクロ]-[マクロ]から、または[開発]リボンの[マクロ]から実行します。
※エラー処理はしていませんので、A列に無い日付がB1に入力されたときなどはエラーになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロを教えてください。 4 2022/10/06 08:53
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- その他(Microsoft Office) 選択行の列範囲に二重線を引く 3 2022/06/08 12:21
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- その他(プログラミング・Web制作) エクセルVBA 3 2022/06/11 16:01
- PDF PDFの表がエクセルに貼り付けられなくなってしまいました。 5 2022/06/03 09:07
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUPの列番号の最大は?
-
エクセルで離れた列を選択して...
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
CSVファイルの「0落ち」にVBA
-
エクセルで住所を県と市・郡と...
-
別のブック最終行最終列の次へ...
-
Excelの行数、列数を増やしたい...
-
エクセル 重複 隣の列 一番...
-
VBA 指定した列にある日時デー...
-
アクセス 取り込み時に、桁数(...
-
Alt+Shift+↑を一括で行うには、...
-
Excel文字列一括変換
-
エクセルのソートで、数字より...
-
エクセルで複数列の検索をマク...
-
Accessのレポートで繰り返し表...
-
エクセル 重複したデータを別...
-
列方向、行方向の定義
-
VBAで重複データを合算したい(...
-
VBAで別ブックの列を検索し、該...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
CSVファイルの「0落ち」にVBA
-
エクセルで複数列の検索をマク...
-
Excelの行数、列数を増やしたい...
-
エクセルマクロの組み方
-
エクセルマクロPrivate Subを複...
-
リストからデータを紐付けしたい
-
エクセルのソートで、数字より...
-
エクセルで住所を県と市・郡と...
-
VBAで別ブックの列を検索し、該...
-
Excel文字列一括変換
-
VBA
-
エクセル 重複 隣の列 一番...
-
列方向、行方向の定義
-
Alt+Shift+↑を一括で行うには、...
-
VBAで結合セルを転記する法を教...
おすすめ情報