Excel VBA質問箱 IV

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

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


9265 / 76732 ←次へ | 前へ→

【73030】Re:同じコードを検索して、同じコードがあれば1行前に行を移動するマクロ
質問  CAFE777  - 12/10/25(木) 13:36 -

引用なし
パスワード
   こんにちは^^
以前に質問をし、ウッシさんから回答をいただき解決しました。
その際に「同じコードは最大2つまで」の条件がありました。
この条件では全く問題なくご提示いただきましたコードでばっちりでした。
が、たとえば、イレギュラーで同じコード(A列)が、3つや4つになった場合にも
下記の例でいえば、りんご3がりんごの中で1番上にいくようなことはできますか?
色々コードを修正したりしたんですが、八方ふさがりです。
どうかご教授願います。


例)
A列・・・・・Q列
りんご1
ばなな1
なし1
なし2 
ばなな2
りんご2
りんご3

※希望結果
例)
A列・・・・・Q列
りんご3
りんご2
りんご1
ばなな2
ばなな1
なし2
なし1


Sub test1()
  Dim i As Long
  Dim r As Range
  Const j As Long = 17
  i = Cells(Rows.Count, 1).End(xlUp).Row
  Set r = Range("A11", Cells(i, j))
  With r.Offset(, j).Columns(1)
    Application.Calculation = xlCalculationManual
    .Formula = "=IF(COUNTIF(A11:A$" & i & ",A11)=2," & _
      "MAX(OFFSET(A10:A$11,0," & j & "))+2," & _
        "OFFSET(A$11,MATCH(A11,A10:A$11,0)-1," & j & ")-1)"
    .Cells(1, 1).Formula = "=COUNTIF(A11:A$" & i & ",A11)"
    Application.Calculation = xlCalculationAutomatic
    .Value = .Value
    r.Resize(, r.Columns.Count + 1).Sort _
      key1:=r(1, 1).Offset(, j), Order1:=xlAscending
    .ClearContents
  End With
End Sub
1 hits

【72981】同じコードを検索して、同じコードがあれば1行前に行を移動するマクロ CAFE777 12/10/19(金) 9:22 質問
【72982】Re:同じコードを検索して、同じコードがあ... ウッシ 12/10/19(金) 10:19 発言
【72983】Re:同じコードを検索して、同じコードがあ... CAFE777 12/10/19(金) 12:02 発言
【72984】Re:同じコードを検索して、同じコードがあ... can 12/10/19(金) 12:36 発言
【72985】Re:同じコードを検索して、同じコードがあ... CAFE777 12/10/19(金) 12:49 発言
【72986】Re:同じコードを検索して、同じコードがあ... CAFE777 12/10/19(金) 12:51 発言
【72988】Re:同じコードを検索して、同じコードがあ... ウッシ 12/10/19(金) 13:30 回答
【72989】Re:同じコードを検索して、同じコードがあ... CAFE777 12/10/19(金) 13:45 お礼
【73030】Re:同じコードを検索して、同じコードがあ... CAFE777 12/10/25(木) 13:36 質問
【73031】Re:同じコードを検索して、同じコードがあ... ウッシ 12/10/25(木) 22:00 回答
【73034】Re:同じコードを検索して、同じコードがあ... cafe777 12/10/26(金) 10:01 お礼

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