Exelにて、1つの文字列を複数のセルに振り分け記入する方法をご教示いただけませんでしょうか。

VABなどをでシステム的に行いたいです。

振り分ける文字列はバーコードで読み取ったもので、必要な部分のみ(複数)をセルに入力したいので、
専用のBOXが起動するようなシステムにしたいです。
例)119123456789 → セルA1 119 A2 12345

どなたか詳しい方ご教示いただけませんでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

質問は2つある様な気がします。


1.バーコードで読む
2.その文字列を分解して別々のセルに代入

回答
1.バーコードで読む
読み取りの作業についてはマクロは関係ありません。
A1セルを選択した後に、バーコードリーダーで何らかの値を読み込むと、その数値が A1セルに入ります。
キーボードやテンキーで数値を入れるのと同じ作業です。

2.その文字列を分解して別々のセルに代入
1.でA1セルに入れたとします。それをA2,A3に分解して格納する例は以下。

Sub SAMPLE()
Dim Sh1 As Worksheet
Set Sh1 = Worksheets("Sheet1") 'EXCELのシート名

'先頭1桁目から3個をA2に入れる
Sh1.Range("A2").Value = Mid(Sh1.Range("A1").Value,1,3)

'先頭4桁目から5個をA3に入れる
Sh1.Range("A3").Value = Mid(Sh1.Range("A1").Value,4,5)

Application.StatusBar = False
End Sub
    • good
    • 0
この回答へのお礼

ご教示誠にありがとうございました。
非常に仕事効率が上がります。

お礼日時:2016/01/19 14:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QEmacsでの開発における文字列検索

UbuntuでEmacsを使ってC言語のプログラミングをしようとしてるのですが、
ソースコード内の変数等の文字列に対して、
その定義場所にジャンプしようとしたり、
特定のフォルダ内でその文字列を検索しようとする場合、
どんな方法がよく使われるですか?Emacsのgrepですか?

今まではWindowsでIDEを使ってたのでほとんど何も知りません。
よろしくお願いいたします。

Aベストアンサー

Exuberant Ctags, etags, GNU globalあたりでしょうか。

Qファイルの中の文字列検索 windows

コマンドプロンプトでもWindowsの機能でもよいのですが、
やりたいのが、文字列を打った時にその文字列が入っているファイルを
探したいのです。それを、パソコン全体または、ドライブの中から、検索する
ようにしたいです。 そんなことが出来たら、便利だなと思い投稿しました。
もちろん、フリーソフトとかでもあれば、教えてもらいたいです。

Aベストアンサー

私のつたない記憶ではWindowsXP以降ならWindowsの検索機能の中にファイルの中の文字列も含めて検索できるようになっているはずです。方法は、ご自身の「Windowsのバージョン ファイル内検索方法」でGoogleなどで検索してみてください。

Qsedで\を含む文字列へ変換

テキストファイルの中で
zeta0
となっている部分を
\zeta_0^p
へ一括して変換したいのですが、

tex でコンパイルできるソースに変換するために
ネット上の情報を参考にして

$ sed -e "s/zeta0/\zeta_0^p/" 01.tex > 02.tex
$ sed -e "s/zeta0/\\\zeta_0^p/" 01.tex > 02.tex
$ sed -e "s/\zeta0\/\\\zeta_0^p\/" 01.tex > 02.tex
$ sed -e "s/zeta0/\\\zeta_0^p&/g" 01.tex > 02.tex

などとやってみましたが、どれもうまくいきません。
どう書けばうまくいきますか?

教えて下さい。
よろしくお願いします。

Aベストアンサー

sed -e "s/zeta0/\\\zeta_0^p/" 01.tex > 02.tex

一応、これでも動くはずですが。
どのように「うまくいきません」なのでしょうか?



引数の作り方ですが
まず、sedに送りたい文字列を考えます
s/zeta0/\\zeta_0^p/
\は、sedで解釈されて、メタ文字の切り替えや引用等に使われます。
そのため、\という文字を扱うには\\とする必要があります。

次に、シェルで、上記文字列を表現する方法を考えます。
ダブルクオートは、\によるエスケープシーケンスを解釈して置換します。
そのため、\という文字を扱うには\\とする必要があります。
"s/zeta0/\\\\zeta_0^p/"
※ 3つでも動いたのは、 ダブルクオートの場合は\zというシーケンスが無く、変換されずに残ったためです。

ですが、この文字列の中では、変数展開などを使っていません。
ならば、シングルクオートを使えば、特殊文字の展開やエスケープを考えずに済みます
's/zeta0/\\zeta_0^p/'

set -x と入力したあと各コマンドを実行すると、上記のシェルによる置き換え後のコマンドラインが表示されるので、自分の期待る文字列になっているか確認できます。
シェルの種類によっては、上記の展開が違う場合もあります。

sed -e "s/zeta0/\\\zeta_0^p/" 01.tex > 02.tex

一応、これでも動くはずですが。
どのように「うまくいきません」なのでしょうか?



引数の作り方ですが
まず、sedに送りたい文字列を考えます
s/zeta0/\\zeta_0^p/
\は、sedで解釈されて、メタ文字の切り替えや引用等に使われます。
そのため、\という文字を扱うには\\とする必要があります。

次に、シェルで、上記文字列を表現する方法を考えます。
ダブルクオートは、\によるエスケープシーケンスを解釈して置換します。
そのため、\という文字を扱うには\\...続きを読む

QLinux 全角文字・半角文字混在の16進数の文字列変換について(SJIS,UTF8)

質問タイトルのままですが、16進数の文字列変換について非常に困っています。
皆さんのお知恵をお貸しいただけないでしょうか。

サーバ間のメッセージのやり取りで、受信側にて16進数となっているデータをテキストに変換をしています。
送信側文字コードがUTF-8の場合は、以下のコマンドで問題なく変換できています。
(コマンド例)
  コマンド:echo -n 'e3 81 93 e3 82 93 e3 81 ab e3 81 a1 e3 81 af' |xxd -r -p
  実行結果:こんにちは

ところが送信元文字コードがsjisの場合、文字化けしてしまいます。

(コマンド例)
  コマンド:echo -n '82 b1 82 f1 82 c9 82 bf 82 cd' |xxd -r -p
  実行結果:ア・ソヘ

この場合、まずは、sjisのテキストにデコードした後に、UTF-8に変換するのかなと考えていますが、
どのようにしたら良いかわかりません。

どなたかご教授願えないでしょうか。

よろしくお願い致します。

質問タイトルのままですが、16進数の文字列変換について非常に困っています。
皆さんのお知恵をお貸しいただけないでしょうか。

サーバ間のメッセージのやり取りで、受信側にて16進数となっているデータをテキストに変換をしています。
送信側文字コードがUTF-8の場合は、以下のコマンドで問題なく変換できています。
(コマンド例)
  コマンド:echo -n 'e3 81 93 e3 82 93 e3 81 ab e3 81 a1 e3 81 af' |xxd -r -p
  実行結果:こんにちは

ところが送信元文字コードがsjisの場合、文字化けして...続きを読む

Aベストアンサー

Shift_JISの文字列としては正しく変換できています。

どうすればいいかは、あなたがどうしたいか、によります。

端末に表示したいだけなら、xxd で16進→バイナリ(実態はShift_JIS)に変換したものを、 nkf 等でUTF-8に変換となります。
ですが、ExcelのようなShift_JISを期待するアプリで使うなら、Shift_JISのまま扱うのが便利です。

Qwin7の複数フォルダの検索条件の保存

win7ではフォルダを開いたあとそのフォルダを検索して検索したものを保存する方法があります。
http://www.microsoft.com/ja-jp/atlife/tips/archive/windows/tips/270.aspx

これで複数のフォルダの検索条件を保存する方法はありますか?
AのフォルダのwmvとBのフォルダのwmvを検索したあと
そのA,Bのwmvだけを検索したものを同時に表示する方法です。

Aベストアンサー

普通に"dir"コマンドを使ってはダメなんですか?

Aのフォルダのwmvファイルだけを"dir"コマンドを使って表示したものを標準テキストファイルとしてA_wmv.txtとして出力。
Bのフォルダのwmvファイルだけを"dir"コマンドを使って表示したものを標準テキストファイルとしてB_wmv.txtとして出力。

その両方のファイルをテキストエディタでもメモ帳ででも開けば一覧にはなりますが。


そのフォルダ内のwmvの拡張子のファイル一覧をa_wmv.txtのテキストファイルにするなら以下のコマンドで出来ますよね。
"dir *.wmv > a_wmv.txt"


"同時に"とか"一度に"という事ならバッチファイルにすれば、一度に出来ますね。
dirコマンドのオプションパラメータはいろいろありますから、調べてみると良いと思います。


人気Q&Aランキング

おすすめ情報