メモのコツを教えてください!

エクセルマクロVBAについて教えてください。
まるっきりの初心者なので困っています。
シート1にあるA列の部番でJ111AH、J111A、J111Bといった先頭の数字が同じでその後のアルファベットが違う3種類の部品があります。
このうちJ111AHとJ111Aは納品時にユニットとして入って来るものでJ111Bは組付け時に
J111AHに取り付ける部品になります。
この3種類の部番を納品チェック時に単品で納入されないJ111Aを”-”で対象外としてB列に表示させたいです。
以上のマクロプログラムはどのようにすればいいか教えてください。
自分でいろいろ試してみましたが、うまくいかず詳しい方に聞くのが一番かと思い質問しています。
どうか、詳しい方の回答をよろしくお願いいたします。

質問者からの補足コメント

  • 回答ありがとうございます。
    説明が下手ですみません。

    A列は部番列、B列は納品チェック欄です。
    やりたい事ですが
    部番列の部番末尾のアルファベットの組合せで判定したい。
    AHならAにーをつける
    BHならBにーをつける
    判定結果をB列に入れる。

    以上がやろうとしている事です。
    見にくいですが作りたいもののイメージした画像を付けました。
    ご指導宜しくお願いします。

    「エクセルマクロについて教えて下さい。」の補足画像1
    No.2の回答に寄せられた補足コメントです。 補足日時:2024/10/19 17:27
  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (2件)

こんにちは



ご質問の文章が漠としすぎていてよくわからないので勝手に解釈しました。

>先頭の数字が同じでその後のアルファベットが違う3種類の部品があります。
例示されている番号の先頭は「J」なので数字ではないですが・・
数字は3文字の決め打ちで良いのかも不明です。

>J111Aを”-”で対象外としてB列に表示させたいです。
A列の表示を「-」としたいのか、B列に「-」とするのかもはっきりしませんね。


勝手に以下として解釈しました。
『A列の値の最後の1文字が「A」の場合に、A列は「-」の表示とし、B列にA列の値を転記する』

※ 以下のコードは上記内容で動作しますので、解釈が違っている場合は、適宜修正してください。
(マクロを使おうというのですから、修正ぐらいはできるでしょう)

Sub Sample()
Dim c
With Worksheets("シート1") ' ←シート名が違う場合は修正すること
For Each c In Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
 If Right(c.text, 1) = "A" Then
  c.Offset(, 1).Value = c.Value
  c.Value = "-"
 End If
Next c
End With
End Sub
この回答への補足あり
    • good
    • 0

>自分でいろいろ試してみましたが、うまくいかず



その自分で作られたVBAのソースをはりつけてどううまくいかないのかを質問された方がよいですよ。またつくりたい表などを画像で貼り付けた方がいいです。

このサイトは質問サイトであってExcelVBAの作成を請け負うサイトではありませんので。
    • good
    • 5

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