たびたびすみません。。。

またマクロについて質問です。回答者には100ポイント。先の質問と合わせて回答していただけたら150ポイント。

sample.xls
 A列    B列        C列       D列
a0001   ○○○       △△△
a0003   ●●●       △▲△
a0003   役職:○○○
a0003   ●●●       △▲△
a0003   役職:△△△
a0005   ●●●
a0005   役職:□□□


結果
 A列    B列        C列       D列
a0001    ○○○        △△△
a0003    ●●●        △▲△       役職:○○○
a0003    ●●●        △▲△       役職:△△△
a0005    ●●●                 役職:□□□


sample.xls
 ・A列の番号は重複する場合がある
 ・B列の値が”役職:”という文字から始まっている場合、その内容をひとつ上の行のD列に出力し、
  もとの行は削除する。

回答の条件
  • 1人5回まで
  • 登録:2009/01/27 16:49:27
  • 終了:2009/01/27 19:21:07

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692009/01/27 18:53:17

ポイント150pt

うまく動かなかった場合は、役職の後の「:」が半角か全角かを確認してみてください。

Sub Macro()
    Dim lastRow As Long
    Dim i As Long
    
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    For i = lastRow To 1 Step -1
        If Left(Cells(i, 2).Value, 3) = "役職:" Then
            If i > 1 Then
                Cells(i - 1, 4).Value = Cells(i, 2).Value
                Rows(i).Delete
            End If
        End If
    Next i
End Sub
id:yuko0909

ありがとうございます。できました!!

2009/01/27 19:20:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません