
No.4ベストアンサー
- 回答日時:
>C4:C1000 J4:J1000
>といったような二つの列の範囲のみで効果を発揮したいのです。
>出来る限り自分で、と思っていろいろ試しましたがうまくいきません。
>回答ありがとうございました。
>とても参考になりました。
>さっそく導入してみます。
解決したんでしょうか?
下は、最初からシートにスピンボタンを配置した場合の複数範囲のです。
targetRangeでスピンボタンの出る範囲を指定しておいてください。
シートに前もってスピンボタン(SpinButton1)を配置しておいてください。
Option Explicit
Const targetRange = "C4:C1000,J4:J1000" 'スピンボタンを表示する場所
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With SpinButton1
If Not Intersect(Target, Range(targetRange)) Is Nothing Then
.Visible = True
.LinkedCell = Target.Address
.Top = Target.Top
.Left = Target.Left + Target.Width
Else
.Visible = False
End If
End With
End Sub
別の方法ですが、スピンボタンだと2アクションになるので、ダブルクリックと右クリックの方法です。
Option Explicit
Const targetRange = "C4:C1000,J4:J1000" 'スピンボタンを表示する場所
'ダブルクリックは+1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range(targetRange)) Is Nothing Then
Target = Target + 1
Cancel = True
End If
End Sub
'右クリックは-1
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range(targetRange)) Is Nothing Then
Target = Target - 1
Cancel = True
End If
End Sub
また、スピンボタンを出す条件を、
If Not Intersect(Target, Range(targetRange)) Is Nothing Then
から
If Target.Interior.ColorIndex = 6 Then
に変えると、背景色が黄色のセルならスピンボタンを出すと言うのもできます。
この方法は、複数のランダムな位置のセルを指定する場合や、シートの設計が変わる場合に有効だと思います。
わざわざありがとうございます。
教えていただいたサイトの方法で、
If Intersect(Range("C4:H10000"), Target) Is Nothing Or Target.Cells.Count > 1 Then
の部分で
Union(Range("C4:C1000"),Range("J4:J1000"))
のようにするとなんとかなりました。
ありがとうございました。
No.3
- 回答日時:
多分質問のようなたくさんのコントロールを作らなくても
ワークシートSheet1に1つスピンボタンを張り付け(SpinButton1)
Private Sub SpinButton1_Change()
Worksheets("Sheet1").SpinButton1.LinkedCell = ActiveCell.Address
Range(ActiveCell.Address).Select
End Sub
をSheet1のイベントプロシジュアーにつくる。
ーー
操作
カウントアップやダウンしたいセルを選択して、アクチブにする。
そしてスピンボタンをクリックする。増減することを確認してください。
別のセルをアクチブにすると、前のアクチブセルでは増減しない。
ーー
Activeセルの範囲をA列等に限定して、どこのセルでも上記になることを防ぐ。
上記を改良。
Private Sub SpinButton1_Change()
If ActiveCell.Column <> 1 Then
Worksheets("Sheet1").SpinButton1.LinkedCell = ""
Exit Sub
Else
Worksheets("Sheet1").SpinButton1.LinkedCell = ActiveCell.Address
Range(ActiveCell.Address).Select
End If
End Sub
アクチブセルの動きによるスピンボタンの異表示位置移動が、未実現。
質問の内容が正確ではなかったのに、回答いただいてありがとうございました。
いろいろ試してみることにします!
VBAは完全に初心者なので、投稿いただいた内容の理解からまず始めたいと思います(^^;
No.2
- 回答日時:
この回答への補足
すいません、回答いただいた内容をさっそく試してみましたが、うまくいきません…。
教えていただいたマクロですと、C4:H10000 というような範囲ですが、
C4:C1000 J4:J1000
といったような二つの列の範囲のみで効果を発揮したいのです。
出来る限り自分で、と思っていろいろ試しましたがうまくいきません。
自分はVBA初心者でなにもわかってないようです…。
No.1
- 回答日時:
やりたいこと(ご質問の内容)があまり良く理解できないのですが、VBAを使用すれば可能ではないでしょうか?
ただ、スピンボタンにこだわるような事ではないかもしれませんね。どうしてもスピンボタンがいいと言うのでなければ、もっと簡単な方法がありそうです。
全体的な動作や、どのようなものが必要なのか教えてください。
この回答への補足
ご回答ありがとうございます。
質問内容が適切でなくて、すいません…。
たとえば、1000種類ほどの商品等があって、それがいちいち増える(減る)ごとに数を記録したい、ということです。
前までは直接数字を打ち込んでいたのですが、スピンボタンがいいかと思って改良しているところです…。
A列などに商品項目名、B列にスピンボタン、C列にその数、といった具合です。
スピンボタンにこだわるわけではありませんが、利便性と正確性が上がる方法を模索中です!
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで指定したセルの増減ボタンを作りたい 2 2022/12/02 11:03
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- その他(パソコン・周辺機器) 同じファイル名 上書きしないフリーソフトなどあったら教えて下さい。 仕事で大量の写真などを扱っており 3 2023/05/18 06:43
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルの複写について 4 2022/04/10 01:02
- Excel(エクセル) Excel リンク先のエクセルファイルの削除 同時に行を削除したい 1 2022/11/29 16:20
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
このQ&Aを見た人はこんなQ&Aも見ています
-
(VBA)スピンボタンの大量コピー(相対参照)
PowerPoint(パワーポイント)
-
Excel スピンボタンの対象範囲
Excel(エクセル)
-
エクセルで指定したセルの増減ボタンを作りたい
Excel(エクセル)
-
-
4
Excelのマクロでボタンを押すと数が1足されるようにするには?
IT・エンジニアリング
-
5
スピンボタンと手入力の併用
Excel(エクセル)
-
6
セルがクリックされた回数をカウントする方法
その他(コンピューター・テクノロジー)
-
7
エクセルで、「いいね」のようなボタンを付けることはできますか
Excel(エクセル)
-
8
エクセルVBA「スピンボタンで小数を扱う」
Excel(エクセル)
-
9
【VBA】スピンボタンでアクティブセルを移動したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAを使いセルを指...
-
Excelで数値→文字列変換で指数...
-
エクセルにおける、グラフの指...
-
Excelで行ごとコピー、同じ行を...
-
Excelの関数について、特定の文...
-
テキストボックス内の文字のふ...
-
たくさん作った同じ設定のグラ...
-
wordでグラフを挿入したいので...
-
日付が1年以内になると他のセル...
-
負のデータが含まれている場合...
-
C+vのvは英語で何の頭文字...
-
エクセル 指定した文字列を含...
-
エクセル カタカナの文字を検...
-
~エクセル~円グラフのみを抽...
-
エクセル「一度設定した列幅を...
-
Wiresharkのパケットの詳細のテ...
-
Excelについて▶あるセルに文字...
-
塗りつぶしの色をコピーするには
-
Excelのグラフ
-
コピー貼り付けのマクロの処理...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スピンボタンのコピー
-
エクセルVBAを使いセルを指...
-
HYPERLINKのリンク先のセル範囲...
-
エクセル VBA 特定の範囲内に一...
-
エクセルでの先頭文字について
-
セルに入力したファイル名を参...
-
ワードからエクセルへのハイパ...
-
VBAからIEを操作する時のウィ...
-
エクセルで全部の数字を3倍したい
-
【頭の良い人へ】同セル内の文...
-
Excelのマクロを使わず、数式内...
-
エクセルVBA: 別のセルからの...
-
Excelで困ってます
-
指定した範囲の数値がマイナス...
-
エクセルで最後に入力したセル...
-
Excel関数 - 文字列のなかに6ケ...
-
条件付き書式
-
EXCEL VBAのコードを見て頂けま...
-
countif関数で離れた場所を検索...
-
データベース関数のCriteria(...
おすすめ情報