戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい

    [194868] A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ ぎゅう -(2022/05/05(11:48))
    □U R L/
       初心者です。
      希望は、A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい。
      
      以下の様に書きました。
      
      Sub 指定したシートとセル領域にデータ転記()
      	If Worksheets("Sheet3").Range("A9").Value >= Worksheets("Sheet3").Range("J9").Value Then
      
       	Dim ws1 As Worksheet
      	Dim ws2 As Worksheet
      	Dim 受ws As Worksheet
      
      	Dim 最終行の下A
      	Dim 受最終行下B
      
      	Set ws3 = Worksheets("Sheet3")
         	Set ws2 = Worksheets("Sheet2")
             	Set 受wb = Workbook.Workbooks(1).Worksheets("Sheet7")
      
      	最終行の下A = ws2.Cells(Rows.Count, "A").End(xlUp).Row + 1
      	ws2.Range("A" & 最終行の下A).Value = ws3.Range("J12").Value	'F5押すと転記出来た
      
      	受最終行下B = 受wb.Cells(Rows.Count, "B").End(xlUp).Row + 1
              	受wb.Range("B" & 受最終行下B).Value = ws3.Range("J12").Value
      
         	 End If
      
      End Sub
      
      このWorkbook.Workbooks(1).Worksheets("Sheet7")で、先に開いたワークブックのSheet7の
      B列の最終行の下空白行へ転記する意図で作った
      
      F5を押すと、「オブジェクトが必要です」ダイアログ出現
      先に開くワークブックは、ファイル名を用いずに実行したかったので、オブジェクト.Workbooks(index)で参照できると本に有り、
      Workbook.Workbooks(1)としました。
      この同じ階層に置いた、先に開いたワークブックのSheet7のB列の最終行の下空白行へ転記したい。
      
      それから、Sheet3のC75セル(J9の値をA9が=と成るセル)に入力してEnterを押しても
      転記処理(転記出来ていたVBAを記述しているこのブック内のSheet2のA列の最終行の下空白行へ転記)もされなくなった。
      
      
       今回は、条件を満たした時のテストの爲、Sheet3のC75セルに手入力しましたが、
      本来は、ネットを介して自動的でC列にデータが最終行の下空白行へ転記されます。
      
      どうか、解決方法をお教えください。
      
      Excelは2013
      OSはWindows10 です。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒OTHER
      ++++++++++++++++++++




    [194869] Re[1]: A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/05/05(15:52))
    □U R L/
      >このWorkbook.Workbooks(1).Worksheets("Sheet7")
      単に、Workbooks(1).Worksheets("Sheet7") でやってみてください。
      
      Set ws3 = Worksheets("Sheet3")
      Set ws2 = Worksheets("Sheet2")
      間違いの元なので、どのWorkbookかチャンと修飾してみてください。
      
      例: Set ws3 = ThisWorkbook.Worksheets("Sheet3")


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194871] Re[2]: A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい-

    記事引用/メール受信=OFF■

    □投稿者/ ぎゅう -(2022/05/05(21:38))
    □U R L/
      有難うご座います。早速お教えの如く
      Set 受wb = Workbooks(1).Worksheets("Sheet7")
      Set ws3 = ThisWorkbook.Worksheets("Sheet3")
      Set ws2 = ThisWorkbook.Worksheets("Sheet2")
      とし、F5を押すと、「インデックスが有効範囲に有りません」とダイアログが出現致しました。
      因みに
      'Dim 受ws As Worksheet
      'Set 受wb = Workbooks(1).Worksheets("Sheet7")
      '受最終行下B = 受wb.Cells(Rows.Count, "B").End(xlUp).Row + 1
      '受wb.Range("B" & 受最終行下B).Value = ws3.Range("J12").Value
      と「'」を付してF5を押すと、同じブック内のSheet2のA列最終行の下空白行へ転記されました。
      
      既に実現している「データ取込、同じブック内のSheet3のA列への最終行の下空白行へ転記
      を書いた時から現在も、VBAのSheet3(コード)という名前の所で記述して居ります。
      これが問題なのかどうかは分かりませんが、ご報告致します。
      
      度々、申し訳ございません。
      宜しくご教授くださいませ。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒OTHER
      ++++++++++++++++++++




    [194872] Re[3]: A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/05/05(23:10))
    □U R L/
      申し訳ないですが、そちらの状況が分からないので、参考になることを書いただけです。
      
      ブックは全部で幾つ関係しているんですか?
      3つですか? (転記元、先に開いたブック、マクロを書いたブック)
      
      マクロブックは、いつ開いたんですか?(先に開いたブックより後ですか?)
      
      ブックとシートの関係を示してください。
      Sheet2→?
      Sheet3→?
      Sheet7→先に開いたブック
      




    [194873] Re[4]: A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい-

    記事引用/メール受信=OFF■

    □投稿者/ ぎゅう -(2022/05/05(23:38))
    □U R L/

      半平太様
      有難うご座います。
      先に開いたブックSheet7で、転記を受けるブックに成ります。
      同じ階層内で、後で開いたブックのSheet3がメインで、Sheet2がSheet3から転記される同じブック内でのシートです。

      ファイルは、この二つだけです。
      マクロを書いているのは、後から開いたブックです。
      VBAのSheet3(コード)とは、標準モジュールではなく、Sheet3(Sheet3)をダブルクリックで開いたウィンドで、ここにVBAを記述していますという意味で、ご報告致した次第です。

      混乱させるようなことになり、申し訳ございませんでした。

      宜しく、お願い申し上げます。




    [194874] Re[5]: A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/05/05(23:56))
    □U R L/
      >標準モジュールではなく、Sheet3(Sheet3)をダブルクリックで開いたウィンドで、ここにVBAを記述しています
      ならば、ブックで修飾する必要はないです。
      
      Sub 指定したシートとセル領域にデータ転記()
          If Worksheets("Sheet3").Range("A9").Value >= Worksheets("Sheet3").Range("J9").Value Then
      
              Dim ws1 As Worksheet
              Dim ws2 As Worksheet
              Dim ws3 As Worksheet
              
              Dim 受ws As Worksheet
          
              Dim 最終行の下A
              Dim 受最終行下B
          
              Set ws3 = Worksheets("Sheet3")
              Set ws2 = Worksheets("Sheet2")
              
              Set 受ws = Workbooks(1).Worksheets("Sheet7")
          
              最終行の下A = ws2.Cells(Rows.Count, "A").End(xlUp).Row + 1
              ws2.Range("A" & 最終行の下A).Value = ws3.Range("J12").Value 'F5押すと転記出来た
          
              受最終行下B = 受ws.Cells(Rows.Count, "B").End(xlUp).Row + 1
              受ws.Range("B" & 受最終行下B).Value = ws3.Range("J12").Value
      
           End If
      
      End Sub


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194875] Re[6]: A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい-

    記事引用/メール受信=OFF■

    □投稿者/ ぎゅう -(2022/05/06(00:29))
    □U R L/

      半平太様
      夜分にお教え賜り有難うご座いました。
      お教えの通りにし、F5で実行致しました処
      「インデックスが有効範囲に有りません」とダイアログが出現致しました。
       私の入力ミスかと思い、コピー&ペーストして再びF5で試してみました。
      結果は、「インデックスが有効範囲に有りません」とダイアログが出現致しました。

       度々、申し訳ございませんが、宜しくご教授下さいませ。

      有難うご座います。




    [194876] Re[7]: A9がJ9以上に成った時、先に開いたブックの指定シート・セルに転記させたい-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ ぎゅう -(2022/05/06(12:35))
    □U R L/
      半平太様
      
      その後の検証をご報告申し上げます。
      
      Workbooks(1)をWorkbooks("受転記のブック.xlsx")に変更して、
      F8でステップインして行き、この行が「黄色」に成って次に進む為にF8を押すと
      Workbooks(1)時と同様に「実行時エラー9、インデックスが有効範囲に有りません」のダイアログが出現
      
      今迄と変わらず。
      
      
      Worksheets("Sheet7")をWorksheets("計算")に変更
      先に開いた転記を受けるブックのVBA画面で左上側のウィンドに表示されている
      Microsoft Excel Objectsの下層Sheet7(計算)と成っていたので、
      試しにSet 受ws = Workbooks("受転記のブック.xlsx").Worksheets("計算")としてF8を実行
      ダイアログが出現せず、無事に転記されました。
      
      私の思い込みで、Sheet7(計算)の個所に意識が及ばす
      最初から、計算はその後名前が変わったりするが、Sheet7は名前が変わらない様なので
      VBAでは、名前の変わらないSheet7を使うものだと思い込んでおりました。
      
      この度は、大変ご迷惑をお掛け致しまして、申し訳ございません。
      私にとっては、半平太様のご教授により、Worksheets("計算")への変更を考えることが出来ました。
      
       この度は、いろいろお世話に成り、有難うご座いました。
      
       再び、自力解決できない時にはお世話に成りますが、その折には宜しくお願い申し上げます。
      
       では、失礼致します。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G