エクセルマクロVBAについて教えてください。
まるっきりの初心者なので困っています。
シート1にあるA列の部番でJ111AH、J111A、J111Bといった先頭の数字が同じでその後のアルファベットが違う3種類の部品があります。
このうちJ111AHとJ111Aは納品時にユニットとして入って来るものでJ111Bは組付け時に
J111AHに取り付ける部品になります。
この3種類の部番を納品チェック時に単品で納入されないJ111Aを”-”で対象外としてB列に表示させたいです。
以上のマクロプログラムはどのようにすればいいか教えてください。
自分でいろいろ試してみましたが、うまくいかず詳しい方に聞くのが一番かと思い質問しています。
どうか、詳しい方の回答をよろしくお願いいたします。
No.10
- 回答日時:
>部番列の番号で今回対象にしているA、B、AH、BH意外の番号が出てきた際はどうなりますでしょうか?
>可能性が有るものとして
>末尾のアルファベットが違う、部番が数字のみ
部品名で書かれている
この様なときに判定には影響は無いのでしょうか?
エラーを検知した行で、エラーメッセージを表示し、止まります。
継続する場合は、一旦、エラーのデータを正しく訂正し、再度、マクロを実行しなおしてください。そうすると、最初からやり直します。
No.9
- 回答日時:
>このサイトは質問サイトであってExcelVBAの作成を 請け負うサイトではありませんので。
ホントそうです。
本来、ここはExcelVBAの作成を 請け負うサイトではないのに、親切な人は全部作ってしまうから、誰か親切な人がタダで作ってくれるサイトだと勘違いしてる質問者が後を絶たない。
「いろいろ試してみましたが」と書くんじゃなくて、どういう事を試してみたのかソースコードを示して、どのようにうまく行かなかったのか、エラーが出るのか、エラーは出ないけど意図したように動作しないのか、そういうのを提示した上で、元のソースのどこに問題があるのかを質問するのが、本来の質問でしょう。
まるまる作ってもらうのは質問と回答というここの趣旨から逸脱してますよ。
この質問者さんだけの問題じゃありませんけど。
No.8
- 回答日時:
下記へアップしました。
https://ideone.com/28qSiK
使用時の注意事項
1.部番列はE列にしてあります。変える場合は3行目の
Const BubanCol As String = "E" '部番列
を適切な列に変えてください。
2.データの開始行は、6行にしてあります。変える場合は2行目の
Const StartRow As Long = 6 'データ開始行(1以上を指定)
を適切な数値に変えてください。
3.ーの出力対象列は、4行目の
Const OutColTbl As String = "L,O,R,U,X,AA,AD,AG,AJ,AM,AP,AS,AV,AY,BB,BE" '-出力対象列
を適切な列に変えてください。
4.ーの出力対象列(L,O・・・BE列)は、マクロ実行時、最初に全てクリアされます。もし、クリアしたくなければ、23行目の
Call clear_out_cols(ws, StartRow, lastRow, outcols) '全ての出力対象列をクリア
の行を削除するか、コメントアウトするかしてください。
No.6
- 回答日時:
>F列以降でH列、L列と言った感じで選んだ列にーを出力したいです。
すみません。意味がよくわかりません。
マクロ実行時に、あなたが、どの列に出力するかを選ぶということでしょうか。例えば、H列を選んだらH列に出力し、Z列を選んだらZ列に出力したいということですか?
No.5
- 回答日時:
>ーを出力したいところは、F列以降で指定した複数列につける場合でお願いします。
「F列以降で指定した複数列」は
「F列以降で指定した複数行」の間違いでしょうか?
「F列以降で指定した複数列」をそのまま解釈すると、F列、G列、H列、・・・
等に-を出力するように読み取れます。
No.4
- 回答日時:
No3です。
>現在、部番列はAですがこれをE列に変更してさらに、2行目を6行目からに変更するには何処を変えれば良いか教えてください。
ーを出力するのはB列で良いのですか。それともF列でしょうか。
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 助けてください 急を要するエクセルの質問です セルJ1に前と入力したらA1〜D1に◯、 同じJ1に後 2 2023/06/22 20:04
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/10/17 18:01
- Visual Basic(VBA) 【再投稿】VBAで動作しなくて困っています 2 2022/10/11 11:05
- サッカー・フットサル Jリーグの話 1 2022/12/28 23:35
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- サッカー・フットサル Jリーグの話 1 2022/09/25 00:22
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- イベント・祭り 北海道コンサドーレ札幌の話 1 2022/08/21 19:47
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
- サッカー・フットサル Jリーグの話 2 2022/12/15 16:11
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
これが怖いの自分だけ?というものありますか?
人によって怖いもの(恐怖症)ありませんか? 怖いものには、怖くなったきっかけやエピソードがあって聞いてみるとそんな感覚もあるのかと新しい発見があって面白いです。
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
【お題】 ・西暦2100年の「小学生のなりたい職業ランキング」で1位になった職業は何か教えてください
-
8:40までの出勤は全て8:30にする関数を教えて下さい!!
Excel(エクセル)
-
excelVBAについて。
Excel(エクセル)
-
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
-
4
Excelの計算で差分を求める場合について
Excel(エクセル)
-
5
エクセル初心者です 用語とか良く分からないので簡単に説明していただけると幸いです 表を作っているので
Excel(エクセル)
-
6
エクセル マクロVBAについて教えてください。
その他(Microsoft Office)
-
7
【再投稿】レイアウトが異なる別のワークブックからデータを転記する方法を教えてください
Excel(エクセル)
-
8
excelですが一つのマスに入ってる文字を2つのマスに変更できますか
Excel(エクセル)
-
9
年間の医療費のデータがあり、月々の集計をする計算式を教えていただけませんか
Excel(エクセル)
-
10
Excelで合計を求めたいです
Excel(エクセル)
-
11
UNIQUE関数、配列数式を使わずに品名ごとの集計を求めたい
Excel(エクセル)
-
12
Excelで<a>,<b>の入ったセルをcountifすると動作がおかしい。なぜ?
Excel(エクセル)
-
13
Excelについて教えてください 横向きの表を並び替えたいのですが上手く行きません。 例えば 1 5
Excel(エクセル)
-
14
Excelの区切り文字について質問です。 Excel機能にある、区切り文字を使う時に区切ったあとの書
Excel(エクセル)
-
15
excelVBAについて。
Excel(エクセル)
-
16
はがきについて。
Excel(エクセル)
-
17
【マクロ】顧客番号にて一致させ、情報を表へ上書きする為には
Excel(エクセル)
-
18
一つのセルに(例えばA1)入力された3桁・4桁の数字を並べ替えて同一行のセルに表示させる。
Excel(エクセル)
-
19
Excelに詳しい方! B列が「日」なら「休」と表示されるようにしたいのに何で全部の曜日に「休」と入
Excel(エクセル)
-
20
【EXCEL】画像の黄色部分の抽出方法を教えてほしいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルとフォルダの移動につ...
-
スプレッドシート(Excelでも良...
-
ファイルパスについて。
-
Excel初心者です、Excelの日付...
-
XMLHTTP60で前日のデータが取れ...
-
Excel初心者です。 Excelでやり...
-
エクセルで作成した書類の印刷...
-
excelVBAについて。
-
スプレッドシートで適切な条件...
-
Excelについて。 以前、無料でE...
-
エクセルで作成した表の中にあ...
-
新規ブックの作成について。
-
ExcelVBAについて。
-
excelVBAについて。
-
エクセルのCOUNTAについて
-
excelVBAについて。
-
excelVBAについて。
-
excelVBAについて。
-
標準、数値、文字列・・・VLOOK...
-
エクセルで図形を含む複数のブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
excelVBAについて。
-
excelVBAについて。
-
UNIQUE関数、配列数式を使わず...
-
エクセルのデータ整理の方法
-
11ケタの数字を打つと、エク...
-
エクセルの関数ついて
-
エクセル初心者です 用語とか良...
-
エクセル2021 範囲指定印刷をす...
-
【マクロ】メッセージボックス...
-
Excelで合計を求めたいです
-
IEを使わずHTMLを取得する
-
1.5ヶ月分の費用按分 エクセル関数
-
エクセル初心者です 用語等まだ...
-
excelVBAについて。
-
エクセルの不調について
-
Excelで、毎月の月曜と金曜の合...
-
vbe でのソースコード参照(msgb...
-
エクセル数式に問題があります
-
アクセス2016 エクセル2016 重...
おすすめ情報
回答ありがとうございます。
説明が下手ですみません。
A列は部番列、B列は納品チェック欄です。
やりたい事ですが
部番列の部番末尾のアルファベットの組合せで判定したい。
AHならAにーをつける
BHならBにーをつける
判定結果をB列に入れる。
以上がやろうとしている事です。
見にくいですが作りたいもののイメージした画像を付けました。
ご指導宜しくお願いします。
大変わかりやすい回答ありがとうございます。
追加で確認ですが
現在、部番列はAですがこれをE列に変更して
さらに、2行目を6行目からに変更するには
何処を変えれば良いか教えてください。
宜しくお願いします。
説明下手ですみません。
ーを出力したいところは、F列以降で指定した複数列につける場合でお願いします。
宜しくお願いします。
回答ありがとうございます。
そうです。
F列以降でH列、L列と言った感じで選んだ列にーを出力したいです。
何度もすみません。
最初に指定しておいた列にーを出力したいです。
指定した列は固定で変わりません。
宜しくお願いします。
説明が下手なのにやりたい事を省略して質問して
伝わらず、すみません。
やりたい事はE列を部番列にして
L、O、R、U、X、AA、AD、AG、AJ、AM
AP、AS、AV、AY、BB、BE列に
ーを出力したいです。
ーを表示する行は6行目以降になります。
以上がやりたい事です。
宜しくお願いします。
回答ありがとうございます。
実際に使ってみました。
思っていた通りの表示が出てきました。
一つ気になったのですが
部番列の番号で今回対象にしているA、B、AH、BH意外の番号が出てきた際はどうなりますでしょうか?
可能性が有るものとして
末尾のアルファベットが違う、部番が数字のみ
部品名で書かれている
この様なときに判定には影響は無いのでしょうか?
回答ありがとうございます。
今後、部番の表示で先程質問した
末尾のアルファベットが違う、部番が数字のみ
部品名で書かれているが追加されるので
A、B、AH、BHのみを対象にして
ーを出力したいです。