No.1です。
>英単語のしたに英語で当該単語の解説がある場合は・・・
となると結局「空白セル」で判断するしかないようですね。
Sub Sample2()
Dim i As Long, k As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "A") <> "" Then
k = i + 1
Do While Cells(k, "A") <> ""
Cells(k, "A").Cut Cells(i, Columns.Count).End(xlToLeft).Offset(, 1)
k = k + 1
Loop
i = k
End If
Next i
End Sub
今度はどうでしょうか?m(_ _)m
こんばんは!
>よってこの空欄を目印にして・・・
空白を「目印」ではなく、バイト数で判断してみました。
「英単語」→すべて半角文字のはずなので文字数とバイト数が同じ数になる
「和訳」→全角1文字は2バイトとなるので文字数とバイト数は異なる
を利用した方法の一例です。
Sub Sample1()
Dim i As Long, k As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
'▼文字数とバイト数が同じ場合は、単語を判断
If Len(Cells(i, "A")) = LenB(StrConv(Cells(i, "A"), vbFromUnicode)) Then
k = i + 1
'▼文字数とバイト数が異なるセルをi行の右隣りのセルはカット&コピー
Do While Len(Cells(k, "A")) <> LenB(StrConv(Cells(k, "A"), vbFromUnicode))
Cells(k, "A").Cut Cells(i, Columns.Count).End(xlToLeft).Offset(, 1)
k = k + 1
Loop
i = k
End If
Next i
ActiveSheet.Columns.AutoFit
End Sub
こんな感じではどうでしょうか?m(_ _)m
お礼
tomo04さん お世話になっております。 完璧に動作いたしました。 この度はご丁寧に教えていただきありがとうございました。 本当に助かりました!