
No.4ベストアンサー
- 回答日時:
こんばんわ。
修正マクロを作ってみました。前回の要領で実行してみて下さい。Dim myAdr As String
Dim myCell As Range
Dim myVlu As String
If Target.Column <> 2 Then Exit Sub
myAdr = Range("A1:" & Cells(Rows.Count, 1).End(xlUp).Address).Address
Application.EnableEvents = False
If Range("C1").Value = "" Then
Range("C1").Value = Target.Offset(0, -1).Value
Range("D1").Value = Target.Value
Else
myAdr = Range("C1:" & Cells(Rows.Count, 3).End(xlUp).Address).Address
Set myCell = Range(myAdr).Find(Target.Offset(0, -1).Value, lookat:=xlWhole)
If myCell Is Nothing Then
Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Value = Target.Offset(0, -1).Value
Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Value = Target.Value
Else
myVlu = myCell.Offset(0, 1).Value
myCell.Offset(0, 1).Value = myVlu & " " & Target.Value
myCell.Offset(0, 1).EntireColumn.AutoFit
End If
End If
Application.EnableEvents = True
これであなた様の思い通りの操作になったかと思います。
No.3
- 回答日時:
Sub test01()
l = Range("a1").CurrentRegion.Rows.Count
tl = 1 ' 名前集約の最終行
For i = 1 To l 'l 名前の最終行
For j = 1 To tl 'tl 名前集約の現在の最終行
If Cells(i, 1) = Cells(j, 3) Then
'--見つかれば名前を連ねる
Cells(j, 4) = Cells(j, 4) & " " & Cells(i, 2)
GoTo p01
Else
End If
Next j
Cells(tl, 3) = Cells(i, 1) '新顔の苗字をセット
Cells(tl, 4) = Cells(i, 2) '新顔の名前をセット
tl = tl + 1
p01:
Next i
End Sub
No.2
- 回答日時:
修正のことを考えて、マクロを実行することにより、全てを書き換えるようにしてみました。
シートのコードウインドウに貼り付けます。(Excel97です)
マクロより算式を使ったほうが面白い質問のように思えますが・・・複雑で、長くなりすぎた!
Sub Ketugou()
Dim rw1 As Long '読み込み行カウンタ
Dim rw3 As Long '書き出し行カウンタ(姓)
Dim rw4 As Long '書き出し行カウンタ(名)
Dim oldName As String '前のデータの名前
Dim KetugoNM As String '結合した名前
Range("C:D").ClearContents
With Range("A1")
'姓を取り出す
While .Offset(rw1, 0) <> ""
If .Offset(rw1, 0) <> oldName Then
.Offset(rw3, 2) = .Offset(rw1, 0): rw3 = rw3 + 1
oldName = .Offset(rw1, 0)
End If
rw1 = rw1 + 1
Wend
'名を取り出す
rw1 = 0
For rw4 = 0 To rw3 - 1
While .Offset(rw4, 2) = .Offset(rw1, 0)
KetugoNM = KetugoNM & " " & .Offset(rw1, 1)
rw1 = rw1 + 1
Wend
.Offset(rw4, 3) = Mid(KetugoNM, 2)
KetugoNM = ""
Next
End With
End Sub
No.1
- 回答日時:
初めまして。
サンプルマクロを作ってみました。これを下記の要領でコピー・ペーストすれば、何もすることなく自動であなた様のおやりになりたいことが実現できると思います。1.新規ブックを開き、ALT+F11キーを押してVBE画面を開く
2.画面左上のVBAProject徒書いてある下のSheet1をダブルクリックし、右側の白い部分へ上のコードをコピー・ペーストする。
3.ALT+F11キーを押してエクセルの画面にもどり、シート1のA1・A2に適当な値を入力する
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myAdr As String
Dim myRange As Range
Dim myCell As Range
If Target.Column <> 2 Then Exit Sub
myAdr = Range("A1:" & Cells(Rows.Count, 1).End(xlUp).Address).Address
Application.EnableEvents = False
If Range("C1").Value = "" Then
Range("C1").Value = Target.Offset(0, -1).Value
Range("D1").Value = Target.Value
Else
myAdr = Range("C1:" & Cells(Rows.Count, 3).End(xlUp).Address).Address
Set myCell = Range(myAdr).Find(Target.Offset(0, -1).Value, lookat:=xlWhole)
If myCell Is Nothing Then
Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Value = Target.Offset(0, -1).Value
Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Value = Target.Value
Else
myCell.End(xlToRight).Offset(0, 1).Value = Target.Value
End If
End If
Application.EnableEvents = True
End Sub
もし不都合なことがありましたら、ご遠慮なくお知らせ下さい。あなた様のおやりになりたいことが実現するまで私でよろしければご一緒に考えてみたいと思います。
この回答への補足
kazuhiko5681さん、ご回答ありがとうございます!!
ところで、実行結果を1つのセルに表示させることはできますか?
例えば、D1にB1とB2とB3に入っているデータ(今回で言えば一郎 次郎 三郎)をくっつけて表示したいんです。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
if関数の複数条件について
-
excel
-
エクセルシートの見出しの文字...
-
VLOOKUP FALSEのこと
-
エクセルでフィルターした値を...
-
エクセルの文字数列関数と競馬...
-
【マクロ】数式を入力したい。...
-
【画像あり】オートフィルター...
-
エクセルに写真が貼れない(フ...
-
【マクロ】【画像あり】関数が...
-
【画像あり】【関数】指定した...
-
Dir関数のDo Whileステートメン...
-
【マクロ】アクティブセルの時...
-
セルにぴったし写真を挿入
-
【マクロ】エラー【#DIV/0!】が...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】実行時エラー '424':...
-
表計算ソフトでの様式の呼称
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報