2018年 4月 の投稿一覧

VBA コピーの状態を解除する コピーモードの解除

マクロを書いて処理させられたのはいいけど、

コピーの状態がされたまま ってありがちです。

 

そんな時には

Application.CutCopyMode

を使用しましょう。

サンプルコードは下記です。

 

Sub copyR()
Range(“A1”).Copy
Application.CutCopyMode = False
End Sub

 

ちなみにApplication.CutCopyModeには返り値があります。

xlcopyコピーなら 1 を xlcutなら 2 を返します。

コピーされている状態 なのか、 切り取っている状態 なのか判別することができます。

使うことはなさそうですが笑

Sub copyR1()

Dim Modemiru
Range(“A1”).Copy
Modemiru = Application.CutCopyMode
Debug.Print Modemiru

Range(“A1”).Cut
Modemiru = Application.CutCopyMode
Debug.Print Modemiru

End Sub

 

イミディエイトウィンドウには

と表示されます。

複数選択(離れたセル)の行数を数える マクロ エクセルVBA

複数選択された(離れたセル)を選択をした場合の行の数えるマクロ

 

ユーザーフォーム作ってたら必要なマクロになったので考えてみました。

連続していない、離れたセルの行は”Rows.count”では数えられないんですね(*_*)

てなわけで使うのは”selection.areas”  Areasプロパティです。

 

Sub Areas()

Dim Hani As Range

Dim Rcount As Integer

Set Hani = Range(selection.address)

For Each kazu In Hani
Rcount = Rcount + Selection.Areas.Count
Next

Debug.Print Rcount

End Sub

 

やっと作りたいマクロが作れたよ~

おやすみなさい

みんな知らない(´ω`)エクエルマクロ(VBA)を書くって実はめちゃ楽しいこと♪

こんにちは

管理者のようじえといいます。

このブログではエクセルマクロにまつわる話と気まま日記を投稿していきます。

なぜエクセルなのか自己紹介をかねて書いていきます。

ちなみに何か発信したりするのって苦手なので、

変な文章書いてても温かい目で見守っていただければと思いますw

 

一社目のBlack企業に入社して営業職に就いてエクセルを触るようになりました。

もちろん最初はエクセルなんてわかりませんのでカチカチいじってました。

関数式を見てもIFってなんじゃこりゃ、Vlookってなんだ!式長っ!!!読めないだろこりゃw なんてチンプンカンプンな状態でした。

計算やら合計やらせっかく関数で一瞬でできる機能も使えず。いちいち手作業で計算して時間をかけて見積書を作ってました。

そんなこんなで1社目のBlack企業を退職し、2社目メーカーの事務職として就職しました。

 

事務職となり、まともにエクセルと向き合うようになりました。月間数億円のお金をやり取りする仕入れ先とエクセルで原価計算を行い、

大量のデータと様々な種類の製品を扱うようになりました。

原価計算等のチェック(A4サイズで10枚以上)は全て印刷して、紙とエクセルを付け合わせてチェック。チェックしては訂正など。

なんとも頭のおかしくなるような作業を毎週続けていました。単純作業・チェックの苦手な私は全然仕事ができませんでした。

どうにか楽にできる方法はないかと。ココでエクセルの書式やシート関数を覚え、ある程度のエクセルの知識はついていきました。

ただ、書式やシート関数の知識はついても作業時間と労力は大きくは変わらず。シート関数や書式だけだと限界がありました。

さらにチェックの苦手な私は時間をかけてリストを作ってもミスが多発。怒られてはまたミス。

ミスする自分に自信を無くし、仕事に対する気力も失い、人として価値が低いんだなと、空虚で喪失感漂う日々を送っていました。。。

 

本気でどうにかならないものかと考えているところで会社の業務改善の一環でVBAの導入がありました。

業務改善専門の業者さんが来て初めてマクロをみました。それは伝票作成の自動生成でした。マクロを見たときは驚きと感動でした。

こんなものがあるのかと。ダメな自分はこれをやるしかないと思い、エクセルマクロに没頭しました。

平日は会社から帰って夜遅くまで自宅でパソコンをいじいじ。休日も予定がなければ朝から晩までマクロをいじいじ。そんな日々が何か月か続きました。

そして、ついに自分で作ったマクロを会社で使おうとマクロを完成させました。初めて作ったマクロは土日を使い、日曜は一睡もせず月曜を迎えて作ったマクロです。

自分が作ったマクロを会社ではじめて使用しました。内容はブックから他のブックへの転記で、初心者にはなかなか手ごわい内容でした。

手ごわい内容のわりに他の人には手ごわさが伝わらない葛藤もありましたw

紆余曲折を経て初めて自分が作ったマクロがうまくいったときは何よりも自分が一番嬉しかったです。

 

その後どんどんマクロを導入していき、

会社の部署の共有リストの作成を自動化。コンテナに積まれた製品のリストアップの自動化などなど

一日潰していた原価計算も今や小一時間程度となりました。

さらに外部ライブラリの操作・フォルダ操作を理解し、フォルダ内のファイルを自由自在に操りリストアップ。種々の項目の計算や細かく複雑な計算などできるようになりました。

このあたりである程度のスキルがついたなと実感し、自分に対しても自信がでてきました。社内でもVBAで一目置かれるようになりました。

 

とはいえマクロを覚えるのは一概に簡単とは言えないです。順調にマクロを覚えられたかと言われればもちろん、NOです。

なんでうまくいかないんだ。なんでココでエクセルブチ切れちゃうの。などなど。

たくさん、たくさん。壁にぶつかり挫折しかけたこともありました。

相応の時間とお金も使いました。それでも折れなかったのは自分に対する期待とマクロの可能性を実感できたこと。そしてエクセルマクロを好きになったからです。

せっかく好きなことをみつけたので勉強がてらみなさんと情報共有したいなと思い、サイトを立ち上げました♪

 

VBAで挫折された方、辞めてしまった方たくさんいると思います。

機会があればもう一度向き直ってVBAをいじってみてください。何度もコードを書いてみてください。

ふと、こんなもんかと理解できることもあります。

ご質問あれば私でできる範囲で尽力します♪お気軽にご質問ください(^^)

 

ようじえ