EXCEL2007でマクロ作成中の初心者です。今困っています。お助けください。
シートのA列に名前が書いてあります。 その名前の横B列に番号を入れたいのです。
A B
1 佐藤
2 伊東
3 加藤
4 以下つづく
横B列の番号は他のシートにあります。現状では以下の番号になります。
A B
1 佐藤 1
2 伊東 3
3 加藤 5
4 以下つづく
他のシートに以下の表があります。これは可変の表で、名前は次の列は空白です。
名前のあるセルのみ上の番号を表示したいです。
、
A B C D E F G →以下つづく
1
2 番号 1 2 3 4 5 6 7 →以下つづく
3 名前 佐藤 伊東 加藤 田中 →以下つづく
わかりにくいかもしれませんがよろしくお願いします。
No.2
- 回答日時:
質問が判りにくい。
課題が2個あるのか?それを分けて、箇条書きにでもして、はっきりさせて質問文を書くこと。
(1)1つは名前の同行横列に番号を入れたい。
VBAでやるなら、Findメソッドを勉強せよ。
あるいはマクロの記録で編集ー検索の操作をして、コードがどうなるかを勉強せよ。
佐藤は他シートでは2度出ないとする。
VBAでせずとも、VLOOKUP関数で出来るはず。#N/Aが出るのは式の組み立てが悪いから。実例をWEBででも探せ。
Googleででも「エクセル VLOOKUP関数」で照会せよ。第2引数では絶対番地指定にせよ。
(2)Sheet2(他のシートのこと。仮にてなずけて名付けて質問に書け)で表の名前から番号を引いて、名前の上の行に番号を表示したいのか
これもVLOOKUP関数デモできるだろう。VBAならFindメソッドで出来る。
ーー
(2)のみ
例データ
Sheet2 A1:B5
佐藤1
木村9
加藤5
田中7
伊東3
Sheet3
第3行目(-は空白セル)
ー佐藤ー伊東ー加藤ー田中ー木村
コード
Msgboxは納得後に削除する。
Sub test01()
r = Worksheets("Sheet3").Cells(3, 256).End(xlToLeft).Column
MsgBox r
For j = 2 To r Step 2
nm = Worksheets("Sheet3").Cells(3, j)
MsgBox nm
Worksheets("Sheet2").Select
Worksheets("Sheet2").Range("A:A").Find(what:=nm).Select
Worksheets("Sheet3").Cells(2, j) = Selection.Offset(0, 1)
Next j
End Sub
ーーー
実行後
Sheet3
ー1ー3ー5ー7ー9
ー佐藤ー伊東ー加藤ー田中ー木村
この回答への補足
申し訳ございません。伏してお詫び申し上げます。無能をおゆるしください。
もう一度整理いたしました。よろしくお願いします。
あ)シート名「名前」のセルA1に佐藤の文字
い)シート名「数字」のセルA1からE1にそれぞれ 3、8,9,10,15の数字
う)シート名「数字」のセルA2からE2にそれぞれ 伊東,加藤,田中,佐藤,中川の文字
え)シート名「名前」のセルB1に 関数を入れ10という数字を表示させる。
No.1
- 回答日時:
マクロでなくて Vlookup関数ではだめだったのでしょうか。
番号を表示したいシートのB列に
=Vlookup(A2,番号が入っているシート!A:B,2,FALSE)
と入れて下へコピーすればOKと思います。
もう一つのシートも同様で
=IF(B2="","",=Vlookup(B2,番号が入っているシート!$A:$B,2,FALSE))
と入れて右へコピーです。
どうしてもマクロが必要な状況なのか
とりあえず、マクロを勉強してみたい
など補足していただければ、それに合った回答が付くと思います。
この回答への補足
B列に番号を入れたいのです。Vlookup関数でもいいです。
A B
1 佐藤 =Vlookup(A2,番号が入っているシート!A:B,2,FALSE)
2 伊東
3 加藤
4 以下つづく
教えていただいた式をいれると、#N/A となってしまいます。
番号が入っているのシートの表は可変の表です。名前は次の列は空白です。
名前のあるセルのみ上の番号を表示したいです。
、
A B C D E F G →以下つづく
1
2 番号 1 2 3 4 5 6 7 →以下つづく
3 名前 佐藤 伊東 加藤 田中 →以下つづく
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) Excelについて 4 2023/03/02 09:24
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Excel(エクセル) Excelで質問です! 現在マクロを勉強中の初心者です。 以下のような表から、会社名が空白のもの以外 2 2022/06/14 12:16
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシート名変更で重複...
-
別のシートから値を取得するとき
-
【Excel VBA】Worksheets().Act...
-
同じ作業を複数のシートに実行...
-
実行時エラー'1004': WorkSheet...
-
リンク貼り付けをマクロで簡素...
-
VBA 検索して一致したセル...
-
VBA 別ブック(シート)の同...
-
EXCEL VBAで複数シートから該当...
-
Excelマクロのエラーを解決した...
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
VBAで同じシート名のコピー時は...
-
コマンドボタンをクリックでシ...
-
エクセルで通し番号を入れてチ...
-
重複するidをデータごとにまと...
-
シートモジュールからのErr.Rai...
-
VBAを用いて繰り返し自動的...
-
特定の文字を含むシートだけマ...
-
IFステートの中にWithステート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
VBAで大量のファイルをシート名...
-
ユーザーフォームに入力したデ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
VBA 存在しないシートを選...
-
Excelマクロのエラーを解決した...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
実行時エラー1004「Select メソ...
-
【Excel VBA】Worksheets().Act...
-
ブック名、シート名を他のモジ...
-
エクセルのシート名変更で重複...
-
ExcelのVBAのマクロで他のシー...
-
Excel VBA 複数行を数の分だけ...
-
エクセルのマクロについて教え...
-
VBA 最終行まで数式をコピーする
おすすめ情報