下記の条件で下記のようなマスターを参照してマクロを作成したいのですが、どのように記述したら良いでしょうか
シート名 滞留在庫表
条件
c列の5行目からdataが入っています。data例(AD1200S0110000000P)18桁
dataの頭8桁目がBの場合はL221をV列に表示
dataの頭8桁目が、A又はM又Pの場合はL222をV列に表示
dataの頭8桁目がB、A、M、P以外の場合は、ブランクをV列に表示
シート名 表示再設定マスタ
A列 B列
5行目******************
6行目*******B********** L221
7行目*******A********** L222
8行目*******M********** L222
9行目*******P********** L222
No.2ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。ご質問文には矛盾があって判断にまようのですが、コードを書いて
みました。お試し下さい。
Sub Sample()
Dim lngLastRow As Long
Dim i As Long
Dim varTmp As Variant
Dim strResult As String
Application.ScreenUpdating = False
With Sheets("マスター")
lngLastRow = .Range("C5").End(xlDown).Row
For i = 5 To lngLastRow
varTmp = .Cells(i, "C").Value
If Not IsEmpty(varTmp) Or Len(varTmp) = 8 Then
Select Case Mid$(varTmp, 8, 1)
Case Is = "B"
strResult = "L221"
Case Is = "A", "M", "P"
strResult = "L222"
Case Else
strResult = ""
End Select
.Cells(i, "V").Value = strResult
End If
Next i
End With
End Sub
No.5
- 回答日時:
こんにちは。
こちらも見ました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1543585
きちんとした全体的な内容を書かないと、マクロが必要なのか分かりません。
私が、#3 で書いた内容を移植しました。
なお、セルには、VBAから、 nullchar "" は、入らなかったはずですね。どうしても必要なら、Formula から入れる必要がありますね。
Sub TestSample()
Dim c As Range
Dim num As Integer
'C5 を起点とした場合
For Each c In Range("C5", Range("C65536").End(xlUp))
num = InStr("BAMP", Mid(c.Value, 8, 1))
If num > 0 Then
'V列
If num = 1 Then c.Offset(, 19).Value = "L221"
If num > 1 Then c.Offset(, 19).Value = "L222"
Else
c.Offset(, 19).Formula = "="""""
End If
Next
End Sub
No.4
- 回答日時:
VLOOKUP関数でできます。
VBAでVLOOKUP関数を使っても簡単です。何よりどんなに複雑な
規則性のない対応でもテーブルを作ってしまえばOKです。
A1:A5に
******************
*******B********** L221
*******A********** L222
*******M********** L222
*******P********** L222
とあるとします。
B列B1に=VLOOKUP(MID(A2,8,1),$G$2:$H$5,2,FALSE)
と入れてB5まで複写します。
G2:H5に
BL221
AL222
ML222
PL222
を作ります。
これだと表に該当なしの場合はエラーになるので
=IF(ISERROR(VLOOKUP(MID(A7,8,1),$G$2:$H$5,2,FALSE)),"",VLOOKUP(MID(A7,8,1),$G$2:$H$5,2,FALSE))とします。
No.3
- 回答日時:
こんばんは。
マクロでなくても出来るような気がしますね。
V5~
=IF(ISERROR(FIND(MID(C5,8,1),"BAMP")),"","L22"&1+(FIND(MID(C5,8,1),"BAMP")>1)*1)
データがA列だったら、
C5 →A5 に直してください。
なお、大文字・小文字の区別があります。
No.1
- 回答日時:
B列(B6)に
=IF(MID(A6,8,1)="B","L221",IF(MID(A6,8,1)="A","L222",IF(MID(A6,8,1)="M","L222",IF(MID(A6,8,1)="P","L222",""))))
を入れ下方向へコピーします。
>c列の5行目から
はa列ですよね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 何方か知恵をください… 下記のシート1にシート2のDATAを表示させたいです。 (シート1の2行目の 6 2022/03/28 17:27
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Excel(エクセル) Excel教えてください。 下記のことが出来るのは、マクロですか?条件付き書式でしょうか、、?知恵を 5 2022/11/12 09:33
- Visual Basic(VBA) VBA。壁の間隔Xミリの中に、5種類の異なる巾の板を敷き詰め、X以下でXに近い板の組み合わせを算出 6 2023/04/23 21:33
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
Accessのクエリで、replace関数...
-
Vba Userformを前面に出すについて
-
Access IF文でテーブルに存在し...
-
【Access】Dcount関数の複数条...
-
access2021 印刷プレビューでの...
-
Access VBA [リモートサーバー...
-
Access VBA を利用して、フォル...
-
accessデータを指定したExcel、...
-
Accessのスプレッドシートエク...
-
ACCESS VBA でのエラー解決の根...
-
Access で半角スペースと全角ス...
-
Access VBA でHTML文を表示したい
-
Accessのテキストボックスの入...
-
Microsoft365にAccessってあり...
-
教えてください! アクセスの書...
-
実行時エラー3131 FROM 句の構...
-
Accessのフォーム上のテキスト...
-
ACCESS2019でのエラーメッセージ
-
CSVファイルの「0落ち」にVBA
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
ACCESS VBA でのエラー解決の根...
-
Accessのスプレッドシートエク...
-
Access VBA を利用して、フォル...
-
【Access】Dcount関数の複数条...
-
accessデータを指定したExcel、...
-
Accessレポートのチェックボッ...
-
Access VBA [リモートサーバー...
-
Vba Userformを前面に出すについて
-
Accessのリンクテーブルのパス...
-
実行時エラー3131 FROM 句の構...
-
Accessのフォーム上のテキスト...
-
CSVファイルの「0落ち」にVBA
-
Access 複数条件検索の設定が上...
-
アクセス 削除するレコードを含...
-
Access で半角スペースと全角ス...
-
access 更新クエリについて
-
Accessのクエリの結果を、既存...
おすすめ情報