Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6675 / 13644 ツリー ←次へ | 前へ→

【43781】セルに文字を入力したとき ちっち 06/10/25(水) 16:06 質問[未読]
【43783】Re:セルに文字を入力したとき だるま 06/10/25(水) 16:23 回答[未読]
【43815】Re:セルに文字を入力したとき ちっち 06/10/26(木) 11:10 質問[未読]
【43832】Re:セルに文字を入力したとき ちっち 06/10/26(木) 14:49 お礼[未読]

【43781】セルに文字を入力したとき
質問  ちっち  - 06/10/25(水) 16:06 -

引用なし
パスワード
   はじめまして。
VBA初心者です。教えてください。

セルC1、D1、E1(全て文字列)にデータが入力されれば、F1にその文字列および固定文字を使って新たな文字列を作りたいのですが、どの様にしたらよいか教えてください。
changeとか使うのでしょうか?
ユーザーフォームでの記述はなんとなくわかるのですが、3つのセルに入力した時に実行されるようにする方法が、よくわかりません。

最初はF1に”CONCATENATE”を記述してするつもりでしたが、それだと値の貼り付けをしない限り、CONCATENATE文がセルに残ります。
このセルの文字列を他(エクセル以外)で使いたいので、文字列(値)としてF1に入れたいのですが…。

【43783】Re:セルに文字を入力したとき
回答  だるま WEB  - 06/10/25(水) 16:23 -

引用なし
パスワード
   こんにちは

こんな感じでいかがでしょうか。^d^
(対象のシートモジュールにコピペしてください。)

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  Dim RR As Range
  Dim R As Range
  Dim S As String
  
  Set RR = Range("C1,D1,E1")
  If Intersect(RR, Target) Is Nothing Then Exit Sub
  S = ""
  If Application.WorksheetFunction.CountA(RR) = RR.Count Then
    S = "固定文字"
    For Each R In RR
      S = S & R.Value
    Next
  End If
  Range("F1").Value = S
End Sub

【43815】Re:セルに文字を入力したとき
質問  ちっち  - 06/10/26(木) 11:10 -

引用なし
パスワード
   ▼だるま さん:

早速の回答、ありがとうございます。

頂いたコードで、確かに動きました。(すごい!)

でも、実は、1行目だけでなく、変更した行について行いたいのです。
例えば、C5,D5,E5を入力すれば、F5に、
    C10,D10,E10を入力すれば、F10に
文字列を入れたいのですが、入力or変更した行をどうやって判別すればよいのか、教えてください。


>こんにちは
>
>こんな感じでいかがでしょうか。^d^
>(対象のシートモジュールにコピペしてください。)
>
>Private Sub Worksheet_Change(ByVal Target As Excel.Range)
>  Dim RR As Range
>  Dim R As Range
>  Dim S As String
>  
>  Set RR = Range("C1,D1,E1")
>  If Intersect(RR, Target) Is Nothing Then Exit Sub
>  S = ""
>  If Application.WorksheetFunction.CountA(RR) = RR.Count Then
>    S = "固定文字"
>    For Each R In RR
>      S = S & R.Value
>    Next
>  End If
>  Range("F1").Value = S
>End Sub

【43832】Re:セルに文字を入力したとき
お礼  ちっち  - 06/10/26(木) 14:49 -

引用なし
パスワード
   なんとかできました。

ありがとうございました。

6675 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free