No.5ベストアンサー
- 回答日時:
ご紹介したマクロは,主に3つの部分(3つの仕事)で出来ています。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim h As Range
Dim o As String
’Wクリックされたセルが目的の範囲内なのかどうか調べる部分
if application.intersect(target, range("A1:A10")) is nothing then exit sub ’★
’Wクリックされたセルに○を記入したり消去する部分
If Target = "" Then
Target = "○"
Else
Target.ClearContents
End If
’連番を振り直す部分
Set h = Range(Target, Range("A10")).Find(what:="○", LookIn:=xlFormulas, lookat:=xlPart) ’★
If Not h Is Nothing Then
o = h.Address
Do
h = "○" & Application.CountIf(Range("A1:A" & h.Row), "○*") ’★
h.Characters(2, 9).Font.Size = 9
Set h = Range(Target, Range("A10")).FindNext(after:=h) ’★
Loop Until h.Address = o
End If
Cancel = True
End Sub
ご覧になって判るようにA1からA10までの範囲で,という文言が各所(★を打った行)に出てきますから,そこを漏れなく直してください。
丁寧に説明してくださり、さらに
素晴らしい回答をどうもありがとうございました!
これで作業スピードが10倍くらいになった気がします!!
みんなも喜ぶと思います!
大変たすかりました!どうもありがとうございました!
No.4
- 回答日時:
下記のようなマクロならできるが。
基本的なことだけで、エラー処理なんかはしてない。
SheetのWorkSheetモジュールに下記VBAを貼り付ける。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
c = 1
If Target.Column <> c Then Exit Sub
ri = 1
re = Rows(ActiveSheet.Rows.Count).End(xlUp).Row
i = 1
For r = ri To re
If Left(Cells(r, c), 1) = "○" Then
Cells(r, c) = "○" & i
i = i + 1
Cells(r, c).Characters(Start:=2, Length:=Len(i)).Font.Size = 8
End If
Next
Application.EnableEvents = True
End Sub
マクロを考えてくださりありがとうございます!
なるほど!と思えるようにもう少し勉強したいと思います。
回答ありがとうございました!
No.3
- 回答日時:
できますかと言われれば,そりゃまぁ,やれば出来ます。
【手順】
シート名タブを右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim h As Range
Dim o As String
Dim n As Long
If Target.Column <> 1 Then Exit Sub
If Target = "" Then
Target = "○" & (1 + Application.CountIf(Range("A1:A" & Target.Row), "○*"))
Target.Characters(2, 9).Font.Size = 9
Else
Target.ClearContents
End If
Set h = Range(Target.Offset(1), Range("A65536")).Find(what:="○", LookIn:=xlFormulas, lookat:=xlPart)
If Not h Is Nothing Then
o = h.Address
Do
h = "○" & Application.CountIf(Range("A1:A" & h.Row), "○*")
h.Characters(2, 9).Font.Size = 9
Set h = Range(Target.Offset(1), Range("A65536")).FindNext(after:=h)
Loop Until h.Address = o
End If
Cancel = True
End Sub
ファイルメニューから終了してエクセルに戻り,A列のセルでWクリックする。
でもまぁこんなマクロをただ作ってもらって,最初は物珍しくておもしろいかも?しれませんが,実際の仕事の場面で活用できるモノなのかはとても疑問に思われます。
【推奨】
素直にB列に
B2:
=IF(A2="○",COUNTIF($A$1:A2,A2),"")
以下コピー
などのような数式を並べて連番を計算させるなどしてご利用いただく事を考えた方が,何をやっているのかどうすればイイノカもご自分できちんと理解できて,実際の仕事は進むと思いますよ。
この回答への補足
たしかに!初心者の自分ではまったくわかりません!
しかし流石!といいますか、完璧です。頭が上がりません。
クリックして○をつける機能までご用意してくださるとは!なんという優しさ!
クリック機能くらいは自分で何とかしようと思っていたところでしたので
大変驚きました!ありがとうございます。たすかりました。
ちなみに推奨のほうも参考にさせていただきました。
なるほど、かんたんでしたね。。
この表は、「商品購入申し込み」の手書きの表を打ち込む際に使用しています。
とても素晴らしい案だと思いましたので、もうひとつ。
B列やC列、さらにはにどんな列にも反映させることはできますか?
逆に範囲を絞ることもできますでしょうか?
また、A列の1~10まで、と、範囲を指定することは可能でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- その他(パソコン・スマホ・電化製品) エクセル初心者です。 仕事でエクセルを使っていて、普段は素人でもできる簡単な関数を使ったことがある程 1 2022/05/25 11:17
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Excel(エクセル) エクセルVBAについて質問です。 2 2022/12/09 17:59
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) なぜか正常にマクロが動いていない? 1 2022/11/03 07:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
【スプレッドシート】指定の日...
-
Microsoft Formsの「個人情報や...
-
会社PCのメールが更新されない
-
【Excel VBA】PDFを作成して,...
-
マイクロソフト 一時使用コード...
-
エクセルでXLOOKUP関数...
-
office2016のパソコン2台インス...
-
Excelのセルの重複チェックが出...
-
teams設定教えて下さい。 ①ビデ...
-
Excel テーブル内の空白行の削除
-
Microsoft365で写真をアルバム...
-
会社におけるOfficeライセンス...
-
VLOOKUP関数について
-
Windows 11で、IME言語バー(IM...
-
officeビジネス型のワードやエ...
-
VBAファイルの保存先について
-
エクセル、ワード、ネット検索...
-
Outlook で宛先が複数の場合の人数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報