[[20240718145251]] 『VBAで困ってます』(消しゴム) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『VBAで困ってます』(消しゴム)

Excel VBAで困ています。
教えていただけますか。

sheetが4シートあり、(動物、健康管理、睡眠時間のシート、操作シートの4種)VBAを作るのは操作シートで、他の3シートは毎週差替えの為、削除し新しいシートを挿入します。
操作シートに書いて、動物シートに反映させるのにはどのように作ればよいですか。(操作シートにボタンを作り、動物シートに反映させたい)

Sub 動物の資料()

    Sheets("動物").Select

    Range("A10").Value = "ぱんだ"

   Dim List(1, 3) As String
    Dim i As Integer, j As Integer
    List(0, 0) = "いぬ"
    List(0, 1) = "ねこ"
    List(0, 2) = "うま"
    List(0, 3) = "らいおん"
    List(1, 0) = "やぎ"
    List(1, 1) = "にわとり"
    List(1, 2) = "さる"
    List(1, 3) = "わに"

    For i = LBound(List, 1) To UBound(List, 1)
    For j = LBound(List, 2) To UBound(List, 2)
        Cells(i + 1, j + 1).Value = List(i, j)
        Next
    Next
End Sub

これを操作シートに作りましたが、シートは動物シートに切り替わりましたが
文字が入力されるのが操作シートになってしまします。動物シートに文字の入力を行いたいのです。

< 使用 Excel:Excel2019、使用 OS:Windows11 >


「シートモジュール(操作)」ではなく「標準モジュール」に書いたら動物シートに入力されます。

(AZ) 2024/07/18(木) 15:38:45


とりあえず、標準モジュールにコードを記載する時に
各シートをsetで登録するようすれば判りやすくなるとおもいますが ?

Option Explicit

 Sub 動物の資料()

      Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, ws4 As Worksheet
      Set ws1 = Sheets("動物")
      Set ws2 = Sheets("健康管理")
      Set ws3 = Sheets("睡眠時間")
      Set ws4 = Sheets("操作")

      ws1.Range("A10").Value = "ぱんだ"

      Dim List(1, 3) As String
      Dim i As Integer, j As Integer

      List(0, 0) = "いぬ"
      List(0, 1) = "ねこ"
      List(0, 2) = "うま"
      List(0, 3) = "らいおん"
      List(1, 0) = "やぎ"
      List(1, 1) = "にわとり"
      List(1, 2) = "さる"
      List(1, 3) = "わに"

      For i = LBound(List, 1) To UBound(List, 1)
            For j = LBound(List, 2) To UBound(List, 2)
                  ws1.Cells(i + 1, j + 1).Value = List(i, j)
            Next
      Next
 End Sub

(暇な人) 2024/07/18(木) 17:11:38


助かりました。困りごと解決です。
暇な人様が書いていただいたマクロみたいに、丁寧に後から見ても分かり易く書いていきたいと思います。
ありがとうございました。

(消しゴム) 2024/07/18(木) 17:44:54


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.