「だるころ」(だぁ~るまさんがこぉ~ろんだ♪)

「だるころ治療院」を開設しようと思って、はてなブログを作りました。 https://darucoro.com/

インストリング関数(InStr関数)


スポンサーリンク

★読者登録お願いします

 


 

 



 

 

 VBA(InStr関数)

 

Instr関数の基礎的な使い方を少し紹介します。

エクセルで使うワークシート関数の方が難しいです。

ワークシート関数を組み合わせて使える人ならVBA関数は簡単かもです。

(因みに、僕はワークシート関数を組み合わせて操ることは出来ません)

VBA関数はルールさえ抑えれば、比較的使いやすいと思います。

InStr("使いたいところ",探したい文字)

ex. InStr("田村  誠" ,"  ") →スペース(空白)が3文字目にあるから「3」を返す

 

f:id:darucoro9216kun:20200321100101p:plain

’=================================’
Sub Shimei()
    Dim i As Long
    For i = 2 To              
    Cells(Rows.Count,1).End(xlUp).Row
    Dim ST As String
    ST = InStr(Cells(i, 1), " ")
   
        Cells(i, 2) = Left(Cells(i, 1), ST - 1)
        Cells(i, 3) = Mid(Cells(i, 1), ST + 1)
      
    Next  i
End Sub

’==================================’

変数に「3」を入れてる感じです。

Left関数

Left(”使いたいところ”,抜き出す文字数)

この場合 変数STは3ですから.....。

Left(”田村  誠”,3-1)→ 空白の一つ手前から抜き出す感じです。

 

Mid関数

Mid(”使いたいところ”,スタート,抜出文字数)

この場合 変数STは3ですから.....。

Mid(”田村  誠”,3+1,指定しない)→指定しないと最後までを抜き出してくれる。

 

もちろん、VBAっぽくしたい場合はもっと簡単に抜き出せますよ!

 

’===================================’

Sub spill()

    Dim i As Long
    For i = 2 To  
    Cells(Rows.Count,1).End(xlUp).Row
    Dim SP As Variant
    SP = Split(Cells(i, 1), " ")
    
       Cells(i, 2) = SP(0)
       Cells(i, 3) = SP(1)
   
    Next  i
   
End Sub

 ’===================================’

配列を使えばVBAっぽくなります(笑)

でも、配列が「0」からスタートするとか、配列の時は変数の型はVariantにするとか、Split関数を知ってないと使えないとか....。色々ルールがあります。

「こんな少ない行で最終行を指定させるの?」って突っ込まれそうですが、その辺はお許しください。

(本来なら必要な部分の行For i =2 to  4を指定すればいいと思います)

 

「変数の指定の仕方も変」って言われそう(涙)

キャメルケースやスネークケースをあまり使ったことが無いので、ご勘弁ください。

変数は「変数」って分かるように大文字で指定しています。

 

VBAを頭のスポーツとして楽しんでいます。

VBAを毎回公開すると少数しか見てくれないと思うので、たまに公開します。

たまになので、どうかお付き合いください。

 

※ワークシート関数は分割して、一つ一つセルに抜き出して使ってまーす! 組み合わせると後で修正するの大変です。

ネット上で見事に組み合わせて使ってる人を見たら、目を塞ぐようにしてます(笑)

友だち追加

 

 

プライバシーポリシー