Excel VBA質問箱 IV

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

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


7065 / 13644 ツリー ←次へ | 前へ→

【41388】特定セルのみ抜き出して他の列に昇順にする ぺーぺーです 06/8/8(火) 14:49 質問[未読]
【41390】Re:特定セルのみ抜き出して他の列に昇順に... ponpon 06/8/8(火) 20:21 発言[未読]
【41408】Re:特定セルのみ抜き出して他の列に昇順に... ponpon 06/8/9(水) 10:19 発言[未読]

【41388】特定セルのみ抜き出して他の列に昇順にす...
質問  ぺーぺーです  - 06/8/8(火) 14:49 -

引用なし
パスワード
   まだ全然初心者なのですが、A列に空白とNULLを含む値が
ランダムに並んでいるとします。
これを空白とNULL以外のものを他の列に昇順に表示したいのですが
どのように組んだらよろしいでしょうか?

Sub ならべ()
Dim i As Variant
Dim owari As Variant
owari = Cells("A1").End(xlDown).Row
For i = 1 To owari

のようにA列の末端まで処理を繰り返してみようと思うのですが。
いかんせん、For文の下のステートメントうまく作れません。
どなたかご教授ください。

【41390】Re:特定セルのみ抜き出して他の列に昇順...
発言  ponpon  - 06/8/8(火) 20:21 -

引用なし
パスワード
   ▼ぺーぺーです さん:
 こんばんは。

>A列に空白とNULLを含む値がランダムに並んでいるとします。
空白とNULLの違いが私に早う分かってないのですが、

以下マクロは、A列の数値(A列は数値と勝手に判断)を空白を除いて
C列にはき出し昇順に並べ替えています。
こんなもんでしょうか?違うかな?
シートはアクティブシートで考えています。

Sub test()
  Dim myR As Range
  Dim r As Range
  Dim myVal() As Variant
  
  Set myR = Range("A1", Range("A65536").End(xlUp))
  i = 0
  For Each r In myR
    If Not IsEmpty(r.Value) Then
     ReDim Preserve myVal(i)
     myVal(i) = r.Value
     i = i + 1
    End If
  Next
  Range("C1").Resize(i).Value = Application.Transpose(myVal)
  Range("C1", Range("C65536").End(xlUp)).Sort Key1:=Range("C1"), Order1:=xlAscending, Header:= _
  xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
  SortMethod:=xlPinYin, DataOption1:=xlSortNormal
End Sub

【41408】Re:特定セルのみ抜き出して他の列に昇順...
発言  ponpon  - 06/8/9(水) 10:19 -

引用なし
パスワード
   おはようございます。

>空白とNULL以外のものを
空白とNULLの違いがよくわかっていませんが、

SpecialCellsを使えば、もっと簡単にできました。
A列の空白を除いて、C列にはき出し、ソートしています。

Sub test2()
  
  On Error Resume Next
  Range("A1", Range("A65536").End(xlUp)).SpecialCells(xlCellTypeConstants, xlNumbers).Copy
  Range("C1").PasteSpecial (xlPasteValues)
  On Error GoTo 0
  Range("C1", Range("C65536").End(xlUp)).Sort Key1:=Range("C1"), Order1:=xlAscending, Header:= _
  xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
  SortMethod:=xlPinYin, DataOption1:=xlSortNormal
  
End Sub

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