Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1848 / 13645 ツリー ←次へ | 前へ→

【71500】データが変わるところの行Noを知りたい ドカ 12/3/13(火) 9:57 質問[未読]
【71503】Re:データが変わるところの行Noを知りたい UO3 12/3/13(火) 10:21 発言[未読]
【71508】Re:データが変わるところの行Noを知りたい Hirofumi 12/3/13(火) 13:00 発言[未読]
【71509】Re:データが変わるところの行Noを知りたい Hirofumi 12/3/13(火) 13:22 回答[未読]
【71510】Re:データが変わるところの行Noを知りたい Hirofumi 12/3/13(火) 13:27 発言[未読]
【71530】Re:データが変わるところの行Noを知りたい ドカ 12/3/15(木) 14:15 お礼[未読]
【71515】Re:データが変わるところの行Noを知りたい kanabun 12/3/13(火) 23:37 発言[未読]
【71531】Re:データが変わるところの行Noを知りたい ドカ 12/3/15(木) 14:17 お礼[未読]
【71516】Re:データが変わるところの行Noを知りたい panpan 12/3/14(水) 0:19 発言[未読]
【71532】Re:データが変わるところの行Noを知りたい ドカ 12/3/15(木) 14:18 お礼[未読]
【71518】Re:データが変わるところの行Noを知りたい UO3 12/3/14(水) 10:50 発言[未読]
【71533】Re:データが変わるところの行Noを知りたい ドカ 12/3/15(木) 14:19 お礼[未読]

【71500】データが変わるところの行Noを知りたい
質問  ドカ  - 12/3/13(火) 9:57 -

引用なし
パスワード
   次のようなデータがあります。
データは月ごとのデータで、縦に並んでいます。
各月のデータの数は決まっていません。
横方向も何列まであるかは分かっていませんが、項目名は書いてあります。


A列    B列    C列 ・・・  ○列
月    項目1   項目2    項目○
1月    x     xx     xxx
1月


2月
3月



12月
12月


X月から(x+1)月に月が変わるところの行Noを知りたいのですが、どうすれば取得できるのかマクロで教えてください。お願いいたします。

【71503】Re:データが変わるところの行Noを知りたい
発言  UO3  - 12/3/13(火) 10:21 -

引用なし
パスワード
   ▼ドカ さん:

こんにちは

前トピにコード案をアップしてあります。

>

【71508】Re:データが変わるところの行Noを知りたい
発言  Hirofumi  - 12/3/13(火) 13:00 -

引用なし
パスワード
   コードに因ってどちらを取るかは状況次第ですが?

A列を上から見て行って、一つ上のセルと(若しくは一つ下のセルと)
比較して、違う所が月の代わる所です

【71509】Re:データが変わるところの行Noを知りたい
回答  Hirofumi  - 12/3/13(火) 13:22 -

引用なし
パスワード
   例えば、A2からデータが始まって、2月から3月に代わる所
3月の最初のデータが在る行位置は

Public Sub Test()

  Dim i As Long
  Dim lngEnd As Long
  
  lngEnd = Cells(Rows.Count, "A").End(xlUp).Row
  
  'データの先頭から最終行+1まで繰り返し
  For i = 2 To lngEnd
    If Cells(i, "A").Value <> Cells(i + 1, "A").Value Then
      If Cells(i + 1, "A").Value = "3月" Then
        Exit For
      End If
    End If
  Next i
  
  If i <= lngEnd Then
    MsgBox "3月先頭データはA" & (i + 1) & "セルです"
  Else
    MsgBox "3月のデータは見つかりませんでした"
  End If
      
End Sub

【71510】Re:データが変わるところの行Noを知りたい
発言  Hirofumi  - 12/3/13(火) 13:27 -

引用なし
パスワード
   'データの先頭から最終行+1まで繰り返し



'データの先頭から最終行まで繰り返し

の間違い

【71515】Re:データが変わるところの行Noを知りたい
発言  kanabun  - 12/3/13(火) 23:37 -

引用なし
パスワード
   ▼ドカ さん:

>X月から(x+1)月に月が変わるところの行Noを知りたい

たとえば、A列が以下のようであったとき、
  A列 
1  月
2  1月
3  1月
4  1月
5  2月
6  2月
7  3月
8  3月
9  4月
10 4月
11 4月
12 4月
13 5月
14 6月

手作業でするなら、
A列範囲を指定して、10列右に↓のような数式をいれます。
>    .Formula = "=IF(A2<>A3,1,"""")"
 この数式は、ひとつ下のセルと比べ、値が変わっているときは1、
 同じときは "" を返しますから、
F5(ジャンプ)機能で「数式が数値のセルだけ」選択すれば、
それが求める行です。
→  4, 6, 8, 12, 13, ...

これをマクロにすると、こんな感じです。
Sub Try1()
  Dim r As Range
  Dim c As Range
  
  Set r = Range("A2", Cells(Rows.Count, 1).End(xlUp))
  With r.Offset(, 10)
    .Formula = "=IF(A2<>A3,1,"""")"
    For Each c In .SpecialCells(xlFormulas, xlNumbers)
      Debug.Print c.Row
    Next
    .ClearContents
  End With
End Sub

【71516】Re:データが変わるところの行Noを知りたい
発言  panpan  - 12/3/14(水) 0:19 -

引用なし
パスワード
   キー割れの値が連続していることが保障されてるなら、
フィルターオプションを使ってもいいかなと。

参考出品です。

Sub macro1()
  Dim r As Range
  With Range("A1").CurrentRegion.Columns("A")
    .AdvancedFilter xlFilterInPlace, , , True
    Set r = .Resize(.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible)
    .Worksheet.ShowAllData
  End With
  'r.Interior.Color = vbYellow
  For Each r In r
    Debug.Print r.Row
  Next
End Sub

【71518】Re:データが変わるところの行Noを知りたい
発言  UO3  - 12/3/14(水) 10:50 -

引用なし
パスワード
   ▼ドカ さん:

こんにちは
前トピのコメント拝見しました。
(A:Dコンスタント指定は、おそまつでした。ごめんなさい。この部分、テストで使ったままにしていました)

フィルターオプションではなく、今後、ご自分でも活用できるように、
基本的なループ構文で、値の切れ目を探したいということですね。

既に、Hirofumiさんやkanabunさんから、わかりやすいコードがアップされていますので
これらを参考にして、がんばってください。

【71530】Re:データが変わるところの行Noを知りたい
お礼  ドカ  - 12/3/15(木) 14:15 -

引用なし
パスワード
   ▼Hirofumi さん 回答ありがとうございました。

マクロを丸投げで質問するのもどうかと思い、マクロの1部分を取出して質問してみました。

しかし、このような聞き方では、2月と3月の区別の方法は分かったけれど、”2月”や”3月”を自動的に”3月”と”4月”に置き換えるには、どうすればいいのでしょう?と次から次へと疑問が沸いてきて、やはり無理があるなあと思えてきました。

今後も何かと質問すると思いますが、また、よろしくお願いいたします。

【71531】Re:データが変わるところの行Noを知りたい
お礼  ドカ  - 12/3/15(木) 14:17 -

引用なし
パスワード
   ▼kanabun さん 回答ありがとうございました。

今後の参考にさせていただきます。

【71532】Re:データが変わるところの行Noを知りたい
お礼  ドカ  - 12/3/15(木) 14:18 -

引用なし
パスワード
   ▼panpan さん 回答ありがとうございます。

参考出品ですか、大切に参考にさせていただきます。

【71533】Re:データが変わるところの行Noを知りたい
お礼  ドカ  - 12/3/15(木) 14:19 -

引用なし
パスワード
   ▼UO3 さん 回答ありがとうございます。
今後ともよろしくお願いいたします。

1848 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free