hide_kichiの情報

気になる情報を適当にアップしていきます

【VBA】function作成 文字列内の1桁数値に0を付ける(1->01・・・・)

f:id:hide_kichi:20210107154805j:plainf:id:hide_kichi:20210120094422j:plain
大好きな佐野ラーメンです。美味い!!

お題「#この1年の変化


コロナ禍ですが、仕事はテレワークもなく何も変わってません。

収入は減る一方です。

元気だして頑張るしかないです。

外食が少なくなりました。(そば・うどん・ラーメンくらいですかね)

飲みには今は行ってません。(若い時はよくいきましたが・・・・)

若い人気持ちはよくわかりますが、今は我慢です。

人が多いところも行かなくなりました。

最近ショックなのは、駅のショップがここ一か月で4店舗閉店しました。

コロナの影響だと思います。

早くもとの生活に戻りたいですね。

100%は無理かもしれないけれど・・・・・・

でも

笑顔で頑張りましょう!!

                                    

文字列内の1桁数値に0を付けなければいけないことがあったので

プログラミングしました。

忘れそうなので残しておきます。

しかも0を付ける数値は右から最初に見つかった1桁数値のみです。

VBAのソースは以下です。

'ーーーーーーーーーーーーーーーーーーーーーーーー
結果=blk_cnv4("10ABC2X")

'結果は、「10ABC2X」⇒「10ABC02X」

'ーーーーーーーーーーーーーーーーーーーーーーーー
 Function blk_cnv4(ByRef blk_x)
  '

        Dim work_s1 As String
        Dim work_s2 As String
        Dim work_s3 As String
        Dim work_len As Integer    '文字数
        
        Dim str1(20) As String     '1文字ずつ分解 19文字まで
        
        Dim str_1_0(20) As String  '1文字の数字か英字か 数字=0 英字=1
        Dim str2(20) As String       '1文字ずつ分解 19文字まで
        Dim str_nw(20) As String     '1桁の数値を2桁に変換したもの 0-9のみを変換 01は変換しない
                                     '  1->01  2->02  ・・・・・ 01->01  02->02
        
        

         
        work_len = Len(blk_x)
        work_s3 = blk_x
        work_s = blk_x
        '一文字づつ分解
        For i = 1 To work_len
            str1(i) = Mid$(blk_x, i, 1)
            str_nw(i) = Mid$(blk_x, i, 1)
        Next i
        '数字か英字かチェック 数字=0 英字=1
        For i = 1 To work_len
            str2(i) = Mid$(blk_x, i, 1)
            If IsNumeric(str2(i)) = False Then
                str_1_0(i) = 1
            Else
                str_1_0(i) = 0

            End If
            
        Next i
        Dim 文字W As String
        Dim 数字W As String
        Dim 数字W_CNT As Integer
        文字W = ""
        数字W = ""
        数字W_CNT = 0
        
        For i = work_len To 1 Step -1    '逆から確認
             
            If str_1_0(i) = 0 Then    '数字が見つかったら
                For j = i To 1 Step -1
                      If str_1_0(j) = 1 Then '2件目の文字ならば exit
                        GoTo jump300
                      End If
                      数字W_CNT = 数字W_CNT + 1  '数字カウント
                Next j
            Else
                
                文字W = str2(i) & 文字W    '逆から英字列を保管 3D4L -> 文字W="L”
            End If
            
        Next i
        
jump300:
        If 数字W_CNT = 1 Then
          
                                    Select Case Val(str2(j + 1))
                                    Case 1
                                        work_s2 = "01"
                                    Case 2
                                       work_s2 = "02"
                                    Case 3
                                       work_s2 = "03"
                                    Case 4
                                       work_s2 = "04"
                                    Case 5
                                       work_s2 = "05"
                                    Case 6
                                       work_s2 = "06"
                                    Case 7
                                       work_s2 = "07"
                                    Case 8
                                       work_s2 = "08"
                                    Case 9
                                       work_s2 = "09"
                                    End Select
                                    
                                   str_nw(j + 1) = work_s2
                                   work_s1 = ""
                                   For k = 1 To work_len
                                       work_s1 = work_s1 + str_nw(k)
                                   
                                   Next k
                                   
                                   work_s = work_s1
        
        End If
      '  MsgBox blk_x & "->" & work_s
        blk_cnv4 = work_s
    
    End Function

数多くの文字列を手で修正は大変です。

プログラムは一瞬です。

コスパのいい防犯アラーム届きました。

お題「#この1年の変化
f:id:hide_kichi:20210210104632j:plain

f:id:hide_kichi:20210210104627j:plain


コロナ禍、なかなか普段通りの生活が戻ってきませんが

昨年の後半から少しブログに、ハマってます。

気づいたことは皆さんのスキルがすごいこと!!

勉強になることがたくさん!!

考えさせられることがたくさん!!

自分にとってプラスになることがたくさん!!

です。

自分にはなかなかスキルがないけれど、

引き続き頑張ってブログやって行こうと思います。

ところで

防犯アラームが届きました。

操作もシンプルで良かったです。

早速バイクVTRに取り付けました。

両面テープが最初からついていたので、

10分くらいで取り付けました。

誤作動などはよくわかりませんが

少しほっとしています。

説明書は変な日本語?もありましたが

コスパいいので良しとします。

何か不具合あったらまた報告します。

「はようつけりゃえかった」

【食】寄島のカキ!!食べに行きました。

f:id:hide_kichi:20210208082402j:plain
カキ天ぷら丼 1080円 美味いです!!
f:id:hide_kichi:20210208155303j:plain
かきづくし1450円 美味い!!

今週のお題「鬼」
カキの鬼になってます。

先週、「安浦」に行き、少し納得できなかったので、

今週は「寄島」に行ってきました。

相変わらず、開店前から人が多かったですが、

なんとか開店と同時に入店できました。

美味かった!!

結果:安浦より良かった!!かも??

いつものカキでした、

納得しました。

【食】今年のカキ???

f:id:hide_kichi:20210203134602j:plain
900円(税込み)うどんも美味い

今週のお題「鬼」
節分の恵方巻よりカキフライにしました

今年のカキは裏年?
少し残念です。

ここ3年、カキのシーズンには「安浦」にカキフライを食べに行きます。

毎年感動してました。

しかし、今年は感動が少なかったのです。

もしや不作ですか?

このような年が実は必ずあります。

でも美味しかった!!

カキは美味い!!

それから、岡山の「寄島」にも行くけれど

人が多いのでいま行くのをやめてます。

【VBA】EXCELフィルター操作をF1キーにセット

今週のお題「鬼」
EXCELで仕事される鬼の方是非必読です。

f:id:hide_kichi:20201201144005j:plain
EXCELマクロの超初心者向け


EXCELを操作する上でよく使用する操作をファンクションに設定することができます。

例えば
フィルター操作:[データ]-[フィルター]⇒F1キーに
設定します。(筆者はこれで仕事しています)


手順は

1.マクロを有効にしてください。
  以下を参照してください。
  https://kabu-macro.com/detail.php?dir=macro_kiso&uri=macro-effective 

2.以下のソースを作成します。

Sub f1set()
'
' フィルター実行をF1に
'
'
 Application.OnKey "{F1}", "autofil"


End Sub

Public Sub autofil()
    
    Cells.Select
    Selection.AutoFilter
    
End Sub


3.マクロ"f1set"を実行します。

4.フィルター操作が必要なEXCELファイルを開きます。

5.F1キーを押します。

6.ファイルを解除する場合は、再度F1キーを押します。

ちょっとしたことですが、これが便利なのです。

EXCEL操作が少し楽になります。

超簡単ですから皆さんも是非!!

コスパの良い防犯アラームをさがしました。

f:id:hide_kichi:20210120094428j:plain



今週のお題ふるさと納税
ふるさと納税、勉強不足です。。。。。。。

f:id:hide_kichi:20210125135617p:plain

アマゾンでコスパの良い防犯アラーム探しました。

ヘルメットが盗難に会ったので

念のためバイク本体にも防犯アラームをつけておこうと思います。

また設置したらどんな感じか報告しますね。

簡易モバイルバッテリー(18650)を試した

f:id:hide_kichi:20210120094331j:plain


簡易モバイルバッテリー テスト

古いスマホの電池が切れたので、簡易モバイルバッテリーを試しました。

ちゃんと充電しました。

フルにバッテリー充電してスマホは50%程度でした。

ということはあと2本追加すれば100%までいくの?

とりあえず、緊急性があるモバイルバッテリーの目的は達成しました。

少しケースが安っぽくぼろいですが

コストパフォーマンスがいいので納得しています。

バッテリーが劣化したらバッテリーのみ購入すればいいのも気に入ってます。

先日

電車のなかで職人さんが仲間に18650LEDライトを見せて自慢してました。

「こりゃブチえんじゃあ。もちはええし、あかりーし、えかろー。」

「ユーホー(ホームセンター)で4000円したねえ」

方言なしにすると
「これはすごくいいのだ。バッテリーのもちはいいし、明るいし、いいだろ。」

巷で18650バッテリーが浸透してきたんだなあと思いました。