毎回、皆さんのコードを拝見しながら、あえて違ったやり方でいろいろ作れない物かと日々勉強しております。すると 色々な発見がありますよ。。。。。。。 以下にあえて、for each 構文で作ってみました
code Sub ren() Dim rg As Range Dim ku As Long Dim mx As Long mx = Range("c" & Rows.Count).End(xlUp).Row For Each rg In Range("c2:c" & mx) ku = InStr(rg, "区") rg.Offset(, 5).Value = Mid(rg, ku + 1) Next End Sub /code
>Sub ren()
> Dim rg As Range
> Dim ku As Long
> Dim mx As Long
> mx = Range("c" & Rows.Count).End(xlUp).Row
> For Each rg In Range("c2:c" & mx)
> ku = InStr(rg, "区")
> rg.Offset(, 5).Value = Mid(rg, ku + 1)
> Next
>End Sub
>
森 則彦さんの投稿
(投稿ID: 1521)
私、定年を迎えた 森です。 以前よりエクセルを使いながら ずっとマクロの事が気になりながらも、一歩が踏み出せづにもやもやしておりました。学生時代にBASICはちょっとだけ勉強して概念だけは何とか理解できたものの、実際の細かい職人的な技の様なものが、本では読み取れません。そこでスクール等に入るのが早道かなと思い、NETで探していたら、ガラパゴスタディーさんの教室 なんかちょっと、、、、、感じるものがあり始めました。最近、相続のことが気になり税金の計算をエクセルで試算できるといいかなと。マクロを使わなくても出来るとは思いますが? マクロを使った税金申告書等、目指しております。税金、不動産、建築等いろいろ勉強中です。学生時代にもっと勉強しておけばよかったな..................
毎回、皆さんのコードを拝見しながら、あえて違ったやり方でいろいろ作れない物かと日々勉強しております。すると 色々な発見がありますよ。。。。。。。
以下にあえて、for each 構文で作ってみました
code
Sub ren()
Dim rg As Range
Dim ku As Long
Dim mx As Long
mx = Range("c" & Rows.Count).End(xlUp).Row
For Each rg In Range("c2:c" & mx)
ku = InStr(rg, "区")
rg.Offset(, 5).Value = Mid(rg, ku + 1)
Next
End Sub
/code
ゲストさんのコメント
(コメントID: 2765)
コメントありがとうございます。
> 学生時代にもっと勉強しておけばよかったな
僕も、そう思っています。
でも、今から取り返せますよ☆
>毎回、皆さんのコードを拝見しながら、あえて違ったやり方でいろいろ作れない物かと日々勉強しております。すると 色々な発見がありますよ。。。。。。。
こういう工夫、とてもステキです。
本当に、いろいろな発見がありますね!
For Each構文と Offset を組み合わせた書き方、とてもスマートです。
実は、 For Next構文でのループよりも、 For Each 構文でのループのほうが高速です。
>
>私、定年を迎えた 森です。 以前よりエクセルを使いながら ずっとマクロの事が気になりながらも、一歩が踏み出せづにもやもやしておりました。学生時代にBASICはちょっとだけ勉強して概念だけは何とか理解できたものの、実際の細かい職人的な技の様なものが、本では読み取れません。そこでスクール等に入るのが早道かなと思い、NETで探していたら、ガラパゴスタディーさんの教室 なんかちょっと、、、、、感じるものがあり始めました。最近、相続のことが気になり税金の計算をエクセルで試算できるといいかなと。マクロを使わなくても出来るとは思いますが? マクロを使った税金申告書等、目指しております。税金、不動産、建築等いろいろ勉強中です。学生時代にもっと勉強しておけばよかったな..................
>
>毎回、皆さんのコードを拝見しながら、あえて違ったやり方でいろいろ作れない物かと日々勉強しております。すると 色々な発見がありますよ。。。。。。。
>以下にあえて、for each 構文で作ってみました
>
>
>