[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Before Double Clickで行の挿入』(maco)
いつもお世話になります。 またまた来てしまいました。
BeforeDoubleClickイベントを使い、自動で行挿入をしたいのですが行き詰まってしまいました。
A | B | C | D 1 分類 | アイテム | 目標 | 実績 -------|----------|-------|------ 2 | *** | 300 | 250 | --------|-------|------ 3 aaa | @@@ | 350 | 90 | --------|-------|------ 4 | ### | 200 | 250 | --------|-------|------ 5 | 挿入 | | ------------------|-------|------ 6 aaa計 | 850 | 590 ------------------|-------|------ 7 | &&& | 500 | 400 | --------|-------|------ 8 | %%% | 300 | 250 | --------|-------|------ 9 bbb | $$$ | 100 | 150 | --------|-------|------ 10 | ??? | 300 | 300 | --------|-------|------ 11 | 挿入 | | ------------------|-------|------ 12 bbb計 | 1200 | 1100
'A2:A5,A7:A11は結合されています。
上記表で、挿入セルをダブルクリックすると挿入セルの1行上に行が自動で挿入されるようにしたいのですが、 自分で試行錯誤の末作ったマクロでは行全体の挿入ができず、セル1つ分の挿入になってしまい、 あれこれ試してみてもどうにもならず助けを求めた次第です。
自分で作ったのは下記マクロです。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim MyRow As Integer
With Target
If .Value <> "挿入" Then Exit Sub If .Count > 1 Then Exit Sub
On Error Resume Next
MyRow = .Row
Rows("MyRow:MyRow").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
End Sub
マクロの使い方がなかなか成長せずお恥ずかしいのですが、どうかお助けください。 よろしくお願いします。
人の見た目に都合の良い結合セルは エクセルに何かやらせようと思った時に 障害に成ることが多いです。
セルの結合は、どうしても必要なんでしょうか?
バージョンによって、上手く行かないのかもしれませんが 今回の問題点は基本的には Rows("MyRow:MyRow").Select この行だと思います。
現在のコードでは Rowsの中に MyRow:MyRow の“文字列”が入っています。 例えばMyRowに「5」と入っていた場合 5:5 の列を指定したいなら 5 & ":" & 5 ですから MyRow & ":" & MyRow ですね。
それから、A列に結合セルがあるので、セレクトすると範囲が拡張されてしまいます。 Selectをやめて すぐに .Insert を続けてみて下さい。
(HANA)
HANAさん いつもわかりやすいアドバイスを感謝します。 教えていただいたように直して実行してみたところ、希望通りに動いてくれました。
>人の見た目に都合の良い結合セルはエクセルに何かやらせようと思った時に >障害に成ることが多いです。
今回もまた一つ勉強させていただきました。 ありがとうございます。
maco
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.