[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『あるセルに入力した値を別シートの条件に適合するセルに値として入力することは可能でしょうか』(motu-curry)
はじめて投稿をさせていただきます
以下の通り、「(1)→(2)→(3)→(1)→(2)」と
3つの手順を繰り返し行う表を作りたいです。
いろいろ調べたものの、調べ方が悪いのか
なかなか該当する答えを見つけることができず
ここで質問をさせていただくに至りました。
よろしくお願いします。
(1) 'SHEET1'へ人間が値を入力する
日付l 2/25
天気l 晴れ
担当l 山田
売上l10万円
↓
入力後マクロボタンなどを作成して押す
(2) すると'SHEET2'の日付が対応するセルへ
以下のように自動で「値として」出力される
'_2/23l_2/24l_2/25l_2/26l_2/27l
'___l___l_晴れl___l___l
'___l___l_山田l___l___l
'___l___l10万円l___l___l
(3) (SHEET1)の内容はクリアされ、
新たに入力することができる状態となっている
日付l___
天気l___
担当l___
売上l___
このようなことができるものなのでしょうか(汗)
< 使用 Excel:Excel2013、使用 OS:Windows8 >
こんばんは、以下でどうでしょうか。
Sub test() Dim v As Double Dim res 'B1に日付が入力されている。 v = Range("B1") 'sheet2の1行目に日付が入っている。 res = Application.Match(v, Sheet2.Rows(1), 0) '該当する日付があれば If IsNumeric(res) Then 'sheet1のB2:B4を転記 Sheet2.Cells(2, res).Resize(3).Value = Sheet1.Range("B2:B4").Value Else MsgBox "該当日がありません。" End If Sheet1.Range("B1:B4") = "" End Sub
(紙風船) 2015/02/25(水) 03:27
お返事ありがとうございます。
さっそくいただいた内容にて試してみたところ…
で…できました!ありがとうございます!
1週間ほど悩んでいたので感動しました。
1点だけ不便がありまして、Sheet1のB1に間違った日付値を入れてしまった場合
Sheet1の入力してある値がすべてクリアされてしまいます。
これを残すことは可能でしょうか?
※ 返答は本日の場合、夜になってしまいます。
よろしくおねがいします。
(motu-curry) 2015/02/25(水) 08:46
こんにちは 下記で試して下さい。
Sub test2() Dim v As Double Dim res 'B1に日付が入力されている。 v = Range("B1") 'sheet2の1行目に日付が入っている。 res = Application.Match(v, Sheet2.Rows(1), 0) '該当する日付があれば If IsNumeric(res) Then 'sheet1のB2:B4を転記 Sheet2.Cells(2, res).Resize(3).Value = Sheet1.Range("B2:B4").Value Sheet1.Range("B1:B4") = "" ElseIf IsNumeric(res) <> True Then MsgBox "該当日を確認して下さい" & vbCrLf & "日付は見つかりません。", vbExclamation Else End If End Sub (紙風船) 2015/02/25(水) 09:32
お返事ありがとうございます。
できました!!
感動しました!!
マクロとは便利なものですね。
操作の記録でできるマクロしか作れなかったのですが
これを機にマクロというものを深めていきたいと思いました。
誠にありがとうございました。
(motu-curry) 2015/02/25(水) 21:58
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.