[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『「ボタンの左のセルをクリップボードにコピーしたい」[かわちゃん] について』(きよ)
投稿
[[20210121133200]] 『ボタンの左のセルをクリップボードにコピーしたい』(かわちゃん)
について...
これを参考にフォームボタンを作成してボタンを押すと右側のセルをコピーして
違う場所に貼り付けたいと考えています。
Sub test()
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(, 1).Copy
End Sub
これでコピーまではできるのですが、
ボタンを押しコピーの後にセルの色を変えたいのです。
どうすれば良いでしょうか?
< 使用 Excel:Excel2019、使用 OS:Windows10 >
↓でセル(オブジェクト)を特定できているのですから、塗りつぶし色を設定するだけでは?
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(, 1)
(もこな2) 2022/11/15(火) 23:39:55
↑として右隣の語句をコピーできます。
ただ、ボタンを押すと関係ない場所が黄色に塗りつぶされます。
ボタンを押して右隣の語句をコピーして黄色に塗りつぶしたい。
もう一度ボタンを押すと塗りつぶしの色が消えるようにしたいです。
(きよ) 2022/11/16(水) 19:20:03
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(, 1)
(もこな2) 2022/11/16(水) 19:58:57
はじめてマクロを使っているので意味はわかっていません。
操作したいセルはActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(, 1)
で間違いないと思います。
ただ、どう記入すれば良いのかわかりません。
(きよ) 2022/11/16(水) 20:32:59
>もう一度ボタンを押すと〜
その時もコピーするのかどうかわかりませんが、例えばこんな感じになるのでは?
Sub test() Stop 'ブレークポイントの代わり With ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(, 1) If .Interior.Color = vbYellow Then .Interior.ColorIndex = xlNone Else .Copy .Interior.Color = vbYellow End If End With End Sub
※丸パクリして終了ではなく、ちゃんと意味を調べてみてください。
(もこな2) 2022/11/17(木) 07:42:00
>意味が分かってないなら改造もできないでしょう。
調べながらやっていて構文エラーやコンパイルがなんちゃらとかエラーが出ており、
Selection.Interior.ColorIndex = 6 の時だけ思った動きとは違いますが、塗りつぶしができました。
なので少し変更すればいけるのかな?と思ってました。調べているときにボタンにはマクロが一つしか登録できないと書いてあったので余計に頭が混乱しておりました。
>※丸パクリして終了ではなく、ちゃんと意味を調べてみてください。 調べて考えてみます。 漢字が読めても書けないのと同じで身に着けるには時間が掛かりそうです。
ありがとうございました。
(きよ) 2022/11/17(木) 20:12:02
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.