人生最悪の忘れ物

以下のURLで、最後の2行は、ループ処理の事と思っても良いのでしょうか?教えて頂けると幸いです。
https://detail.chiebukuro.yahoo.co.jp/qa/questio …

質問者からの補足コメント

  • 添付の写真は間違いです。以下の写真の写真が正しいです。
    https://detail.chiebukuro.yahoo.co.jp/qa/questio …

    No.2の回答に寄せられた補足コメントです。 補足日時:2024/12/07 08:32
  • 迅速な回答ありがとうございます。所で、「ws2」には、一覧表などがあると想定されての所で、一覧表以外にも「ws2」には何かあるのでしょうか?仮に、ws2に一覧表があるとして、このプログラムを踏まえて、ループ処理を使うマクロを作って頂けると幸いです。

    No.3の回答に寄せられた補足コメントです。 補足日時:2024/12/07 09:02
  • 以下がプログラムです。
    Sub sample100()
    Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.ActiveSheet
    Dim wb2 As Workbooks.Open _
    (Filename:=″C:¥Sample¥ex¥100.xlsx ,ReadOnly:True)
    Dim ws2 As Worksheet: Set ws2 =wb2.Sheets(″aaa″)
    ws1.Range(″A1″).Value =ws2.Range(″A1″).Value
    wb2.Close
    End Sub
    で、OnePointには、
    7行目が転記部分です。ここへCells、Forーnext、Ifの条件分岐を応用すると、転記できる内容の幅が広がります。と書かれています。
    教えて頂けると幸いです。以上が左ページの内容です。

    No.4の回答に寄せられた補足コメントです。 補足日時:2024/12/07 09:59
  • うーん・・・

    最後から2行目の実務ではの所は、ループ処理と分かりましたが、実際実務でどう使うのか教えて頂けると幸いです。

    No.5の回答に寄せられた補足コメントです。 補足日時:2024/12/10 20:04
  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (6件)

>所で、2行目のThisWorkbook.ActiveSheetがどう関係しているのかが分かりません。



ThisWorkbookは、「今、マクロを実行中の時、そのマクロを格納しているブック」を示します。
ActiveSheetは、「今、表示されているシート」ことです。

マクロ実行時に、そのマクロを格納しているブックのなかで、今表示されているシートのことです。

例えば、Book1.xlsmにsample100()のマクロを格納してあるとします。
Book1.xlsmには、Sheet1,Sheet2,Sheet3があり、Sheet2が表示されているとします。
この状態で、sample100()のマクロを実行すると、
Set ws1 = ThisWorkbook.ActiveSheet
を実行すると、Book1.xlsmのSheet2がws1に設定されます。


>最後から2行目の実務ではの所は、ループ処理と分かりましたが、実際実務でどう使うのか教えて頂けると幸いです。

まずは、samaple100()を実行して、A1セルの内容が転記されることを確認してください。確認が終わりましたら、その旨補足してください。
    • good
    • 0

あなたの提示されたマクロを修正しました。

(全角の部分などを修正)
以下で、あってますか。
Sub sample100()
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.ActiveSheet
Dim wb2 As Workbook
Set wb2 = Workbooks.Open _
(fileName:="C:\Sample\ex\100.xlsx", ReadOnly:=True)
Dim ws2 As Worksheet: Set ws2 = wb2.Sheets("aaa")
ws1.Range("A1").Value = ws2.Range("A1").Value
wb2.Close
End Sub

あっていれば、上記のマクロを実行して、A1のセルの内容が転記されることを確認してください。
この回答への補足あり
    • good
    • 0
この回答へのお礼

はい。あっています。所で、2行目のThisWorkbook.ActiveSheetがどう関係しているのかが分かりません。教えて頂けると幸いです。

お礼日時:2024/12/10 19:56

>所で、「ws2」には、一覧表などがあると想定されての所で、一覧表以外にも「ws2」には何かあるのでしょうか?


>仮に、ws2に一覧表があるとして、このプログラムを踏まえて、ループ処理を使うマクロを作って頂けると幸いです。

画像中に「左ページの例は、・・・」とありますが、左ページの例がないのでわかりません。その例を無視して、マクロを作ってもよいのでしょうか。左ページの例に従い、マクロを作るのであれば、左ページの例の内容を提示していただけませんでしょうか。
この回答への補足あり
    • good
    • 0
この回答へのお礼

すみません。
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.ActiveSheet
Dim wb2 As Workbooks.Open _
の所は、正しくは、Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.ActiveSheet
Dim wb2 As Workbook
Set wb2=(後は同じなので省略)
です。教えて頂けると幸いです。失礼しました。

お礼日時:2024/12/07 10:11

新規にアップされた画像中の最後の2行の


「表を繰り返し処理でチェックしながら特定の日付やIDのものだけ転記する、といった使い方ができると便利です」
のことと解釈して回答します。

はい、ループ処理のことを意味しています。
この回答への補足あり
    • good
    • 0

最後の2行とは、具体的にどこのことでしょうか。


添付の画像中の最後の2行でしょうか、それとも質問文の最後の2行でしょうか。

又、添付の画像と質問文があっていません。
添付の画像に関する質問なのでしょうか。それとも、添付の画像は無視して、質問文だけについて回答すればよいのでしょうか。
添付の画像が誤りであれば、その旨補足し、正しい画像をアップすると良い回答が得られやすくなります。
この回答への補足あり
    • good
    • 0

えーと



>これは、ループ処理もプログラムに入れておくとそういう事が出来ますよ。という事でしょうか?

という文面でしょうか。
繰り返しの作業は当然ループ処理になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A