Excel VBA質問箱 IV

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

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


12695 / 13646 ツリー ←次へ | 前へ→

【9139】任意のシート以外にマクロを実行させる2 ゆう 03/11/19(水) 13:46 質問
【9144】Re:任意のシート以外にマクロを実行させる2 INA 03/11/19(水) 14:30 回答
【9146】Re:任意のシート以外にマクロを実行させる2 ゆう 03/11/19(水) 14:56 質問
【9147】Re:任意のシート以外にマクロを実行させる2 INA 03/11/19(水) 15:00 回答
【9149】Re:任意のシート以外にマクロを実行させる2 ゆう 03/11/19(水) 15:26 お礼
【9151】Re:任意のシート以外にマクロを実行させる2 INA 03/11/19(水) 16:02 回答
【9153】Re:任意のシート以外にマクロを実行させる2 ゆう 03/11/19(水) 16:50 お礼

【9139】任意のシート以外にマクロを実行させる2
質問  ゆう  - 03/11/19(水) 13:46 -

引用なし
パスワード
   こんにちは。
シートが複数存在します。
シート「Data」のA列2行目に12/1など、毎月1日の日付が入力されています。
シート「Data」、「データ元」以外のシートにマクロを作業させたいです。

1.シートのV列2行目に、シート「Data」のA列2行目の値を貼り付ける。
2.その値をコピーして、V列3行目から200行目までにコピーをする。
3.シート「Data」、「データ元」以外のシートに行う。
という作業を、行うマクロを、
以前教えて頂いたマクロを参考に作成してみましたが、

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=9102;id=excel

うまく動きません。
どこがおかしいのでしょうか?
よろしくお願いします。

Dim myWs As Worksheet

  For Each myWs In Worksheets
    If myWs.Name <> "Data" And myWs.Name <> "データ元" Then
     Range("V2").Select
     ActiveCell.FormulaR1C1 = "=data!RC[-21]+1"
     Range("V2").Select
     Selection.Copy
     Range("V3:V200").Select
     Range("V200").Activate
     ActiveSheet.Paste
     Application.CutCopyMode = False
    End If
  Next myWs

End Sub

【9144】Re:任意のシート以外にマクロを実行させる...
回答  INA  - 03/11/19(水) 14:30 -

引用なし
パスワード
   Dim myWs As Worksheet

For Each myWs In Worksheets
  If myWs.Name <> "Data" And myWs.Name <> "データ元" Then
    myWs.range("V2:V200").value = _
    worksheets("Data").Range("A2").value 
  End If
Next myWs

End Sub


かな・・?

【9146】Re:任意のシート以外にマクロを実行させる...
質問  ゆう  - 03/11/19(水) 14:56 -

引用なし
パスワード
   ▼INA さん:
ありがとうございます!
値の入力ができました。

お手数をお掛けして申し訳ないのですが、
もう1つ質問をお願いできますでしょうか?
教えて頂いた作業で、各シートに毎月1日の日付が入りました。
これを、シート2枚目なら11/1、3枚目なら11/2になるように
したいのですが、
myWsではなく、シート1つ1つ作業を指定しなくては
ならないでしょうか?
毎月の更新をどのようにしたら良いか
方法が分からず、困っています。
よろしくお願いいたします。

【9147】Re:任意のシート以外にマクロを実行させる...
回答  INA  - 03/11/19(水) 15:00 -

引用なし
パスワード
   シート名をどうするのかによりますが・・・

Dim myWs As Worksheet
Dim i as long

For Each myWs In Worksheets
  If myWs.Name <> "Data" And myWs.Name <> "データ元" Then
    myWs.range("V2:V200").value = _
    worksheets("Data").Range("A2").value + i 
    i = i + 1
  End If  
Next myWs

【9149】Re:任意のシート以外にマクロを実行させる...
お礼  ゆう  - 03/11/19(水) 15:26 -

引用なし
パスワード
   ▼INA さん:
ありがとうございます!!
できました!!

現在作成中のため、
シート名は、「日」や「日(2)」、「コピー日」
など、ばらばらだったのですが、

If myWs.Name <> "Data" And myWs.Name <> "データ元" Then

以外のシートに、きちんと入りました。
本当にどうもありがとうございました!


>シート名をどうするのかによりますが・・・

【9151】Re:任意のシート以外にマクロを実行させる...
回答  INA  - 03/11/19(水) 16:02 -

引用なし
パスワード
   >現在作成中のため、
>シート名は、「日」や「日(2)」、「コピー日」
>など、ばらばらだったのですが、

もし、シート名も付けるなら、こんな感じかな・・・

Dim myWs As Worksheet
Dim i as long

For Each myWs In Worksheets
  If myWs.Name <> "Data" And myWs.Name <> "データ元" Then
    myWs.range("V2:V200").value = _
    worksheets("Data").Range("A2").value + i 

    myWs.Name = i & "日"

    i = i + 1
  End If  
Next myWs

【9153】Re:任意のシート以外にマクロを実行させる...
お礼  ゆう  - 03/11/19(水) 16:50 -

引用なし
パスワード
   ▼INA さん:

ご丁寧にありがとうございます!
ぜひ、使わせていただきます!!

>
>もし、シート名も付けるなら、こんな感じかな・・・

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