Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


40240 / 76732 ←次へ | 前へ→

【41593】Re:縦セル内の文字を合成したいのです。
発言  へっぽこ  - 06/8/15(火) 12:18 -

引用なし
パスワード
   こんにちは。

私もひとつ作ってみました。

Sub サンプル1()
  Dim 開始行 As Long
  Dim 最終行 As Long
  Dim 上端行 As Long
  Dim 下端行 As Long
  Dim ビル名 As String
  Dim 市名合成 As String
  Dim i As Long

  上端行 = 1
  最終行 = Range("B65536").End(xlUp).Row
  Do
    ビル名 = Cells(上端行, "C").Value
    '同じビル名がどこまで続くか調べる。
    '(ワークシート関数MATCHとか逆検索とか出来そうだけどベタに探す)
    下端行 = 上端行
    Do
      下端行 = 下端行 + 1
    Loop Until (Cells(下端行, "C").Value <> ビル名) Or (下端行 > 最終行)
    下端行 = 下端行 - 1
    '上で求めた範囲の市名を合成する。
    For i = 上端行 To 下端行
      If i = 上端行 Then
        市名合成 = Cells(i, "B").Value '最初の行はカンマはいらない
      Else
        市名合成 = 市名合成 & "," & Cells(i, "B").Value
      End If
    Next
    '上で求めた範囲にビル名、市名を設定する。
    For i = 上端行 To 下端行
      Cells(i, "E").Value = 市名合成
      Cells(i, "F").Value = ビル名
    Next
    '次のビルの処理をする。
    上端行 = 下端行 + 1
  Loop Until 上端行 > 最終行
  MsgBox "おしまい"
End Sub

超ベタな方法なので行が多いと時間が掛かると思います。

0 hits

【41582】縦セル内の文字を合成したいのです。 くじら 06/8/14(月) 23:18 質問
【41584】Re:縦セル内の文字を合成したいのです。 かみちゃん 06/8/14(月) 23:50 発言
【41590】Re:縦セル内の文字を合成したいのです。 くじら 06/8/15(火) 9:03 回答
【41587】Re:縦セル内の文字を合成したいのです。 ponpon 06/8/15(火) 0:34 発言
【41591】Re:縦セル内の文字を合成したいのです。 くじら 06/8/15(火) 9:22 回答
【41593】Re:縦セル内の文字を合成したいのです。 へっぽこ 06/8/15(火) 12:18 発言
【41595】Re:縦セル内の文字を合成したいのです。 くじら 06/8/15(火) 13:57 お礼
【41592】Re:縦セル内の文字を合成したいのです。 Hirofumi 06/8/15(火) 12:11 回答
【41594】Re:縦セル内の文字を合成したいのです。 Hirofumi 06/8/15(火) 13:11 回答
【41596】Re:縦セル内の文字を合成したいのです。 くじら 06/8/15(火) 13:59 お礼

40240 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free