Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


97 / 13329 ツリー ←次へ | 前へ→

【80354】カレンダーに予定を自動入力したい VBA初心者 19/1/31(木) 12:44 質問[未読]

【80363】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/1(金) 11:48 質問[未読]
【80366】Re:カレンダーに予定を自動入力したい マナ 19/2/1(金) 22:00 発言[未読]
【80376】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/5(火) 9:23 お礼[未読]
【80380】Re:カレンダーに予定を自動入力したい マナ 19/2/5(火) 19:47 発言[未読]

【80363】Re:カレンダーに予定を自動入力したい
質問  VBA初心者  - 19/2/1(金) 11:48 -

引用なし
パスワード
   ▼マナ さん:
>▼VBA初心者 さん:
>
>こんな感じのことでしょうか
>
>Option Explicit
>
>Sub カレンダー入力()
>  Dim rngカレンダー As Range
>  Dim rng予定表 As Range
>  Dim c As Range
>  Dim rng検索 As Range
>  Dim 業務 As String
>  
>  Set rngカレンダー = Worksheets("Sheet2").Range("E1:K10")
>  Set rng予定表 = Worksheets("Sheet1").Range("A1").CurrentRegion
>  
>  For Each c In rng予定表.Columns(1).Cells
>
>    Set rng検索 = rngカレンダー.Find(c.Value, LookAt:=xlWhole)
>    
>    If Not rng検索 Is Nothing Then
>      With rng検索.Offset(1, 0)
>        業務 = WorksheetFunction.Trim(c.Offset(0, 1).Value & " " & .Value)
>        .Value = Join(Split(業務), vbLf)
>      End With
>    End If
>    
>  Next c
>  
>End Sub
>
>
> 
マナ様

先のご返答に引き続きありがとうございます。
とても参考になります。

追加でご質問させていただいてもよろしいでしょうか?

Set rngカレンダー = Worksheets("Sheet2").Range("E1:K10")
Set rng予定表 = Worksheets("Sheet1").Range("A1").CurrentRegion

↑の部分で

rngカレンダーをworksheet2(1月)〜worksheet13(12月)までの.range("A1:H14)までにしたい場合は
Set rngカレンダー = Worksheets(Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月").range("A1:H14")

で合っていますか?

【80366】Re:カレンダーに予定を自動入力したい
発言  マナ  - 19/2/1(金) 22:00 -

引用なし
パスワード
   ▼VBA初心者 さん:

>追加でご質問させていただいてもよろしいでしょうか?

そのまえに、わたしの提示したマクロでは検索できていませんよね。
それでもよいのですか?

【80376】Re:カレンダーに予定を自動入力したい
お礼  VBA初心者  - 19/2/5(火) 9:23 -

引用なし
パスワード
   ▼マナ さん:
>▼VBA初心者 さん:
>
>>追加でご質問させていただいてもよろしいでしょうか?
>
>そのまえに、わたしの提示したマクロでは検索できていませんよね。
>それでもよいのですか?

マナ様

お返事ありがとうございます。
Set rng検索 = rngカレンダー.Find(c.Value, LookAt:=xlWhole)
    
    If Not rng検索 Is Nothing Then
      With rng検索.Offset(1, 0)
        業務 = WorksheetFunction.Trim(c.Offset(0, 1).Value & " " & .Value)

↑の部分で検索していると思っていましたが、違いますでしょうか・・・?

【80380】Re:カレンダーに予定を自動入力したい
発言  マナ  - 19/2/5(火) 19:47 -

引用なし
パスワード
   ▼VBA初心者 さん:

>↑の部分で検索していると思っていましたが、違いますでしょうか・・・?

そうなのですが、検索できなかったはずでは?
今は検索できていても、いつかまた検索できないとなる場合もあるはずです。
そのときは、γさんの回答を参考にしてください。
実際に経験すると理解できるかと思いますので
わたしからは修正案は提示しません。

-----
で、複数シートの検索の件ですが、
日付から、何月のシートを検索すればよいかわかるはずです。
すべてシートを検索する必要はないという意味です。


 

97 / 13329 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free