特定の文字をくっつける

基幹システムにインポートするための下準備を効率よく出来ないかなぁ・・・

次のようにインポートコードが入力されている【インポート】シートがあります。このインポートコードを基幹システムに取り込むための準備として前後にシングルクォーテーション(‘)を付けなければならないとすると、みなさんはどのようにやりますか?

手動でやる人、関数を使う人、他のソフトで加工する人と様々だと思います。

どのやり方も正解ですが、データ数が多い場合も考えるとVBAを使って自動化したほうが効率かつ効果的にシングルクォーテーション(‘)を付けることが出来ます。

Excel VBAを覚えるためには、簡単な機能を試しに作ってみることがとても重要です。

頭の体操感覚でぜひチャレンジしてみましょう。

完成イメージ

【インポート準備】のボタンをクリックすると、インポートコードの前後にシングルクォーテーション(‘)を付けます。

マクロの登録

[crayon-673f14c72df33689538435/]

上記コードを【インポート準備】ボタンに登録してください。

※ SyntaxHighlighter Evolvedのプラグインを使ってコードを貼り付けていますが、&が特殊文字の&となってしまっています。

現在、解決方法が不明なためコードを使用される場合は&を&に置き換えてください。

[crayon-673f14c72df39380478482/]

Cells(.Rows.Count, 1).End(xlUp).Rowを使用して、インポートコードが増えてもいいようにしています。

[crayon-673f14c72df3b913949907/]

【インポート準備】ボタンをクリックした回数分シングルクォーテーション(‘)が入力されないように、すでにシングルクォーテーション(‘)が付いていた場合は処理が出来ないようにしています。

さいごに

VBAを使うと面倒な作業も即座に終わらせることが出来ます。

もし、くっつける文字が頻繁に変わるようであれば、くっつける文字を特定のセルに入力してもらい、その値を指定するコードに書き換えてみてください。

ユーザが任意に指定出来るようになるとシステム感が増しますよ( ・∇・)