こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

VBAで行範囲を抽出して隣のセルに貼り付ける

Excel VBA初心者です。
A列にある以下のデータの「aaa」から「bbb」の範囲を検索して
切り取り、隣のセル(B列)に貼り付けるマクロを教えてください。
実際のデータは「aaa」から「bbb」の範囲のデータが500個くらい
あるので、隣のセルに貼り付けていく作業をマクロで処理したいと
考えています。

・マクロ処理前
列A
aaa
data0
data1
data2
bbb
datax
------------
aaa
data3
data4
data5
bbb
datay
------------
aaa
data6
data7
data8
bbb
dataz

・マクロ処理後 (処理前のdatax、datay、datazは列Aに残ったままで構いません)
列A  列B   列C    列D
空白  aaa   aaa   aaa
空白  data0   data3   data6
空白  data1   data4  data7
空白  data2   data5  data8
空白  bbb   bbb  bbb

投稿日時 - 2017-06-18 15:14:57

QNo.9342528

すぐに回答ほしいです

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

'
Option Explicit
'
Sub Macro1()
'
  Dim iy As Long
  Dim iys As Long
  Dim Size As Long
  Dim ix As Integer
'
  ix = 1
'
  For iy = 1 To Cells(Rows.Count, "A").End(xlUp).Row
'
    Select Case Cells(iy, "A")
    Case "aaa"
      iys = iy
    Case "bbb"
      ix = ix + 1
      Size = iy - iys + 1
      Cells(1, ix).Resize(Size, 1) = Cells(iys, "A").Resize(Size, 1).Value
    End Select
  Next iy
End Sub

投稿日時 - 2017-06-18 16:15:35

お礼

思った通りの処理になりました。
大変参考になりました。
ご回答いただきありがとうございました。

投稿日時 - 2017-06-18 16:47:26

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-
-広告-
-広告-