pickup

今まで、初体験でした。

参照するキーがなく、データを転記することになるとはね。

データベースは、正しく作成しましょう。

目次

スポンサーリンク

そんな馬鹿な?

 

こんにちは。伊川(@naonaoke)です。

題名で、釣ったわけではないのですが、

いや、俺がばかなだけなのか、わかりません。

競馬のデータベースばかり作成しているので、忘れたかもしれません。

 

最近、会社で、やたら個人情報の転記の業務がありました。

個人情報は、怖いので、コピペをするくらいなら、VBAで転記します。

しかし、参照するキーがないので、5分ほど、固まりました。

その対処法を紹介します。

 

 

 

 

スポンサーリンク

このブログはこんな人にお勧め

 

今回のテーマ
  • 転記業務がやたら多い人
  • 参照するキーがなくて困っている人
  • VLOOKUP神話を信じている人

 

このブログを、読み終わるころには・・・・

 

このブログの結論

創意工夫で、何でも出来てしまいます。

本当は、関数で、サクサクやりたかったのですが、できませした。

解決策は、For eachで解決しました。

 

 

スポンサーリンク

For each Next構文

 

For Next

Do Loop

この次位に有名でしょうか?

田中先生が、For eachで配列を利用する場合は、ほとんどないと、仰っていましたので、その辺は無視します。

VBAでは、ほぼ、For Nextで、完了します。

しかし、例外的にも、For eachは、知っておいたほうが良いでしょう。

For Nextを理解していれば、なんてことはありません。

 

参照するキーがない 作業手順 その1 データベースを確認

 

このようなデータベースがあるとします。

 

上記のように整形したいのです。

まさか、郵便番号の横に、住所があるとは思いませんでした。

誰だ?こんなデータベースを作成したのはと、叫んでいました。

 

実は、WEB上のデータを、コピペして、データを整形します。

CSVも個人情報なので、吐き出すこともできないです。

参照するキーもないです。

 

参照するキーがない 作業手順 その2 For eachで解決

 

上記のように整形したいのです。

まさか、郵便番号の横に、住所があるとは思いませんでした。

誰だ?こんなデータベースを作成したのはと、叫んでいました。

 

実は、WEB上のデータを、コピペして、データを整形します。

CSVも個人情報なので、吐き出すこともできないです。

参照するキーもないです。

 

参照するキーがない 作業手順 その2 For eachで解決

こんな感じで書きました。

 

A列の1000までに、住所という言葉があったら、

その横の郵便番号をシート2のセルB10へ転記する

そして、住所から、1こ下がって、その横の住所を、シート2のセルB11へ転記する

 

こんな感じで解決しました。

 

 

 

ここがポイント

 

ここがポイント
Function8.png
さすがに今回は困りました。
でも、多分、この方法よりも、良い方法があると思います。
また、WEBのシステムから、コピペしていますので、転記したいワードの位置がずれるとおしまいです。
その辺のところは、もっと上手くコードの記載が必要なのでしょうが、緊急でしたので、こんなコードになりました。
Excelのループは、要領よく利用することが大切ですね。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

 

もっと良い方法があれば教えてください。

よろしくお願いします。
今回のサンプルファイルは、No309 です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

 

スポンサーリンク

Twitterでフォローしよう

おすすめの記事