- 締切済み
セルの文字列にあうセルに数値を移動させる。
VB初心者で頑張っているのですが なかなかうまく作成できないので、よろしくお願いします。 シート1のB4には もも、りんご、みかん のどれかが入力されます。そしてC5には単価が入力されています。 もしシート1のB4にももが入力されたらももの単価(シート1のC5の値)をシート2のA2へ、 もしシート1のB4にりんごが入力されたらりんごの単価(シート1のC5の値)をシート2のA5へ、 もしシート1のB4にみかんが入力されたらみかんの単価(シート1のC5の値)をシート2のA8へ 値を移動させたいと思っています。 できそうなのですが、どうしてもできません。 どうぞよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- NURU_osan
- ベストアンサー率50% (297/593)
会社では使ってるんですが、自宅のPCにはExcelが入っていないのでうろ覚えで回答します。 Private Sub WorkSheet_Change(Byval Target As Range) If Target.Address="$B$4" Then Select Case Target.Value Case "もも" WorkSheets("Sheet2").Range("A2").Value=Range("C5").Value Case "りんご" WorkSheets("Sheet2").Range("A5").Value=Range("C5").Value Case "みかん" WorkSheets("Sheet2").Range("A8").Value=Range("C5").Value End Select End If End Sub でいけると思います。 ただし、これはC5に既に値段が入っていないと動作しません。 >もも、りんご、みかん のどれかが入力されます。そしてC5には単価が入力されています。 という質問文から、C5には予め単価が入力されているという前提で考えてあります。あと、フールプルーフは考えていませんので、C5に数値以外のものが入力されていてもやっぱり書き写してしまいます。 ま、上の構文の一部をちょっと変えればどのようにでも対応できますので、いろいろ自分で試してみてください。 それぞれの命令文の意味は確認した上で、試してみてくださいね。
補足
本当に初心者ですみません。 Privete Subの実行ができません。 できればSubから始めたいのですが できますか?