戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 親トピックをトピックトップへ ]
このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 

このトピック参照回数 :
Re[3]: 範囲指定した後にダブルクリックして表示文字を選択

    [195826] Re[3]: 範囲指定した後にダブルクリックして表示文字を選択-

    記事引用/メール受信=OFF■

    □投稿者/ 阿藤快 -(2023/07/26(12:48))
    □U R L/

      chatGPT

      なんだかなぁ




    [195825] Re[2]: 範囲指定した後にダブルクリックして表示文字を選択-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2023/07/26(08:10))
    □U R L/

      失礼します。
      >どこに問題があるのか教えていただけないでしょうか?
      たぶんChatGPTに対する質問文に問題があると思います。
      何て質問しましたか?
      半平太様がおっしゃる他にも不明点が有ります。

      ・例えば、A1="A",B1="C"の時、A1:B1セルを選択してダブルクリックしたら、
      A1="B",B1="/" ですか?
      A1="B",B1="B" ですか?

      ・上記どちらの場合でもセル数が多いとかなり時間がかかってしまいます。
      セル制限はどのように指定すれば良いですか?

      ・例えば、A1:B1セルを選択してC1セルをダブルクリックしたら、発動させますか?

      ・6回目以降はどうなれば良いのですか?




    [195824] Re[1]: 範囲指定した後にダブルクリックして表示文字を選択-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2023/07/25(22:50))
    □U R L/
      >さて、今回は範囲指定した後、
      これは具体的にどう指定するのですか? 
       マウスでドラッグ選択? (この場合、ダブルクリックすると選択解除されると思うのですが・・) 
       プログラム内で決め打ち指定?
       
       




    [195823] 範囲指定した後にダブルクリックして表示文字を選択-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ 陳Q -(2023/07/25(13:23))
    □U R L/
      いつもお世話になっております。
      
      さて、今回は範囲指定した後、
      ダブルクリックを1回すると、指定範囲のすべてのセルが
      A、2回でB、3回でC、4回で/、5回でAに戻る、というマクロを組みたいと思いました。
      
      CHAT-GPTにお願いしたところ、
      以下のコードが出てきましたが、
      実際にやってみるとエラーが出てしまいました。
      
      どこに問題があるのか教えていただけないでしょうか?
      
      Dim clickCounts As Collection
      
      Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      If Not Intersect(Target, Range("A1:A40")) Is Nothing Then
      If clickCounts Is Nothing Then
      Set clickCounts = New Collection
      InitializeClickCounts ' データ入力範囲のクリック回数を初期化
      End If
      Dim cellCount As Integer
      cellCount = Target.Cells.Count
      Dim i As Integer
      For i = 1 To cellCount
      Dim currentCell As Range
      Set currentCell = Target.Cells(i)
      Dim currentCount As Integer
      currentCount = clickCounts(currentCell.Address)
      currentCount = currentCount + 1
      Select Case currentCount
      Case 1
      currentCell.Value = "A"
      Case 2
      currentCell.Value = "B"
      Case 3
      currentCell.Value = "C"
      Case 4
      currentCell.Value = "/"
      currentCount = 0 ' リセットして再度Aから始める
      Case Else
      currentCount = 1 ' リセットしてAから再開
      currentCell.Value = "A"
      End Select
      clickCounts(currentCell.Address) = currentCount
      Next i
      Cancel = True ' ダブルクリックイベントをキャンセルして、シングルクリックのみ有効にする
      End If
      End Sub
      
      Private Sub InitializeClickCounts()
      Dim rng As Range
      Set rng = Range("A1:A40") ' データ入力範囲を指定(必要に応じて変更)
      Dim cell As Range
      For Each cell In rng
      clickCounts.Add 1, cell.Address
      Next cell
      End Sub
      
      どうぞよろしくお願いいたします。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



このトピック内容の全ページ数 / [0]

- Child Forum -
Edit:ゆう-G