- ベストアンサー
抜き出した文字を、隣のB列へ貼り付けるには?
下記コードを使用して、 たとえば、任意選択で、 「 A列で、任意の約12行 」 に実行させ、抜き出した文字を、隣のB列へ貼り付けるにはどおすればよろしいのでしょうか? 何卒、ご教授くださいませ。 ------------------- Sub tes1() Dim strString As String Dim strRightString As String strString = Range("A4") strRightString = Right(strString, 2) End Sub
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
質問の意味が良くわからない。補足を読んだ後も。 こういうことかな。 「どの列でも1列(に限り)選択する。選択した隣列に、各行の最後尾2文字を貼り付けたい」 なら Sub test01() Dim cl For Each cl In Selection Cells(cl.Row, cl.Column() + 1) = Right(cl, 2) Next End Sub Selectionというのを使わなくても、できると思うが 自分のコードとの関連を固執しないで、他の人ならどうするのか 勉強したほうが良いと思う。 VBから勉強された風に勝手に私は推測しますが、エクセルVBAなら、VBライクでできる方法だけでなく、エクセルVBAでないとできない方法がある場合があります。それを勉強してください。
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
マクロコードはA4セルの値の右2文字を変数に移送しているだけです。任意選択、任意の約12行も分かりませんし、C列を選択したらD列に貼り付けるのでしょうか? 少し補足いただかないと回答できないです。 任意に選択したセルから下方向の12のセルを隣のセルにコピーするなら Sub Macro() If TypeName(Selection) = "Range" Then Selection.Offset(0, 1).Resize(12, 1) = Selection.Resize(12, 1).Value End If End Sub エラー処理が不要なら中の1行だけでもいいです。
お礼
ご回答、誠に有難うございました。 皆様が満点でした。 非常に参考になる内容でございました。 未熟である私自身が判定を致さないといけませんので、何卒、ご了承下さいませ。
補足
ご回答誠に有難うございます。ご回答されたコードは実行できました。 内容不足で申し訳ありません。 おっしゃられるとおりでございます。A列がC列の場合は、D列へ貼り付けるのでございます。 データのある列の場所は任意の場所となります。 「 ご回答されたコード 」 と 「 質問しましたコード 」 のつなげ方ができないのでございます。 以上、よろしくお願い致します。 --------------- A B ・ ・ ・ ・ 4062501 1 5062502 2 5062503 3 3062504 4 3062505 5 3062506 6 9062507 7 9062508 8 9062509 9 9062510 10 10062511 11 10062512 12 ・ ・ ・ ・
- nobu555
- ベストアンサー率45% (158/345)
セルの選択している位置を先頭に、12行をコピーして 隣に貼り付けるマクロを考えてみました。 Sub COPY() 最初行 = ActiveCell.Row 最初列 = ActiveCell.Column ActiveSheet.Range(Cells(最初行, 最初列), Cells(最初行 + 11, 最初列)).Select Selection.COPY Cells(最初行, 最初列 + 1).Select ActiveSheet.Paste End Sub こんな感じですが、如何でしょうか。
お礼
ご回答、誠に有難うございました。 非常に参考になる内容でございました。 未熟である私自身が判定を致さないといけませんので、何卒、ご了承下さいませ。
補足
ご回答誠に有難うございます。ご回答されたコードは実行できました。 内容不足で申し訳ありません。 データのある列の場所は任意の場所となります。 「 ご回答されたコード 」 と 「 質問しましたコード 」 のつなげ方はどのようにすればよろしいのでしょうか? 以上、よろしくお願い致します。
お礼
ご回答、誠に有難うございました。 大変恐れ入りました。 質問内容が不足で申し訳ありませんでした。 おっしゃられるとおりでございます。