
No.1ベストアンサー
- 回答日時:
一例です。
Sub sample()
Set st1 = Worksheets("sheet1")
Set st2 = Worksheets("sheet2")
For i = 1 To st1.Cells(Rows.Count, 1).End(xlUp).Row
Set pos = st2.Range("a:a").Find(st1.Cells(i, 1), _
LookAt:=xlWhole, MatchCase:=True, MatchByte:=True)
If Not pos Is Nothing Then
st1.Cells(i, 1).Offset(o, 1) = pos.Offset(0, 1)
End If
Next
End Sub
この回答への補足
どうもありがとうございます。やりたいことができました。もう一つお教えください。私の説明不足で、この場合は一致したセルの右隣の一つのセルしか代入できませんが、右隣から3つまでのセルなど、複数のセルを代入する場合はこのコードから、さらにどうしたらよいでしょうか。よろしくお願い申し上げます。
補足日時:2011/11/18 04:46右に貼り付けたいセルを複数にするやり方は以下で解決しました。シンプルで完璧なマクロをありがとうございました。
Sub 試験()
Dim Row1 As Integer
Dim Coln1 As Integer
Dim Row2 As Integer
Dim Coln2 As Integer
Set WS1 = Worksheets("Sheet1")
Set WS2 = Worksheets("Sheet2")
Coln1 = 1
Coln2 = 1
For Row1 = 1 To WS1.Cells(Rows.Count, 1).End(xlUp).Row
For Row2 = 1 To WS2.Cells(Rows.Count, 1).End(xlUp).Row
If WS2.Cells(Row2, 1) = WS1.Cells(Row1, 1) Then
Do
Coln1 = Coln1 + 1
Coln2 = Coln2 + 1
WS1.Cells(Row1, Coln1) = WS2.Cells(Row2, Coln2)
Loop Until Coln1 = 4
Coln1 = 1
Coln2 = 1
End If
Next Row2
Next Row1
End Sub
No.2
- 回答日時:
完全一致などと難しい言葉を使う割りに、Sheet1には探索語は1回しか出現しないのだろうね。
この大切なことが書いてない。m方見つからないこともありえるのか。こういう所へ意識が行く、センスがVBAをやるときは大切なのだ。(1)VBAでもVLOOKUP関数は使える。しかし探索範囲の最初(一番上行)に出現する最初のもの1つしか捜せない。
だから複数を見つける場合は、見つかった行の次の行からの探索範囲に改めて(縮めて)、再度VLOOKUPを使えば第2・第3以下が捜せる。
(2)Findメソッドでも出来る。
しかし、
・見つからない場合の処理
・2つ目以降の探索
が初心者には難しい。
(3)全セルをIF文で判別を繰返す方法が一番判りやすい。初心者はこに方法から初めては。
(4)作業シートなどで探索列でソートして置いて、2分探索法などででやると、件数が膨大な場合は速いかもしてない。
ーーー
>後者のセルの右隣から3番目までの文字列を順に代入するマクロをお教えください
・コピー貼り付け法 貼り付け先の基点セルを指定して貼り付け
・同行の各セルに代入法 こちらはセルの数だけステートメントを並べる。これは出来るだろう。
質問は後者の指定になっているが、前者でも間に合うのでは。
ーーー
検索の操作をして、マクロの記録も取って勉強した形跡が無い。
初心者はそれぐらいやってみるべきだ。
ーー
下記は
・Sheet1のA列にはダブって文字列が出ない(1つしかない)
・必ず見つかる
という前提のプログラムだが。
Sub test01()
Dim sh1, sh2 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
d = sh2.Range("A65536").End(xlUp).Row
MsgBox d
For i = 2 To d
x = sh2.Cells(i, "A")
For j = 2 To 4 'B列からD列まで
sh2.Cells(i, j) = WorksheetFunction.VLookup(x, sh1.Range("A1:D100"), j, False)
Next j
Next i
End Sub
この質問は丸投げになっているが、むしろ上記コードのSet sh1 = Worksheets("Sheet1")
などを使えるようになることのほうが肝心な気がする。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 現在のセルの文字列を右隣のセルの名前にするマクロをつくりたい 4 2023/01/12 09:01
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) 【Excel】指定した文字列に該当する行を重複しないようにリスト 3 2022/03/30 12:27
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) A列と完全一致したセルとその右隣だけを残す 3 2023/06/21 05:01
- Excel(エクセル) エクセルのマクロを教えてください。 1 2022/03/30 09:29
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
【VBA】2つのシートの値を比較して条件一致したら、同じ行の隣の値を別ブックへ転記したいです。 VB
Visual Basic(VBA)
-
【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。
Excel(エクセル)
-
-
4
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
[初心者です]VBAで指定列からAを検索し、発見したら隣のセルに値0を入れるマクロ。
Access(アクセス)
-
7
エクセル 同じ値を探して隣の数値をコピーする
Excel(エクセル)
-
8
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
9
なぜこんな初歩的なVBAのIf文でエラーか発生して使えないのか、全く理解出来ません。誰か助けてくださ
Visual Basic(VBA)
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
12
別のシートから値を取得するとき
Visual Basic(VBA)
-
13
ファイル名を今日の日付、時刻で保存する
Visual Basic(VBA)
-
14
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
15
エクセルでセルの条件が一致したら、値を挿入したい
Excel(エクセル)
-
16
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
17
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
18
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
19
サブフォルダから部分一致のエクセルファイルを検索、選択して開くマクロについて
Excel(エクセル)
-
20
【Excel】指定したセルの名前でPDFを保存する【VBA】
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
結合されたセルをプルダウンの...
-
特定の文字がある行以外を削除...
-
Excel グラフのプロットからデ...
-
エクセルのセルに指定画像(.jpg...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
エクセルで特定の文字列が入っ...
-
電話番号の入力方式が違うデー...
-
エクセルマクロで偶数行(又は...
-
EXCELマクロを使い、空白行では...
-
excelのデータで色つき行の抽出...
-
連続データが入った行の一番右...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセルVBA 最終行を選んで並...
-
エクセル 時間の表示形式AM/PM...
-
A1に入力された文字列と同じ文...
-
アクティブになっている行をマ...
-
エクセル 上下で列幅を変えるには
-
Excelでカタカナ・ひらがな・英...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
特定の文字がある行以外を削除...
-
[EXCEL]ボタン押す→時刻が表に...
-
Excel グラフのプロットからデ...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
結合されたセルをプルダウンの...
-
Excelのフィルター後の一番上の...
-
excel 小さすぎて見えないセル...
-
エクセル 上下で列幅を変えるには
-
エクセルマクロで偶数行(又は...
-
Excel ウインドウ枠の固定をす...
-
EXCELで最後の行を固定
-
VBAで色の付いているセルの行削除
-
連続データが入った行の一番右...
-
エクセル 時間の表示形式AM/PM...
-
エクセルのセルに指定画像(.jpg...
-
エクセルVBA 最終行を選んで並...
-
アクティブになっている行をマ...
おすすめ情報