• ベストアンサー

EXELで打ち込んだ数字の振り分けがしたいのですが・・。

いつも助けていただいております。 新たな質問です。 EXELで、たとえばA列に数字を打ち込んでいき、 最終的にたとえば9000番代はB列に移して、 A列の抜けた空白は埋めたいのですが・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

>A列に順不同に数字を打ち込みます。 >例、501 21 305 9201 215 9002 582 9301 28 ・・・ >マクロ実行 >A列は 501 21 305 215 582 28 ・・(空白セル無し) >B列は 9201 9002 9301 ・・・    (空白セル無し) ということであれば '------------------------- Sub test()  Dim R As Long  For R = 1 To Cells(Rows.Count, "A").End(xlUp).Row    If Cells(R, "A").Value >= 9000 And Cells(R, "A").Value <= 9999 Then      Cells(R, "B").Value = Cells(R, "A").Value      Cells(R, "A").Value = ""    End If  Next R  On Error Resume Next  Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Delete xlUp End Sub '---------------------------- 以上です。

kenta1005
質問者

お礼

ビューティフル! ご回答本当にありがとうございます。 説明不足だったにもかかわらず一発で希望の結果が得られました!

その他の回答 (1)

  • 9der-qder
  • ベストアンサー率36% (380/1038)
回答No.1

A列の抜けた空白を埋めるとき、B列はどうなるのでしょうか。 それが分からなかったので、A列の9000番台をB列に移すところまでマクロを使わない前提で回答します。 B列に、 =IF(AND(Ax<10000,Ax>=9000),Ax,"") を入力します。("x"は行数) B列をコピーして、同じところ(B列)で「形式を選択して貼り付け」-「値」で式ではなく値に変えます。 列ABにオートフィルタをかけ、B列を「空白以外のセル」でフィルタリングし、A列を消します。 これでA列の9000番台をB列に移すところまでは出来ます。

kenta1005
質問者

補足

すばやい対応、大変ありがとうございます。 また、私の説明不足、すみません。 また説明不足になるかもしれませんが、以下の通りに出来ればと・・。 A列に順不同に数字を打ち込みます。例、501 21 305 9201 215 9002 582 9301 28 ・・・ マクロ実行 A列は 501 21 305 215 582 28 ・・(空白セル無し) B列は 9201 9002 9301 ・・・    (空白セル無し) と言う具合です・・。あるいは打ち込む欄はC列とかでも大丈夫です。 説明になってるかな・・。 ちなみに先ほどの回答どおりのことは早速試してみましたが、バッチリでした!ありがとうございます。

関連するQ&A