• ベストアンサー

VBAの構文をお願いします Excelです

宜しくお願いいたします。 Rigth関数をVBAで行うときの構文教えてください。 Sheet1のA1セルに123456があります、Sheet2のA1セルに右から2つすなわち56をコピーするにはどのように構文すればよいのですか。Lefe、Midもこれが分かればできると思います。

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

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

VBAの文字列操作でもエクセル関数で書く場合と同じ引数を使用します。 VBAコードにサンプルのコードを提示しています。 A2、A3セルにMid、Leftの結果も書出しています。 tarやws変数に対象のセルA1や、出力先のシートSheet2を格納して利用していますが Worksheets("Sheet2").Range("A1").Value = Right(Worksheets("Sheet1").Range("A1").Value, 2) 上記と同じ意味になります。 結果を画像添付いたします。 (B列にはエクセル関数を使用した結果を載せています) ■VBAコード Sub sample() Dim tar As Range Dim ws As Worksheet 'オブジェクトをセット Set tar = Worksheets("Sheet1").Range("A1") Set ws = Worksheets("Sheet2") 'Right(右から2文字) ws.Range("A1").Value = Right(tar.Value, 2) 'Mid(左より3文字から2文字) ws.Range("A2").Value = Mid(tar.Value, 3, 2) 'Left(左から2文字) ws.Range("A3").Value = Left(tar.Value, 2) End Sub

関連するQ&A