Excel VBA質問箱 IV

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

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


19501 / 76732 ←次へ | 前へ→

【62662】Re:グループ内で番号付与するには
発言  kanabun  - 09/8/19(水) 16:26 -

引用なし
パスワード
   ▼にしもり さん:

>Mは或るシステムからダウンロードしてるためもとはcsvでしたので混乱しました。
>M.xlsとして仰るとおりOpenメソッドで開くようにいたします。
元がcsvファイルなら、Openメソッドで Bookと同じように 開けますよ

>が、Rangeメソッドが失敗 と出ます。書き方が間違っていますでしょうか。
>  '↓ここが黄色になります
>  If Range(Cells(i, 1)).Value = Range(Cells(i - 1, 1)).Value Then
このばあい、Rangeは不要ですよね?

Sub Macro1()

Dim i As Long 'Integer
Dim j As Long 'Integer
Dim SendID As Long '◆追加

  Workbooks.Open Filename:="U:\M.xls" '『M.csv』 でもいいです
  Worksheets("Sheet1").Activate

'  Range("A1").Select
'  Range(Selection, Selection.End(xlDown)).Select
'  Range(Selection, Selection.End(xlToRight)).Select
'  Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
'    , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
'    False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
'    xlSortNormal, DataOption2:=xlSortNormal

  With Range("A1").CurrentRegion
    .Sort Key1:=.Columns(1), Key2:=.Columns(2), Header:=xlYes
    
    '↓データの在る最終行まで
    For i = 2 To .Rows.Count
      If .Cells(i, 1).Value <> .Cells(i - 1, 1).Value Then
        SendID = 1
        .Cells(i, 3).Value = SendID
      Else
        If .Cells(i, 2).Value <> .Cells(i - 1, 2).Value Then
          SendID = SendID + 1
        End If
        .Cells(i, 3).Value = SendID
      End If
    Next
  End With
 
End Sub

のようではどうですか?
2 hits

【62651】グループ内で番号付与するには にしもり 09/8/19(水) 12:55 質問
【62655】Re:グループ内で番号付与するには kanabun 09/8/19(水) 13:40 発言
【62661】Re:グループ内で番号付与するには にしもり 09/8/19(水) 15:52 質問
【62662】Re:グループ内で番号付与するには kanabun 09/8/19(水) 16:26 発言
【62663】Re:グループ内で番号付与するには にしもり 09/8/19(水) 16:53 お礼

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