こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルのマクロについて 文字列操作について

文字列操作で困っています。
A3セル以下、A列に、04/、03/、99/。。。と文字列が入力されており、それぞれ、最初の2文字を取り出して数字に変換し、それぞれを変数 qwe1 qwe2 qwe3 ... に代入したいのです。
そのための構文が知りたいのです。
また、文字列のまま、たとえば上記の/を、変数 asd に代入するにはどうしたらよいのでしょうか?
ちなみに、
Range("B3").Select
ActiveCell.FormulaR1C1 = "=VALUE(MID(R[-2]C[1],1,2))"
という形の構文で、一旦エクセルのセルに代入して、再度、変数に放り込む形だとうまくいくのですが、数列、数十行同じ作業を繰り返すために、for next 構文を使わないと、不便で使い物になりません。
そこで、R[-2]C[1] の部分に cells(qwe,1)を使ってもエラーが出てうまく作動しませんでした。
なお、エクセル2003、OS=XPです。
再度要約しますと、
1.文字列の一部を取り出して数字に変換し、それを変数に代入したい。
2.文字列の一部の文字を取り出して、それを変数に代入したい。
3.上記1,2を繰り返すので、その繰り返すことが出来る構文が知りたい。
以上です。
どなたか教えてください。

投稿日時 - 2004-06-01 22:00:20

QNo.877939

すぐに回答ほしいです

質問者が選んだベストアンサー

Sub test01()
For i = 1 To 10
m = Mid(Cells(i, "A"), 1, 2)
n = StrConv(m, 8)
Cells(i, "B") = Val(n)
Cells(i, "C") = Mid(Cells(i, "A"), 1, 2)
Next i
End Sub
・For文の10は勝手に決めてますが、最終行を自動で取る方法もあります。
・B列、C列の書式をそれぞれ、数値、文字列にしておくこと。勿論VBAで設定も出来ます。
・MidはLeft関数でもできます。

投稿日時 - 2004-06-01 22:32:13

お礼

いつもありがとうございます。
一気に問題が解決しました。
大変助かりました。
どうもありがとうございました。

投稿日時 - 2004-06-01 22:55:12

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問