Excel VBA質問箱 IV

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

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


9148 / 13646 ツリー ←次へ | 前へ→

【29037】サイクルの異なる作業 まっちゃん 05/9/22(木) 7:25 質問[未読]
【29039】Re:サイクルの異なる作業 だるま 05/9/22(木) 8:36 回答[未読]
【29040】Re:サイクルの異なる作業 まっちゃん 05/9/22(木) 8:53 発言[未読]
【29041】Re:サイクルの異なる作業 小僧 05/9/22(木) 9:26 発言[未読]
【29093】Re:サイクルの異なる作業 Hiroko 05/9/23(金) 21:43 回答[未読]
【29094】サイクルの異なる作業 Hiroko 05/9/23(金) 21:52 発言[未読]

【29037】サイクルの異なる作業
質問  まっちゃん  - 05/9/22(木) 7:25 -

引用なし
パスワード
   下のような条件で・・・
    実施タイミング 作業数
作業A 毎日       4サイクル
作業B 毎日      7サイクル
作業C 月〜土のみ   6サイクル
作業D 日曜のみ    2サイクル
作業E 毎月10日のみ   1サイクル

下のようなカレンダーを月別に自動作成したいのですが・・・
   9/1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21〜
作業A 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1〜
作業B 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3〜
作業C 4 5 6 - 1 2 3 4 5 6 - 1 2 3 4 5 6 - 1 2 3〜
作業D - - - 1 - - - - - - 2 - - - - - - 1 - - -〜
作業E - - - - - - - - - 1 - - - - - - - - - - -〜

また次の月は前月からのサイクルを崩さずにカレンダーを作りたいのですが、
このような事は可能でしょうか?

【29039】Re:サイクルの異なる作業
回答  だるま WEB  - 05/9/22(木) 8:36 -

引用なし
パスワード
   こんにちは

VBAでなくても出来ると思います。^d^

作業Aから作業Dまでは大きな目でみると28日単位の繰り返しになっていますよね。

まず、縦横を逆にして列に作業、行を日付けにします。
一ヶ月分(28日分)は4日単位、7日単位などでコピーして手作業で作ります。

あとは、日付は単純に下にドラッグすれば連続の日付を埋めれるし、作業は28日単位で
コピーすれば大した手間ではないでしょう。
毎月10日の作業Eは、これも一箇所だけなので大した手間とも思えません。

もし、縦横逆がいやなら形式を選択して貼付けで逆にするのも簡単です。

【29040】Re:サイクルの異なる作業
発言  まっちゃん  - 05/9/22(木) 8:53 -

引用なし
パスワード
   ▼だるま さん:
おはようございます。
ご回答ありがとうございます。
実は、先程の例よりも実際は複雑で、作業数が50以上ある&サイクルも15種類
以上あります。
この掲示板でなにか手がかりが掴めたらと思い投稿させていただきました。

【29041】Re:サイクルの異なる作業
発言  小僧  - 05/9/22(木) 9:26 -

引用なし
パスワード
   ▼まっちゃん さん、だるまさん:
おはようございます。

>この掲示板でなにか手がかりが掴めたらと思い投稿させていただきました。

では手がかりとなりそうなものを…。


                  シリアル値   作業A  作業B
2005年9月1日の表示を「数値」にすると  38596    1    4
   9月2日              38597    2    5



作業A: シリアル値を 4 で割った余りに 1 を足す
作業B: シリアル値を 7 で割った余りに…

のような考え方でどうでしょうか?

【29093】Re:サイクルの異なる作業
回答  Hiroko  - 05/9/23(金) 21:43 -

引用なし
パスワード
   ▼まっちゃん さん:
今晩は、このような表の作成って結構面倒なんですが、世の中にはあるものです。
こんな感じで書いてみました。

  A  B     C    D            K        
1
2    作業A  作業B    作業C    作業D        Aのサイクル     
3 9/1    1    4    4            1    
4 9/2    2    5    5            2    
5 9/3    3    6    6            3    
6 9/4    4    7    -    1        4    
7 9/5    1    1    1                
8 9/6    2    2    2                
9 9/7    3    3    3                
10 9/8    4    4    4                
11 9/9    1    5    5                
12 9/10    2    6    6                
9/11    3    7    -    2            
9/12    4    1    1                
9/13    1    2    2                
9/14    2    3    3                
9/15    3    4    4                
9/16    4    5    5

12/31

表を慣れている行主体で書いてみました。
K列に「作業Aのサイクル」を書きます。
作業Aのコードとして
Sub test1()
  With Range("C3:C6")
    .Value = Worksheets("Sheet3").Range("K3:K6").Value '作業Aサイクル
    .AutoFill Destination:=Range("C3:C124"), Type:=xlFillCopy
  End With
End Sub

で、12月31日まで出来上がります。行数を増やせば来年の3月31日までも出来ます。


以下、作業Bのサイクルも作成方法は同じです。
仕上がったら、必要に応じて、月の間に空白行(行の挿入)を入れ、月単位で表を作成されては如何でしょう。


少し違いますが、こんなものも書きました。上のほうが良いかも?

Sub test3() 
  m = 3
  Do While m <= 122   
   i = 1
    Do While i <= 4
      Range("C" & m).Value = _
        Worksheets("Sheet3").Cells(i + 2, 11).Value
      i = i + 1
      m = m + 1
    Loop
  Loop
End Sub

【29094】サイクルの異なる作業
発言  Hiroko  - 05/9/23(金) 21:52 -

引用なし
パスワード
   表が歪みました。K列の3行目から「作業Aのサイクル」を書いています。
作業BはL列の3行目から「4、5、6、7、1、2、3」を入れて
コードは同じように展開されると出来ます。
表が分かりにくくて失礼しました。


>  A  B     C    D         K        
>1
>2    作業A  作業B    作業C     Aのサイクル     
>3 9/1    1    4    4        1    
>4 9/2    2    5    5        2    
>5 9/3    3    6    6        3    
>6 9/4    4    7    -        4    
>7 9/5    1    1    1                
>8 9/6    2    2    2                
>9 9/7    3    3    3                
>10 9/8    4    4    4                
>11 9/9    1    5    5                
>12 9/10    2    6    6                
>13 9/11    3    7    -    2            
>14 9/12    4    1    1                
>15 9/13    1    2    2                
>16 9/14    2    3    3                
>17 9/15    3    4    4                
>18 9/16    4    5    5
>
>124 12/31
>

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