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

こんにちは。

もし分かる方がいらっしゃったら是非助けて頂きたいです。

エクセルの左の列に下記のようにアルファベットが入力されており、
隣の列の1つのセルに、左の列の順番どおりのアルファベットを入力したいです。
一つのアルファベットが入力されている左の列には、法則性はなく、
2文字続きであったり、20文字続きであったり決まっておりません。

もしお分かりになる方いらっしゃいましたら、お手数ですが教えていただけますでしょか。
宜しくお願いいたします。

A
A
   AA
A
B
B
C
   ABBC
A
C
C
C
C
   ACCCCC

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

  • Goouserラック 様

    ご連絡頂きまして有難うございます。
    はい。マクロを使用しても全く問題ありません!
    ご尽力頂ければありがたいです。

    宜しくお願い致します。。

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

A 回答 (3件)

それでしたら以下のようなものはいかがでしょうか?


--------------------------------------------------------------------------------
Sub Sample()
Const 開始行 As Long = 1
Const 対象列 As Long = 1
Dim 文字列 As String
Dim 行 As Long
For 行 = 開始行 To Cells(Rows.Count, 対象列).End(xlUp).Row
If Cells(行, 対象列).Value = "" Then
Cells(行, 対象列 + 1).Value = 文字列
文字列 = ""
Else
文字列 = 文字列 & Cells(行, 対象列).Value
End If
Next
Cells(行, 対象列 + 1).Value = 文字列
End Sub
--------------------------------------------------------------------------------
※「開始行」と「対象列」は環境に合わせて変更してください。
    • good
    • 1
この回答へのお礼

ご教示いただきまして誠にありがとうございました!!
ちゃんと思ったとおりに動いてくれました!!

お礼日時:2018/01/22 20:35

こんにちは!



VBA向きの質問ですが、VBAの回答はすでに出ていますので関数でやってみました。
↓の画像のようにデータは2行目以降にあるとして作業列を1列使います。

作業列C1セルにはスペースを一文字入れておきます。
作業列C2セルに
=IF(A2="","",C1&A2)

という数式を入れフィルハンドルでこれ以上データはない!という位まで下へコピーしておき
B2セルに
=IF(A2="",C1,"")
という数式を入れフィルハンドルで下へコピー!

これで画像のような感じになります。m(_ _)m
「エクセルの質問です。連続したセルの文字を」の回答画像3
    • good
    • 1

マクロ(VBA)を使っても良ければ比較的簡単に出来ますが、使って良いのでしょうか?

この回答への補足あり
    • good
    • 0

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