
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
VBAで重複データを確認したい
-
マクロ 最終列をコピーして最終...
-
VBA: 2列のリストボックスの2列...
-
Worksheets メソッドは失敗しま...
-
【Excel VBA】カンマと改行コー...
-
VBA 列が空白なら別のマクロへ...
-
VB2005EE:DataGridViewでチェ...
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
Excelで、あるセルの値に応じて...
-
VBマクロ 色の付いたセルを...
-
エクセルVBAで、フォルダ内のパ...
-
重複データをまとめて合計を合...
-
VBAを用いて条件付きの平均値、...
-
空白セルをとばして転記
-
スプレッドシートのデータをGAS...
-
Excel VBA で条件を満たしたセ...
-
VBA A列にありB列にないものま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
【VBA】2つのシートの値を比較...
-
B列の最終行までA列をオート...
-
IIF関数の使い方
-
URLのリンク切れをマクロを使っ...
-
VBAを使って検索したセルをコピ...
-
DataGridViewに空白がある場合...
-
VBA 何かしら文字が入っていたら
-
VBAのFind関数で結合セルを検索...
-
複数の列の値を結合して別の列...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
VBAで指定範囲内の空白セルを左...
-
rowsとcolsの意味
-
【Excel VBA】 B列に特定の文字...
-
VBAで、特定の文字より後を削除...
-
エクセル 2つの表の並べ替え
おすすめ情報