[[20200510202436]] 『別シートに自動転記、コピー?』(ゆき) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別シートに自動転記、コピー?』(ゆき)

If Intersect(Target,Range("A5"))Is Nothing think Exit sub
A5からA6,A7、、無限に表示するコード教えてください。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 >A5からA6,A7、、無限に表示するコード教えてください。 

 無限には続きませんがA5からA1048576 まで

 Sub Test()
    Dim c As Range
    For Each c In Range("A5", Range("A" & Rows.Count))
        MsgBox c.Address(0, 0)
    Next
 End Sub

(ピンク) 2020/05/10(日) 20:50


回答ありがとうございます、教えていただいコードで、
シート1のA5から文字入力すると、シート2のA7から自動表示
はできますでしょうか?
未熟ですみません。
(ゆき) 2020/05/10(日) 22:08

 Sub Test()
    Dim c As Range
    With Sheets("Sheet1")
        For Each c In .Range("A5", .Range("A" & Rows.Count).End(xlUp))
            Sheets("Sheet2").Range(c.Address).Offset(2).Value = c.Value
        Next c
        MsgBox "終了!", vbInformation
    End With
 End Sub

 >シート1のA5から文字入力すると、シート2のA7から自動表示 

 シート1のA5に入力した時点でシート2のA7に転記?するのなら
 イベントマクロを使う事になりそうですね

(ピンク) 2020/05/10(日) 23:07


 >シート1のA5から文字入力すると、シート2のA7から自動表示はできますでしょうか?

 前回、あげたコードは破棄して以下のコードをSheet1のシートモジュールに
 貼り付けてお試しください。

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    For Each c In Target
        If c.Row >= 5 And c.Column = 1 Then
            Sheets("Sheet2").Range(c.Address).Offset(2).Value = c.Value
        End If
    Next
 End Sub

(ピンク) 2020/05/10(日) 23:27


ありがとうございます、お昼にお返事したつもりでしたが
私のミスで届いて無い様です?あまり慣れてないのでごめんなさい、
厚かましいですが、もう1つ、A5とB5,
2列の場合はどうすれば良いですか、なんどもすみません。
(ゆき) 2020/05/11(月) 21:34

 >ありがとうございます、お昼にお返事したつもりでしたが 
 先ずは、揚げたコードの結果を知らせてください。

(ピンク) 2020/05/11(月) 22:44


 >もう1つ、A5とB5,2列の場合はどうすれば

 シート1のA5:B5から文字入力すると、シート2のA7:B7 って事なら

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    For Each c In Target
        If c.Row >= 5 And c.Column <= 2 Then
            Sheets("Sheet2").Range(c.Address).Offset(2).Value = c.Value
        End If
    Next
 End Sub

(ピンク) 2020/05/11(月) 22:52


こんばんは、ごめんなさい、バッチリです仕事がはかどりそうです
行き違いがあり大変申し訳けなく思ってます。
VBAにはまりそうです、数分前にお返事書いていたら、ピンクさんの更新
バタバタですみません。明日から頑張ります。😄⤴
(ゆき) 2020/05/11(月) 23:10

ピンク様

便乗質問ですが教えてください。

シート1に直接入力する場合は上記のコードでできるのはわかります。

ここでいうシート1の値を別ブックまたは別シートから参照で得ている場合は転記に反映されないと思うのですが、参照値でも転記可能とする方法はありますでしょうか?
(さおり) 2020/05/12(火) 14:16



 先日はありがとうございました。コピーの手間が無くスムーズです。
               シート1                                     シート2
     3     4     5     6     7     8        3     4     5     6     7      
5 受番号 工番号 作業日 担当者 作業日 担当者  3 受番号 工番号 作業日 担当者 作業日  
6 受番号 工番号 作業日 担当者 作業日 担当者  4                                          
                                       5                                                                           
                                       6 受番号 工番号 作業日 担当者 作業日    
  シート2に行を飛ばして自動表示はできますか?           
(ゆき) 2020/05/15(金) 18:14

 >シート2に行を飛ばして自動表示はできますか? 

 ???

 具体的には?

(ピンク) 2020/05/15(金) 19:38


うまく説明できないですみません。
5行の受番、工番、作業日、担当者、作業日、担当者
6,7,8行と入力
シート2に
2行おきに担当者、作業日を表示したいです。すみません。
(ゆき) 2020/05/15(金) 21:10

   シート1     シ−ト2
     5行   ⇒    3行
     6行   ⇒    6行
     7行   ⇒    9行
     8行   ⇒   12行
     9行   ⇒   15行
    10行   ⇒   18行

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    For Each c In Target
        If c.Row >= 5 And c.Column >= 3 And c.Column <= 8 Then
            Sheets("Sheet2").Cells((c.Row - 4) * 3, c.Column).Value = c.Value
        End If
    Next
 End Sub
(ピンク) 2020/05/15(金) 22:22

ありがとうございます、勉強になります。
特定の列を指定、私なりに
select case c.Column
case 2,5の後に教えていただいたコードで動きました。
今後色々試してみます、
sells((c.Row−4)*3,c.Column)の位置関係がいまいちです
教えてください。
後しばらくはなんとかがんばってみます、ふんずまったらまた
聞きたい思います、本当にありがとうございました。
(ゆき) 2020/05/16(土) 17:17

コメント返信:

[ 一覧(最新更新順) ]


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