エクセルVBAについておたずねします。以下のマクロを作成してください。



任意のシートで、任意の列が指定されているとします。ただしブック内の全てのシートには列ごとに同じ文字列が入っているとします。


先ほど指定した列の2行目にある文字列を読み取り、シート1の同じ列にある文字列に「ひかり」、シート2の同じ列に「のぞみ」という文字列を付け加えてください。


例えばC列が指定されている状態で、そのブック内の全てのシートのC列には「新幹線」という文字列が入っているとするなら。シート1のC列には「新幹線ひかり」、シート2のC列は「新幹線のぞみ」という感じになるようにしてください。置換作業で処理させるというイメージでしたが、処理に関しては思い通りにできるならどのような形でもかまいません。ただしそれぞれのシートのC列にある文字列は何行まで書かれているか分かりません。その最終行まで同一の処理がなされるようにしてください。


以上、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/02/27 10:04:58
  • 終了:2007/02/27 10:52:18

回答(1件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/02/27 10:22:00

ポイント100pt
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+q
'
    a = Selection.Column
    For b = 1 To 65536
        If Worksheets("シート1").Cells(b, a) = "" Then Exit For
        Worksheets("シート1").Cells(b, a) = Worksheets("シート1").Cells(b, a) & "ひかり"
    Next b
    
    For b = 1 To 65536
        If Worksheets("シート2").Cells(b, a) = "" Then Exit For
        Worksheets("シート2").Cells(b, a) = Worksheets("シート2").Cells(b, a) & "のぞみ"
    Next b
    
End Sub

これでいいのかな?

>先ほど指定した列の2行目にある文字列を読み取り

この読んだ結果を どうするのかは 書いてないので 2行目は 読んでないです。

最初に選択した行のシート1とシート2に それぞれ 文字列を 付与しています。

id:taroemon

ご回答ありがとうございます。

完璧に望んだ物でした。

2007/02/27 10:51:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません