私がエクセルのマクロを覚えたのは昨年の12月のことですが、それでもココナラで売れる理由

記事
IT・テクノロジー
 いま、私はエクセルのマクロでココナラの商売をしています。まだ購入なさったかたはありませんが、じつは、マクロVBAを覚えたのは、昨年(2021年)の12月です。まだ覚えたてです。しかし、私は、IfとForとDoを覚えたくらいで、だいたいのエクセルで書けることは書けるようになってしまいました。これは、私の発達障害の障害特性によるものです。私は発達障害ゆえに出来ないことが多く、仕事を長く休んだ上で、つい最近、仕事を失いました。いまは離職票と保険証の届くのを待っている段階です。この間、就労移行(障害者福祉)でエクセルやワードを学びました。そこは、社会へ出て最低限のパソコンの知識を学ぶところでした。私は「ワード基礎」は徹底的に向いていませんでした。私にとっては、多くの人にとって「やさしい」と言われることほど難しいのです。見かねた就労移行の人が、「エクセル応用」に変えてくれました。少しはかどりました。そして、マクロvbaを学ぶと、私は一気にvbaを理解しました。その教科書はFOM出版というところが出しているものでありまっして、それはかなり論理的に書かれたテキストであり、加えて質問できるインストラクターがいたからです。私は中学のときに父からBASICの初歩を教わりました。当時は、インターネットなどはない時代でしたが、家に旧式のパソコンがあったのです。私はプログラミングにはまり、およそプログラミングできそうなものはプログラミングしたものです。たとえば「テトリス」も作りましたよ。その当時のパソコンの処理速度では重すぎて、使い物にならないソフトでしたが。そして、私は教科書とか授業とかは論理的で理解できるため、勉強「だけ」できまして、現役で東大理科一類に行き、理学部数学科に行き、東大数理(東京大学大学院数理科学研究科数理科学専攻修士課程)に入り、そこでも優秀な修士論文を書き、同大学院の博士課程まで行って、そこで発達障害の二次障害である精神障害にやられて博士論文を書く能力を奪われ、以降、がけをくだるような転落人生を歩んでいるところです。それはともかく、中学のときに「4以上の偶数は、2つの素数の和で書けることを偶数の小さい順番に確かめ、反例があったら止まる」というプログラムを書きました。これはいまでも未解決問題である「ゴールドバッハ予想」と言われるものの反例を調べるプログラムでした(ですから反例が見つかってしまったら、世界的なニュースになってしまいます)。のちにある中高で、情報の実習助手をやらされました。それはいまからちょうど5年ちょっと前、41歳のときでした。そのプログラムは、再び書けました。私のプログラミング能力は、まだあったのでした。それで、昨年末にvbaを覚えたとき、みたびそのプログラムは書けたわけです。そのコードをさらしてもいいのですが、その5年前の情報の実習助手の時代は、生徒さんのなかにこれを書ける人はひとりもいなかったのみならず、これよりはるかにやさしい「入力された数以下の素数をすべて出力する」というプログラムを書いた生徒さんは、京大に現役合格したものです。そのプログラムは、最近、エクセルで書いてみると、10分で書けました。以下にコードをさらしますね。
Sub 素数()
Dim a As Long
Dim i As Long
Dim j As Long
Dim k As Long
Dim n As Long
Range("A1").Select
a = InputBox("入力された自然数以下の素数を出力します。")
For i = 2 To a
    n = 0
    For j = 1 To i
        k = i Mod j
        If k = 0 Then
            n = n + 1
        End If
    Next
    If n = 2 Then
        ActiveCell = i
        ActiveCell.Offset(1).Activate
    End If
Next
End Sub
これだけだから10分で書けるのです。
 最初に、いくつかの整数を定義しています。大きな数を入れてもだいじょうぶなように、Longにしてあります。そして、aに入力をさせます。そして、Forが2つあり、その数以下のすべての数で割ります。そして、割り切れた場合、つまり余りが0であったとき、nがひとつ増えます。そして、nが2のとき、その数を書いてアクティブセルをひとつ下に移動します。つまり、これは、2回割り切れる数を書いています。素数とは、1と自分自身でしか割れない数のことです。5は素数です。1と5でしか割り切れないからです。6は素数ではありません。1と2と3と6で割り切れるからです。そんなわけで、これはとても大きな数を入力しても、あっというまにそれ以下の素数を出力します。
 本日はこのへんまでです。マクロを書くのもお気軽にご依頼ください。もっと実用的なマクロもたくさん書いています。中高の時間割を作成するものも、最近、書きました。あるいは、トランプの「スピード」も書きました。エクセルは「待てる」ことを知った私は、0.01秒、エクセルに待たせて、押されたキーを確かめるというやりかたでマクロを書きました。相手は、1秒に1回、出してくるのを標準としまして、5秒に1回、出してくるのは弱い、0.3秒に1回、出してくるのはかなり強いというふうに相手の強さを設定しました。ほかにも、およそエクセルで書けることはほとんど書ける自信があります。どうぞお任せください。以上です。ここまでお読みくださり、ありがとうございました。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す