重箱の中へ。二段目(エクセルVBA奮戦記w)
◆コピペと値入力と。
(うぃず自作スケジューラ作成♪)
自作スケジューラの作成を通して、
・コピペ
(自分がコピーしたいとこからペーストしたいとこへできる!)
・文字や日付の入力
(自分が記入したいとこへ。今日の日付も!)
…が、できるようにとりあえず、なると思われます。
(てかエクセルVBAのヘルプ初心者にめっちゃキビシイから…)
このぺーじにあるものども。
◆コピペができるよーになるコトバ。
→→→トップページへお戻りの際はブラウザバックでお願いしますm(__)m
お気づきの点等、メール下さるさいはここをぽちっとお願いします。
●解決法のレジメ:場所を指定してる部分を書き直せばよし♪
エクセルVBAをいじるようになったきっかけはコピペがめんどーになった事だ。
しかしフツーに仕事していてそうまでめんどーになるか?
実はスケジューラーを自作したのだ(爆)
トピックライン行に作業名とか登録しといて…
その作業したらその行をコピペして履歴ライン行を作る。
履歴ライン行には作業日付とやったこと、メモなんか書き込む。
(…と、いつなにやるかおわったかだけでなく進捗もチェックできるのだ。画面切り替えんとコピペや置換できるので記入も楽っス♪)
って表だ。
このスケジューラー、唯一めんどーなのが作業するたびのメモ記入…ではなく(そこめんどーだってなら何かを根本的に考え直した方がいいスほんとに(汗))、そのまえのコピペだ。
いや、まだそのあと日付書くのと『履歴ラインである事を示す記号』入れるのもうざい(そしてよく忘れる(爆))んだけど。
そこらへん自動にしたくてワタシはマクロに手を出した。
…で、あっつーま壁にぶちあたり(笑)
『マクロの記録』をやったはいいが、コピペしてほしいから〜と選んでるとこをコピペしてくれない!
さらに日付も、マクロ記録した日のしか入らない!
しかたないのでマクロを編集することにした。
みたとこ、
Selection.Copy
とか書いてあるんで、コピー自体は、出来てるようである。
問題は、コピってくる場所の指定だ。
さっきの
Selection.Copy
の真上に
Range("20:20").Select
なんぞと書いてある!
選んでるはずの場所をコピって来ない元凶はどーやらここである。
そうワタシが選びたいのは『20行め〜20行め』っでなくて『今カーソルがあるとこ一行全体なんだよー!!』
と叫んでみて(←ココロで。)それをカタチにした。
ActiveCell.ENTIREROW.Select
と書き換えるです。
☆ポイントはENTIREROW。
マトモにヘルプで探すとまず出て来ません(爆)。
偶然、他の項目探しててめっかったナリ。
そう、VBAのヘルプははっきり言って激不親切である。少なくとも、初心者には!!
だからこんなん書いてるんすよぶつぶつ。
ましゅまろ大仏様のお写真でも見て気を鎮めて来ま(笑)
…さてコピーが出来たんで、次はペーストである。
さっきのブツだが、どこに置きたいかっていうとやっぱトピックライン行のすぐ上に入れたい。
(すると、履歴ラインは上から日付順に並ぶよーになるのだ。まあここは好みですな)
では挿入コピペをやりませう。
Range("20:20").Selectが再び入っていたら要らないので消す。
ここを選ばなくっていいのだよ明智くん(←何)。
さっきので範囲選択は出来ている。
ここはそのまま
Selection.Insert Shift:=xlDown
でOKなのだ。
もちろん、どっか別のとこにはりたいなら、もと入ってたアレにならってRangeとか入れればグッドである。
(というとかなり放置的だが、場所がはっきり決まってるなら、『マクロの記録』で書き出させた方が楽チンなのだ。
『値を貼付け』とか特殊なペーストしたい時も、やっぱその方が。かくこと多くて面倒だから(笑))
と、ここまでで、コピぺがとりあえずできるよーになった。
以降のやりかた(まだそのあと日付書くのと『履歴ラインである事を示す記号』入れるのがある)は次章にて。
→→→トップページへお戻りの際はブラウザバックでお願いしますm(__)m