[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『1.2.3入力で日にち、時間を反映』(えり)
おはようございます。
以前投稿者の回答を流用したいのですが、
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rToProc As Range
Dim TGT As Range
Set rToProc = Intersect(Target, Range("F:G,I:J,L:M,O:P,R:S,U:V,X:Y,AA:AB"), Me.UsedRange)
If rToProc Is Nothing Then
Exit Sub
Else
For Each TGT In rToProc
RefrectOther TGT
Next
End If
End Sub
Private Sub RefrectOther(aTGT As Range)
Dim adrOther As String
If aTGT.Row >= 7 Then
adrOther = ""
Select Case aTGT.Column
Case 6, 7
adrOther = Cells((aTGT.Row - 8) * 3 + 10, aTGT.Column - 2).Address(0, 0)
Case 9, 10
adrOther = Cells((aTGT.Row - 8) * 3 + 10, aTGT.Column - 2).Address(0, 0)
Case 12, 13
adrOther = Cells((aTGT.Row - 8) * 3 + 10, aTGT.Column - 2).Address(0, 0)
Case 15, 16
adrOther = Cells((aTGT.Row - 8) * 3 + 10, aTGT.Column - 2).Address(0, 0)
Case 18, 19
adrOther = Cells((aTGT.Row - 8) * 3 + 10, aTGT.Column - 2).Address(0, 0)
Case 21, 22
adrOther = Cells((aTGT.Row - 8) * 3 + 10, aTGT.Column - 2).Address(0, 0)
Case 24, 25
adrOther = Cells((aTGT.Row - 8) * 3 + 10, aTGT.Column - 2).Address(0, 0)
Case 27, 28
adrOther = Cells((aTGT.Row - 8) * 3 + 10, aTGT.Column - 2).Address(0, 0)
End Select
If adrOther <> "" Then
With Worksheets("Sheet2").Range(adrOther)
.Offset(-1).NumberFormat = "m/d"
.Offset(-1).Value = aTGT.Value
If aTGT.Value = "" Then
.ClearContents
Else
.NumberFormat = "h:mm"
.Value = Time
End If
'中間省略処理
If aTGT.Column = 5 Then
If aTGT.Offset(, -1).Value = "" And aTGT.Offset(, -3).Value = "" Then
If .Value <> "" Then
.Offset(-1, -1).NumberFormat = "m/d"
.Offset(-1, -1).Value = .Offset(-1, -3).Value
.Offset(, -1).NumberFormat = "h:mm"
.Offset(, -1).Value = .Offset(, -3).Value
.Offset(-1, -2).NumberFormat = "m/d"
.Offset(-1, -2).Value = .Offset(-1).Value
.Offset(, -2).NumberFormat = "h:mm"
.Offset(, -2).Value = .Value
Else
.Offset(-1, -2).Resize(2, 2).ClearContents
End If
End If
End If
End With
End If
End If
End Sub
シート1のF7,G7 I7,J7他に日付入力でシート2のD6に日付D7に時間が表示されます。 データが多いと画面をスクロールし探すのが大変な為、シート1のE列に製品番号てきな番号、0001,0025,1003 バラバラです、ですので仮にシート3のC2に番号入力し,D2,E2 G2,H2他に番号行を呼びだし操作したいです、 VLOOKUP関数で呼び出すような感じ?、マクロはわからないので、何か方法ありますでしょうか。 よろしくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
呼び出すことは「VLOOKUP関数で呼び出すような感じ?」でできますが、
「操作したい」とは、どんなことを言っているのかわかりません。
呼び出す部分については、流用するよりも作るほうが楽な気がします。
そもそも、「マクロはわからないので」であれば、VLOOKUP関数を
使えばいいのではないでしょうか。
(わからん) 2021/11/27(土) 14:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.