![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
No.1ベストアンサー
- 回答日時:
こんばんは。
何と無く思いついたものですが一案です。
すみませんが、コメント等を余計に入れておきましたのでコードの解説
等は省略させて下さい。
' // シートモジュール
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rSrc As Range
Dim rDst As Range
Dim r As Range
' // マスタ範囲定義
Set rSrc = Me.Range("U4:Y34")
' // 転記先範囲定義
Set rDst = Me.Range("B7:B26,E7:E26,J7:J26,M7:M26,P7:P26")
' // Dblクリックされたセルがマスタの範囲か?
If Not Intersect(Target, rSrc) Is Nothing Then
' // 転記先が既に埋まってないか?
If Application.CountA(rDst) = rDst.Cells.Count Then
' // 埋まっている場合
MsgBox "もう書けないっぽい", vbInformation
Else
' // (1)とりあえず転記先範囲の先頭セルを転記先に仮設定
Set r = rDst.Cells(1)
' // (2)その他空きセルを探す(空きセルのうち最初のセル)
' // 見つからない場合は、(1)が採用される
On Error Resume Next
Set r = rDst.SpecialCells(xlCellTypeBlanks).Cells(1)
On Error GoTo 0
' // 転記実行
r.Value = Target.Value
End If
' // Dblクリックで編集モードになるのをキャンセル
Cancel = True
End If
' // 後始末
Set rSrc = Nothing
Set rDst = Nothing
End Sub
分かりやすくコメント頂き、ありがとうございます。
まだ、何となくしか理解できてない事、申し訳なく思います。
もう少し勉強してすべて理解できるように勉強します。
これで作業が簡素化され、ミスも減ると思います。
本当に助かりました。ありがとうございます。
No.2
- 回答日時:
あったら便利な機能ですが、したい課題だけ書いて、基本的に丸投げになっている。
色々勉強してから質問したら。ーー
必要な要素(小)技術(下記の(1)-(4)など)も捉えられていないようだ。
(1)>U4:Y34のいずれかの
とダブルクリックしたセルがこの範囲か調べる方法
#1のご回答にも出ているのが高等な方法です。
素人的には
列がUからY、行が4から34をIF文でANDを使い聞く方法もある。
例 部分テスト例
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Target.Column <= Range("Y1").Column And Target.Column >= Range("U1").Column _
And Target.Row <= 34 And Target.Row >= 4 Then
MsgBox "aaa"
End If
End Sub
(2)>B7にコピーします
はダブルクリックしたセル(「Targetセルの値をB7に代入(=ターゲットセル)でよいでしょう。B7が動く・変化するのが難しいが、下記。
(3)>B7にはすでに値が入力されているのでB8へコピー
その列の、現状の一番下の行を捉える定石がある。その+1した行
に代入すればよい。
納得のためのテスト例
Sub test01()
d = Range("B1000").End(xlUp).Row
MsgBox d
End Sub
このd+1行に代入すればよい。
(4)B7~B26→E7~E26→J7~J26→M7~M26→P7~P26と
順にセルを移動させたいのです。
(3)の代入を行っていて26行目になったら、E,J,M列の第7行に行くということか。
3列ごと目に移動しているようにも見えるのだが、G列はどうなった。飛ばすのか。これ(飛び飛びだと)でむつかしい点が増える。
ーー
この制御をどうするかテスト例
順次一定値だが、決まった範囲に決まった順序(ダブルクリックの順序)で、値をセットしていく
Sub test01()
ca = Array(2, 5, 10, 13, 16, 99) 'B,E,J,M,P列
i = 0
C = ca(i)
r = 7
p1:
If C > 16 Then Exit Sub
d = Cells(1000, C).End(xlUp).Row
If d >= 26 Then
i = i + 1
C = ca(i)
MsgBox C
r = 7
GoTo p1
End If
If d + 1 < 7 Then d = 6
Cells(d + 1, C) = "111"
GoTo p1
End Sub
ーー
これらの要素技術を組み合わせることになるが、参考になるかな。
まあ初心者がやるには難しすぎると思うが。VBAでも中級の上以上と思うが。
大変丁寧にお答え頂き、ありがとうございます。
初心者なのにもかかわらず、こんな難しいことを
しようとしていたのかと、改めて認識いたしました。
大変申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Visual Basic(VBA) シート間で同じ値があったらコピペ 1 2022/05/08 09:39
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
【お題】・忍者がやってるYouTubeが炎上してしまった理由
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
エクセル マクロ クリックしたセルの内容を貼り付け
Excel(エクセル)
-
エクセルでセルをダブルクリックしたらそのブックの別のシートに飛ぶ動作
Excel(エクセル)
-
エクセルVBAでダブルクリックをしたらA列のデータが別シートに転記されるにはどうしたらよいですか?
Visual Basic(VBA)
-
-
4
エクセル クリックした値を転記
Excel(エクセル)
-
5
選択したセルでダブルクリックをするとエクセルマクロによりそのセルがコピ
Visual Basic(VBA)
-
6
エクセル ダブルクリック入力の範囲が複数の場合
Excel(エクセル)
-
7
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
自分の左隣のセル
-
SUMIF関数で、「ブランク以外を...
-
エクセルで、A2のセルにA3...
-
文字列から英数字のみを抽出す...
-
excelで、空白を除いてデータを...
-
エクセルで特定のセル内にだけ...
-
エクセル1行おきのセルを隣の...
-
セルを結合した時のエクセル集...
-
エクセルで、指定の値よりも大...
-
同一セル内の重複文字を削除し...
-
Excelで大量のセルに一気に関数...
-
【Excel】4つとばしで合計する方法
-
EXCELでマイナス値の入ったセル...
-
EXCELのcountif関数での大文字...
-
エクセルで年月日から月日のみへ
-
エクセルに入力後、別シートの...
-
Excel 特定の倍数の個数を数え...
-
検索関数を使って検索窓を作成...
-
何時から何時までを○○、何時か...
-
エラー「#REF」の箇所を置き換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自分の左隣のセル
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
エクセルで特定のセル内にだけ...
-
エクセル1行おきのセルを隣の...
-
エクセルで、指定の値よりも大...
-
エクセルで、A2のセルにA3...
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
同一セル内の重複文字を削除し...
-
EXCELでマイナス値の入ったセル...
-
EXCELのcountif関数での大文字...
-
【Excel】4つとばしで合計する方法
-
エクセルで年月日から月日のみへ
-
Excelで大量のセルに一気に関数...
-
週の労働時間を計算するエクセル
-
Excelで日付が入っていたら金額...
-
エクセル 12進数
-
エラー「#REF」の箇所を置き換...
-
条件付き書式の色付きセルのカ...
おすすめ情報