dポイントプレゼントキャンペーン実施中!

エクセルでA1のセルの文字にB1のセルの文字を結合できますでしょうか?
別のセルに=CONCATENATE(A1,B1)ではなくあくまでA1のセルの文字に
B1のセルの文字をつなげたいのです。
出来ますでしょうか?
よろしくお願いします。

A 回答 (5件)

Cells(x, y)  この y の部分が何列目を示しているので、


最後のステートメントを

Cells(count, 1).Value = c1

にすれば、A列に入ります。




Sub macro4()

  Dim a1, b1, c1 As String
  Dim count As Integer

  For count = 1 To 100

    a1 = Cells(count, 1).Value
    b1 = Cells(count, 2).Value

    c1 = a1 & b1

    Cells(count, 1).Value = c1

  Next

End Sub

この回答への補足

うわー出来ました。
すごいありがとう、ほんとにありがとうございました。
また、何かありましたらお願いします。

補足日時:2010/10/28 12:30
    • good
    • 0

こんな感じですか?




Sub macro4()

  Dim a1, b1, c1 As String
  Dim count As Integer

  For count = 1 To 100

    a1 = Cells(count, 1).Value
    b1 = Cells(count, 2).Value

    c1 = a1 & b1

    Cells(count, 3).Value = c1

  Next

End Sub

この回答への補足

あー、そうですね、これだとCの列に入るってことですよね
A列の文字に結合させる事は出来ませんでしょうか?
ほんとにすいません。

補足日時:2010/10/28 11:48
    • good
    • 0

連結する文字列を増やすには、文字と文字をつなげる部分の処理を繰り返します。


 ※ for ~ next を使いました。

例(A1 ~ A100 の文字をつなげる)

Sub macro3()

  Dim a1, b1, c1 As String
  Dim count As Integer

  c1 = Cells(1, 1).Value

  For count = 2 To 100

     a1 = Cells(count, 1).Value
     c1 = c1 & a1

  Next

  Range("C1").Value = c1

End Sub

この回答への補足

ありがとうございます。
これも出来ました。
しかし文字が入っているのは
 
 A  B
新潟 太郎
北海 タコ
大阪 太郎

このモジュールだと新潟北海大阪となってしまいます。
A    B
新潟太郎 太郎
北海タコ タコ
大阪太郎 太郎

としたいのですが、よろしくお願いします。
たびたびすいません。

補足日時:2010/10/28 11:21
    • good
    • 0

可能ですが、ワークシート関数ではできませんのでマクロ(VBA)になります。


ワークシート関数ぽい振舞にしたサンプルコードです。
シートタブ上で右クリック→コードの表示→サンプルコードを貼り付け→VBE画面終了でお試しください。
不要の場合、alt+F11キー押下し、サンプルコードを削除して下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:B")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Cells(Target.Row, 1).Value = Cells(Target.Row, 1) & Cells(Target.Row, 2)
Application.EnableEvents = True
End Sub

この回答への補足

すいません、コード貼り付けまでいきましたが、VBE画面が探したのですがわかりません。
たびたびすいません、よろしくお願いします

補足日時:2010/10/28 10:56
    • good
    • 0
この回答へのお礼

つまり、普通に終わるってことですよね?
結合しないのですが?

お礼日時:2010/10/28 11:05

数式[=A1&B1]や関数[=CONCATENATE(A1,B1)]を使った場合、



そのセルに設定されているのは、あくまでも数式や関数です。


そのままの文字列を設定したければ、VBA などを使って処理する必要があります。

一例

Sub macro1()

  Dim a1, b1, c1 As String

  a1 = Range("A1").Value
  b1 = Range("B1").Value
  c1 = a1 & b1
  Range("C1").Value = c1

End Sub

この回答への補足

早速にありがとうございます。
出来ました、しかしこれはA1からA2、A3~A100、
B1からB2、B3~B100とかっていうことになるとどのように書くのでしょうか?
よろしくお願いします。
これって結構難しいものだと思って手を付けてなかったんですが書いたように動くんですね。
びっくり。

補足日時:2010/10/28 10:31
    • good
    • 0

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