- Excel VBA 質問スレ Part33
489 :デフォルトの名無しさん[sage]:2014/05/13(火) 11:32:08.29 ID:VmzA9yq/ - >>484の★部分の意訳
マクロの自動記録をして 自動記録では処理が出来ない条件分岐等をVBAで追加するという方法が、 エクセルでの処理の自動化には有効ですか? それとも、自動記録に頼らず、 全てVBAで記述することを覚えたほうが良いでしょうか? ということだと思う。 俺なりの回答としては、自動記録を使おうが使うまいが VBAの基本的な知識はどっちみち必要だし是非覚えるべき。 VBAで出来て自動記録で出来ないことはたくさん有るけど 自動記録で出来てVBAで出来ないことはない。 もちろん、自動記録で出来ることならVBA使わずにやったって構わないし、 自動記録で記録したほうがコード手書きするより早い場合もある。 でも、VBAを知ってないと やりたい作業を自動記録でやるのとVBAでやるのと どっちが楽かとか判断できない。
|
- Excel VBA 質問スレ Part33
492 :デフォルトの名無しさん[sage]:2014/05/13(火) 16:49:49.69 ID:VmzA9yq/ - Selection.End(xlDown).Columns("H").Select
ってところが問題 これだとSelectionが"D11"で、.End(xlDown)がそこからの最終行(つまりD列の最終行)となるんだけど、 次の.Columns("H").Selectはそこを1列目(A列)として右に8列目(H列) (つまりD列の7列右でK列)を選択している。 解決方法はまぁとりあえず.Columns("E").Select とか .Columns(5).Selectにしたり、 列の指定と行の指定を別々にやったり色々ある
|
- Excel VBA 質問スレ Part33
496 :デフォルトの名無しさん[sage]:2014/05/13(火) 19:01:16.72 ID:VmzA9yq/ - >>493
列と行を別々に指定する。 つまり、列はH列で決まってるわけだから Cells(Selection.End(xlDown).Row, "H").Select とかでいいじゃん。 Selection.End(xlDown).Row で、Selection(つまり"D11")から下に探した行を取得して、それを指定 列はそのまま"H"でH列を指定 ということ
|