2024年9月8日日曜日

飲食店やお弁当などに使われるお米のブランドも、手頃な価格でかなり美味であると認識している ー まっしぐら(米不足・その他)

          
最近、業務スーパーのお店すら、店頭でお米の販売がなくなってしまいました。
お米不足ではないかと、マスコミが取りざたしていますが、本当にそうなのか。

昨年、渇水等で収量が減ったからと言う人もいますが、作付指数は101でした。
つまり平年並みだったと言うことですが、一方で作付面積は一割も減っている。

なので、近来のコメ余りではなく、米の在庫に余裕がなくなっているのだろう。
しかも、最近の物価高騰で、パン食よりコスパの良い米食を、消費者は選んだ。

その結果、需要がじんわり伸びて品薄感に拍車をかけて価格も上昇したはずね。
九州日向灘の地震もあって巨大地震の誘発に警戒して、庶民は買いだめに走る。

そんな諸々の相乗効果で、米不足に見られかねない現象が起きたと思いますな。
業務スーパーなんかでは、カリフォルニア米とか台湾産米まで販売されました。

そんな輸入米も店頭で払底してしまったので驚いたわけですが、上さんも嘆く。
そんな時、近所のスーパーで店頭で並び始めたお米を目ざとく買って来たのよ。

        
銘柄は”まっしぐら”でして、青森県のお米ですが、東北他県より馴染みが薄い。
それでも、”青天の霹靂”などは、審査で特A米に選ばれた年もあったほどの県。

この年、同時にこの”まっしぐら”も特Aに選ばれたので、良食米だと信じます。
だから、今食べている”あきたこまち”から、切り替えて味わうのに今から期待。

ところで、ウイキを見ると、このお米は、”奥羽341号”と”山形40号”の交配だ。
どちらも、コシヒカリブランドの名前がないので、本当に美味しいのか勘ぐる。

それで、ネットでググってみましたら山形40号はコシヒカリの孫だそうです。
しかも、奥羽341号もあきたこまちの子供なので、コシヒカリの孫同氏の結婚。

ブランド米”青天の霹靂”もコシヒカリ由来とあって、やはりコシヒカリは偉大。
というわけで、”まっしぐら”の遠縁が山形の”はえぬき”で、美味しさの太鼓判。

以前にも紹介した、秋田の”めんこいな”も同系列のお米でおいしかったのですが、こういったコシヒカリ系統による掛け合わせで良食枚が生まれてくるのは、間違いない事実でして、それが各県の農事試験場で生まれてくることに、お米ファンの自分としては、うれしい限りなのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2024年9月6日金曜日

シート関数の紹介だけにしていて、VBAのマクロコードが省かれているのは、マクロで乱用されたくないからじゃないのか ー ExcelAPI(VBAマクロ)

          
住所録などで、住所から検索して郵便番号を自動で入力したい場合があります。
しかし、これは郵便番号から住所を得る場合よりも、かなり難易度が高いんだ。

国内の住所だと、単純に自治体名、町内名、番地、枝番と続くのなら簡単です。
ですが、どれもシンプルな分けではなく、町が複数回あったり、郡まであるな。

果ては、大字があったり、京都なら上る、下る、東入ルと複雑怪奇で理解不能。
こうして、様々な住所の書き方があるのも、日本に長い歴史があるからだろう。

まあ、そんな住所からネット経由で郵便番号を自動的に取得出来たら便利だな。
なので、ここは”ExcelAPI”を使って、WEBから情報を引っ張り出すとしよう。

先ず、”Excel 2013”以降のエクセルが必要で、使うのは”WEBSERVICE関数”。
シート関数として準備されているので、辞書、翻訳となんでもござれらしいよ。

そこで、郵便番号を取得するには、関連するシート関数を二個使う必要がある。
一つは、”EncodeURL”で、WEBで検索するために文字列を16進数に変換する。
次に、”WebService”関数で、変換するURL先に16進数文字列を付けて検索だ。
ただ、ネットでは、関数をワークシート上に記述する方法しか紹介していない。

これをVBA上のコードに転用するなら、”WorksheetFunction”で指定します。
まあ、このコードを紹介する人もネットでいなかったので、やってみました。

Sub ChrctrStrng() '郵便番号を表示する列を文字列にしておく
Columns(2).NumberFormatLocal = "@" 
End Sub

Sub ZIPFind() '郵便番号を取得するコード
Dim i As Long, Strng As String, Strng2 As String
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Strng = ""
Strng = Strng & Range("A" & i).Value
Strng = Strng & ""
Strng2 = WorksheetFunction.EncodeURL(Strng)
Range("B" & i).Value = WorksheetFunction.WebService("http://api.excelapi.org/post/zipcode?address=" & Strng2)
Next i
End Sub

コードの前提としましては、A列の2行目から住所一覧が書き出されています。
次に、B列に郵便番号を出力しますが、その前に文字列の16進数変換が入るな。

それをシンプルに書き出しただけなので、トライしたい人はやってみてたもれ。
ただ、 一日のアクセス数制限で百件まで無料なので、個人向け用途でしょう。

それ以上の数で逍遥に使うのなら、月額千円とお安いので使ってみる手はある。
というわけで、郵政公社が公開している郵便番号データは、あまり使えません。

CSVファイルでも10メガバイト以上とデータがバカでかく、しかも、郵便番号データにある先頭部分の「0」が消えないように文字列としてエクセルに読み込む作業も必要だったりとややこしいので、ここはネットで検索して取得する方が楽だなと思ったのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2024年9月4日水曜日

土も固まってしまって水はけも悪いし、空気の通りも悪ければ、そりゃ、植物だって窒息するわな ー ゼオライト(園芸用品)

        
昨年、挿し芽をしたアジサイに花が一輪咲いたのですが、夏を乗り切れません。
青葉も枯れだして、細い幹も茶色に代わってしまって、栽培をあきらめました。

もう一鉢の挿し芽で元気なアジサイは、この猛暑を何とか乗り切れそうな感じ。
一方、開花した苗は、深い七号八だったので、よもや枯れるとは思わなかった。

用土が悪かったのかと思って用土を取り出して観察すると、細かい微塵が多い。
これは、栽培に適する団粒構造とは違って、土の隙間もなくて通気性が悪そう。

水やりをすると泥のように固まってしまい、水はけも悪くて根腐れもしやすい。
そんな状態の用土でしたので、用土づくりが悪かったというのが、反省点です。

それで、用土の通気性や排水性を高めるには、その特徴を持った土を混ぜ込む。
一般に、多孔質資材と言うそうですが、内部に空洞や細孔を持つ資材なのです。

もしろん、土壌改良なのですが、土に混ぜ込むことで空気や水の通り道を作る。
植物が育ちやすい用土へ変身させる必要があるわけで、そんな材料を探そうか。

以前、そんな目的でパーライトの購入でコーナンへ出かけたこともありました。
その時、燻炭も併せて手に入れて使いましたが、もう使い切ってしまったんだ。

その後、ダイソーでパーライトを見かけたことがあったので、出かけてみよう。
やっぱり、百均で入手できるのであれば、コストもかからずお財布にやさしい。

それで、近所の店に行ったら、パーライトがなくて代わりにゼオライトがある。
商品名が”根腐れ防止ゼオライト”と包装に印刷されていて、これは園芸用です。

ゼオライトは、沸石(ふっせき)のことで一応鉱物として扱われる岩石なんだ。
この岩石を細かく砕いて小粒の石にして、袋詰めにしたのがこの商品という事。

原産地が中国の表記なんだけど、生水の濾過用に使うわけでもないから大丈夫。
ところで、用土に混ぜ込む割合が全く見当がつかなくて、ネットで調べてみた。

色々と書いてありましたが、鉢植えには10~20%ぐらいだろうと判断しました。
というわけで、用土の通気性を改善する多孔質資材には、色々とあるようです。

鹿沼土、日向土、バーミキュライト、もみ殻燻炭、ゼオライト、パーライト、バーク堆肥、ココピートなどがそうで、まあこういった素材を混ぜ合わせながら、植物にやさしい用土づくりを目指そうとする自分なのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2024年9月2日月曜日

VBAでフォームにコントロール(ボタン等)を動的に配置する方法がわかりにくいお話 ー Controlオブジェクト(VBAマクロ)

          
ユーザーフォームをこさえるテクニックを、一つ紹介しておきたいと思います。
普通は、コマンドボタンは、実行用に一つか二つぐらいしか配置しないだろう。

でも、自分でカレンダーをマクロで作ってみたいと思うような時、どうなるか。
ネットで検索するとコードは紹介されていますが、何だか複雑怪奇な書法です。

なので、最も簡便なコードを書いてみたので、参考にしてもらえればうれしい。
ロジックの基本は、部品をループ文で(動的に)作る手法ですが、実に簡単だ。

一方、コマンドボタンを一個ずつ手作業で作り、隣合わせにするのは困難です。
なので、トライ押してみたいと思う人は、次のコードを参考にしてみて下さい。

それで、部品をループ文で動的に作る手法は、クリックイベントが動きません。
一方、手作業でフォームに作ったボタンをクリックすると、勝手に起動します。

最初の一回目で自動的なプロシージャが作られても、ループ文では音沙汰なし。
なので、クリックしたイベント判定を自分でコードをこさえる必要はあります。

というわけで、判定コードの話は次の機会に譲るとして、今回はフォームまで。
実をいうと、このコードの手法で、モグラ叩きゲームまで作成できそうなことが分かって来て、色々と頭をひねっている自分なのでした。

※参考コード
Private Sub UserForm_Initialize() 'ユーザーフォームボタンの動的な生成
Dim MxNr As Long, i As Long
  MxNr = 42    'ラベルを作る個数
    For i = 1 To MxNr    'ボタンを動的に作る(Frame1の中に)
      Set newButton = UserForm1.Controls.Add("Forms.CommandButton.1", "CMD_Btn" & i)
        With newButton  'ラベルの詳細を設定
          .Width = 36
          .Height = 36
          .Left = LftNr(i)
          .Top = TpNr(i)
          .Font.Size = 16
          .Font.Name = "Jokerman" ’変わったフォントを指定しています
          .Caption = i
        End With
    Next
End Sub

Function LftNr(ByVal i As Long) ’関数プロシージャ(値渡し)
Dim j As Long
  j = i Mod 7
  Select Case j
    Case 1
      LftNr = 10
    Case 2
      LftNr = 10 + 36 * 1
    Case 3
      LftNr = 10 + 36 * 2
    Case 4
      LftNr = 10 + 36 * 3
    Case 5
      LftNr = 10 + 36 * 4
    Case 6
      LftNr = 10 + 36 * 5
    Case 0
      LftNr = 10 + 36 * 6
  End Select
End Function

Function TpNr(ByVal i As Long) ’関数プロシージャ(値渡し)
  Select Case i
    Case Is <= 7
      TpNr = 25
    Case Is <= 14
      TpNr = 25 + 36 * 1
    Case Is <= 21
      TpNr = 25 + 36 * 2
    Case Is <= 28
      TpNr = 25 + 36 * 3
    Case Is <= 35
      TpNr = 25 + 36 * 4
    Case Is <= 42
      TpNr = 25 + 36 * 5
  End Select
End Function



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村