Excel VBA質問箱 IV

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

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


9301 / 76737 ←次へ | 前へ→

【72999】Re:データ数が変動するときの並び替えの設定
発言  UO3  - 12/10/22(月) 11:14 -

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

それでは以下でお試しください。

Sub Sample6()
  Dim wkR As Range
  Dim myR As Range
  Dim y As Long
  Dim v() As Variant
  Dim dic As Object
  Dim c As Range
  Dim i As Long
  Dim j As Long
  
  With Sheets("Sheet1")
    y = .Range("A" & .Rows.Count).End(xlUp).Row
    Set myR = .Range("A7:G" & y)  '左側のデータ域
    Set wkR = myR.Columns(7)    'G列作業域
    wkR.Formula = "=IF(F7=0,1,0)"
    wkR.Value = wkR.Value
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=wkR, _
      SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    .Sort.SortFields.Add Key:=.Columns("A"), _
      SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    With .Sort
      .SetRange myR
      .Header = xlNo
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
    End With
    
    ReDim v(1 To y - 6, 1 To 5) '右側領域用配列
    Set dic = CreateObject("Scripting.Dictionary")
    
    For Each c In .Range("A7:A" & y)  '並び替えられたA列
      dic(c.Value) = dic.Count + 1  '1から順番に配列内行番号を割り振る
    Next
    
    For Each c In .Range("H7:H" & y)  '右側領域の人名セル抽出
      If dic.exists(c.Value) Then   'もし左側領域にあれば
        i = dic(c.Value)      '配列に納めるべき行番号
        For j = 1 To 5       'H列〜L列
          v(i, j) = c.Offset(, j - 1).Value
        Next
      End If
    Next
    
    .Range("H7").Resize(UBound(v, 1), UBound(v, 2)).Value = v
        
  End With

  wkR.Clear

End Sub

0 hits

【72963】データ数が変動するときの並び替えの設定 はる 12/10/18(木) 8:55 質問
【72966】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/18(木) 10:34 回答
【72970】Re:データ数が変動するときの並び替えの設定 はる 12/10/18(木) 12:56 質問
【72971】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/18(木) 13:26 回答
【72973】Re:データ数が変動するときの並び替えの設定 はる 12/10/18(木) 14:20 質問
【72977】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/18(木) 15:32 回答
【72979】Re:データ数が変動するときの並び替えの設定 はる 12/10/18(木) 15:48 お礼
【72972】Re:データ数が変動するときの並び替えの設定 UO3 12/10/18(木) 13:54 発言
【72978】Re:データ数が変動するときの並び替えの設定 はる 12/10/18(木) 15:41 質問
【72987】Re:データ数が変動するときの並び替えの設定 UO3 12/10/19(金) 12:52 発言
【72990】Re:データ数が変動するときの並び替えの設定 はる 12/10/19(金) 15:02 質問
【72991】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/19(金) 15:14 回答
【72992】Re:データ数が変動するときの並び替えの設定 UO3 12/10/19(金) 15:55 発言
【72993】Re:データ数が変動するときの並び替えの設定 はる 12/10/19(金) 16:58 質問
【72994】Re:データ数が変動するときの並び替えの設定 UO3 12/10/19(金) 17:47 発言
【72997】Re:データ数が変動するときの並び替えの設定 はる 12/10/22(月) 9:31 質問
【72998】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/22(月) 10:20 質問
【73000】Re:データ数が変動するときの並び替えの設定 はる 12/10/22(月) 11:19 質問
【73001】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/22(月) 11:49 回答
【73003】Re:データ数が変動するときの並び替えの設定 はる 12/10/22(月) 13:08 質問
【73005】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/22(月) 13:50 回答
【73007】Re:データ数が変動するときの並び替えの設定 はる 12/10/22(月) 14:09 質問
【73009】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/22(月) 14:31 回答
【73012】Re:データ数が変動するときの並び替えの設定 はる 12/10/22(月) 15:47 質問
【73013】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/22(月) 16:48 回答
【73014】Re:データ数が変動するときの並び替えの設定 はる 12/10/22(月) 17:24 質問
【73015】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/22(月) 19:52 回答
【73016】Re:データ数が変動するときの並び替えの設定 はる 12/10/23(火) 10:02 質問
【73017】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/23(火) 10:20 回答
【73018】Re:データ数が変動するときの並び替えの設定 はる 12/10/23(火) 10:47 お礼
【73019】Re:データ数が変動するときの並び替えの設定 ウッシ 12/10/23(火) 11:27 回答
【73020】Re:データ数が変動するときの並び替えの設定 はる 12/10/23(火) 11:46 お礼
【72999】Re:データ数が変動するときの並び替えの設定 UO3 12/10/22(月) 11:14 発言
【73002】Re:データ数が変動するときの並び替えの設定 はる 12/10/22(月) 13:01 お礼
【73008】Re:データ数が変動するときの並び替えの設定 UO3 12/10/22(月) 14:18 発言
【73010】Re:データ数が変動するときの並び替えの設定 はる 12/10/22(月) 15:30 お礼

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