![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
台帳を作成しています。シートは添付の画像のとおりです。一連番号をD7から順に1~の連番を付したコードは動きますが、例えば6桁の123456~連番を付すとE列に転記しません。D2に123456、E2に13と入力するとD列7行目の123456番号の横のE7に店舗IDが自動表示されるようにしています。
コードは次のとおりです。教えて下さい。
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column <> 5 Or .Count > 1 Then Exit Sub
If .Address = "$E$2" Then
If WorksheetFunction.CountBlank(Range("D2:E2")) = 0 Then
With Cells(Range("D2") + 6, "E")
.Value = Range("E2")
.Offset(, -3) = Now()
Range("B2").Value = Now()
End With
Range("E2").ClearComments
End If
End If
End With
End Sub
![「VBA 表で連番をどこからでも付けれるコ」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/c/542315652_5a532d57bc267/M.png)
No.5ベストアンサー
- 回答日時:
こんばんは!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lastRow As Long, c As Range, myRng As Range
If Target.Address = "$E$2" Then
If WorksheetFunction.CountBlank(Range("D2:E2")) = 0 Then
lastRow = Cells(Rows.Count, "D").End(xlUp).Row
Set myRng = Range(Cells(7, "D"), Cells(lastRow, "D"))
With Target
Set c = myRng.Find(what:=Range("D2"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
c.Offset(, 1) = .Value
c.Offset(, -2) = Now() '//←B・C列が結合されているようなので、「-2」としている//
Range("B2") = Now()
Range("E2").Select
Selection.ClearContents
Else
MsgBox "該当番号なし"
.Select
End If
End With
End If
End If
End Sub
こんな感じをお望みなのでしょうか?m(_ _)m
No.6
- 回答日時:
No.5です。
>「Selection.ClearContents」が黄色になります
ん~~~
こちらのExcel画面で画像通りの配置でデータを入力し、再確認しましたが
ちゃんと動きます。
当然のコトですが、シートモジュールいしていますよね?
その1行を
>Range("E2").ClearContents
に変えたらどうなりますか?m(_ _)m
すみませんでした。再確認したら最後のコードの「s」が入力ミスでした。完璧に作動しました。有り難う御座いました。私の作業を最後までご指導・ご教授いただき感謝申し上げます。
No.4
- 回答日時:
チャント動かないコードを提示されても、どういう動きが正解なのかが判りません。
【Q1】こんな事でしょうか?
① E2セルに店舗コードを入力すると D2セルの値を D7セルから下を検索して見つかった行の E列に店舗コードを書き込む
② その行の B列に現時刻を書き込む
③ E2セルをクリアする
④ B2セルに現時刻を書き込む
⑤ D2セルの値をカウントアップする ← ここのコードは無いのですがタイトルからこれも必要かと…
【Q2】なお⑤ですが D列に対象の値が無くなった時はどうするのでしょうか?
【Q3】⑤の後ですが選択セルはどこに持って行けばよいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロについて教え...
-
重複確認
-
エクセルのマクロについて教え...
-
[VB.net] ボタン(Flat)のEnable...
-
マクロの記録を使用したマクロ...
-
エクセルのVBAコードについて教...
-
{ CONTROL Forms.Label.1}が...
-
VBAでCOPYを繰り返すと、処理が...
-
VBの色を変えるにはどうしたら...
-
VBAなくなるの?
-
Outlookの「受信日時」「送信者...
-
vbaにてseleniumを使用したedge...
-
VBA一覧取得 再投稿
-
IEを使わないでhtmlテキストを...
-
A列B列どちらにもあるのを抽...
-
Excelに保存されているユーザー...
-
VBAコンボボックスで選択した値...
-
Excel 範囲指定スクショについ...
-
Excelのマクロについて教えてく...
-
for 文の 繰り返し処理に使える...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAなくなるの?
-
VBAでCOPYを繰り返すと、処理が...
-
vba 削除
-
プログラミング
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
久しぶりのプログラミング
-
ユーザーフォームに別シートか...
-
エクセルVBAコードで教えて下さ...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAコードについて教え...
-
VBAコードについて教えてくださ...
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
エクセルVBA
-
Geogebraの操作方法について
-
マクロの記録を使用したマクロ...
-
Excel(M365) Vlookup/セル反転(...
-
Excel 範囲指定スクショについ...
おすすめ情報
tom4様
いつも有り難う御座います。おかげ様でやっと終着駅にたどり着きそうです。最後にエラー発生ですが、「オブジェクトはこのプロパティまたはメゾットをサポートしてません」の「Selection.ClearContents」が黄色になります。どうしたら良いのでしょうか。教えて下さい。