プロが教える店舗&オフィスのセキュリティ対策術

A1にデータが並んでおり、
2017 という文字が含まれるセルだけを
B列に移動させるマクロを作りたいのですがわかりません。

例として、
これを 
|2017    |     |あいうえお|2017
|あいうえお |     |かきくけこ|
|かきくけこ |     |さしすせそ|2017
|2017    |  →  |たちつてと|
|さしすせそ |     |なにぬねの|
|たちつてと |     …
|なにぬねの |    
...

としたいです。

どなたかわかる方、よろしくお願いいたします

質問者からの補足コメント

  • うれしい

    質問ありがとうございます!

    ①本当は2017-…と続くため、省いて2017と記載しました。
     ですので、セルに「2017」を含むですとありがたいです!

    ②説明不足で申し訳ありません!詰める形でお願いします!

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/05/01 21:36

A 回答 (2件)

全部、配列の上に裏技です。


なお、これは上書きモードですから、ご注意願います。

'//
Sub DevideToColumns()
Dim ser_txt As String: ser_txt = "2017"
Dim x, y, z
Dim i As Long, j As Long

x = Range("A1", Cells(Rows.Count, 1).End(xlUp)).Value
ReDim y(UBound(x))
ReDim z(UBound(x))
For i = 1 To UBound(x)
If InStr(1, x(i, 1), ser_txt, 1) > 0 Then
  y(j) = x(i, 1)
Else
  z(j) = x(i, 1)
  j = j + 1
End If
Next
Range("A1").Resize(UBound(x)).Value = Application.Transpose(z)
Range("B1").Resize(UBound(x)).Value = Application.Transpose(y)
End Sub
    • good
    • 0
この回答へのお礼

助かりました

すごい…!!
できました!!
とても助かりました
ありがとうございます(^^)

お礼日時:2017/05/02 00:52

質問です。


①「2017」を含むとなっていますが、例では値が「2017」の物になっていますがどちらでしょうか?
② 例では移動した後、詰めるようになっていますが?詰めるのでしょうか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!