No.2ベストアンサー
- 回答日時:
シート名タブを右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける
private sub worksheet_change(byval Target as excel.range)
dim h as range
on error resume next
for each h in application.intersect(target, range("C:C"))
if h <> "" then
cells(h.row, "A").formular1c1 = "=COUNTA(R1C[2]:RC[2])"
cells(h.row, "B") = date
else
h.offset(0,-2).resize(1, 2).clearcontents
end if
next
end sub
ファイルメニューから終了してエクセルに戻る
C列に記入する。
ご回答ありがとうございます!これはすごいです。なぜならC列の任意のセルに数字を入力しても
上からちゃんと認識して数字を並び替えてくれるからです。
しかしすでにC2セルに文字が入っているため、うまくNO1からスタートしてくれません;
ちなみにC3から入力が始まります。最初にそのように前置きをおいていませんでした。大変申し訳
ありません;
そして
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If Target.Count = 1 Then
i = Target.Row
Range("C1,D1").Value = Cells(i, 1).Value
End If
End Sub
という任意のA列を選択するとC1、D1に数字がコピーされるコードも入れているのですが
そのせいでうまく機能していません。
お力をいただけたら幸いです。
No.3
- 回答日時:
一例です。
対象シートタブ上で右クリック→コードの表示→以下のコードを貼り付けてお試しください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
For Each wk In Target
If wk.Value <> "" Then
wk.Offset(0, -2).Value = Application.Max(Range("A:A")) + 1
wk.Offset(0, -1).Value = Date
Else
wk.Offset(0, -2).Resize(1, 2).ClearContents
End If
wk.Offset(0, -1).EntireColumn.AutoFit
Next
End Sub
この回答への補足
申し訳ないです。先の問題はC1,D1の箇所を変更したら解決しました。ありがとうございます。
問題としては、C1セル以外にもD列も入力するのですが、例えばC1セル、D1セルを同時に選択して
消去するとエラーが出ます。これはどうやっても解決できなかったので教えていただければ助かります;
ご回答ありがとうございます!思い通りのことができて感謝します。確かにエクセルにコードを記入して
やってみるとすんなりできました。しかし大変申し訳ないです;
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If Target.Count = 1 Then
i = Target.Row
Range("C1,D1").Value = Cells(i, 1).Value
End If
End Sub
このコードを同じSheet1に入れているのですが、これはSheet1の任意のセルを選択すると
C1、D1に同じ数字を入力するコードです。この状態で教えていただいたコードでやると、
B1、C1セルに日付が勝手に入ってしまい、数字がでたらめになってしまいます;
どうすればよいでしょうか。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで30日以内に同内容の入力があったら色を付ける 2 2023/03/04 12:32
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) 別シートに順番で貼り付け 2 2023/04/13 19:53
- Excel(エクセル) 【VBA】A列の指定した値と同じ行にあるD列の値を順番にコピペするマクロについて 4 2023/02/01 18:16
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Excel(エクセル) Excelで質問です! 現在マクロを勉強中の初心者です。 以下のような表から、会社名が空白のもの以外 2 2022/06/14 12:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列の結合を空白行まで実行
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
【VBA】2つのシートの値を比較...
-
B列の最終行までA列をオート...
-
Changeイベントでの複数セルの...
-
VBAを使って検索したセルをコピ...
-
エクセルでフォームのチェック...
-
VBA 値と一致した行の一部の列...
-
VBAで、特定の文字より後を削除...
-
VBAで10行おきにセルの下に罫線...
-
VBAコンボボックスで選択した値...
-
データグリッドビューの一番最...
-
マクロ 最終列をコピーして最終...
-
VBAのFind関数で結合セルを検索...
-
rowsとcolsの意味
-
空白セルをとばして転記
-
追記する列を増やしたい 2つの...
-
【VBA】複数行あるカンマ区切り...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
VBAのコードを教えてください
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
エクセルvbaについて
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
VBA UserFormからの転記で
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
VBマクロ 色の付いたセルを...
-
VBAで指定範囲内の空白セルを左...
おすすめ情報