Excel VBA質問箱 IV

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

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


8651 / 76735 ←次へ | 前へ→

【73653】Re:循環参照回避
発言  UO3  - 13/1/29(火) 20:21 -

引用なし
パスワード
   ▼nonoka さん:

こんばんは

そちらがアップしたINPUT開始はバージョンが古いですね。
最新のものは変数の p1 とか p2 が追加されたものです。
Input消去 は変更有りませんが、以下にフルセットを。
なお、計画調整は、サブプロシジャ化しています。
(マクロとして選ぶことはできなくしてあります)

Sub INPUT開始()
  Dim n1 As Long
  Dim n2 As Long
  Dim nx As Long
  Dim n As Long
  Dim p1 As Long
  Dim p2 As Long
  Dim shTo As Worksheet
  Dim z1 As Long
  Dim z2 As Long
  Dim x As Long
  Dim c As Range

  Set shTo = Sheets("計画表")

  With Sheets("INPUT")
    Call Input消去
    z1 = 7         'INPUTのコピー開始行
    n1 = Val(.Range("F5").Value)
    n2 = Val(.Range("H5").Value)
    If n1 = 0 Or n2 = 0 Then
      MsgBox "F5とH5に正しい数字をいれてくださいね"
      Exit Sub
    End If

    n = n1 \ n2
    nx = n1 Mod n2
    If nx > 0 Then n = n + 1
    p1 = n1 \ n
    If n1 Mod n > 0 Then p1 = p1 + 1
    p2 = n1 - p1 * (n - 1)
 
    If n < 1 Then
      MsgBox "F5またはH5の数字が正しくないのでは?"
      Exit Sub
    End If

    x = 6          'コピー列数
    If n > 0 Then
      z2 = shTo.Range("C" & shTo.Rows.Count).End(xlUp).Row + 1
      .Range("C5").Resize(, x - 1).Copy .Range("C" & z1).Resize(n)
      .Range("C5").Resize(, x - 1).Copy shTo.Range("C" & z2).Resize(n)
      .Range("H" & z1).Resize(n - 1).Value = p1
      shTo.Range("H" & z2).Resize(n - 1).Value = p1
      .Range("H" & z1).Offset(n - 1).Value = p2
      shTo.Range("H" & z2).Offset(n - 1) = p2
    End If

  End With
  
  Call 計画調整

End Sub

Sub Input消去()
  With Sheets("INPUT")
    Intersect(.Range("A1", .UsedRange).Offset(6), .Columns("C:H")).ClearContents
  End With
End Sub

Private Sub 計画調整()
  Dim z As Long
  Dim c As Range
  Dim r1 As Range
  Dim r2 As Range
  Dim r3 As Range
  Dim n1 As Long
  Dim n2 As Long
  Dim n3 As Long
  Dim x1 As Long
  Dim x2 As Long
  Dim x3 As Long
  
  
  Dim d As Date
  Dim col As Variant
  
  With Sheets("計画表")
  
    z = .Range("C" & .Rows.Count).End(xlUp).Row - 9 'データ数
    Set r1 = .Range("Q10").Resize(z)
    Set r2 = .Range("R10").Resize(z)
    Set r3 = .Range("V10").Resize(z)
    n1 = .Range("Q6").Value
    n2 = .Range("R6").Value
    n3 = .Range("V6").Value
    
    For Each c In .Range("C10").Resize(z)
      With c.EntireRow
        If Len(.Range("K1").Value) = 0 Then   'K列未セットのものだけ
          .Range("K1").Value = c.Value '入力日->開始日
          Do
            x1 = 0
            x2 = 0
            x3 = 0
            If Len(.Range("Q1").Value) > 0 Then x1 = WorksheetFunction.CountIf(r1, .Range("Q1").Value)
            If Len(.Range("R1").Value) > 0 Then x2 = WorksheetFunction.CountIf(r2, .Range("R1").Value)
            If Len(.Range("V1").Value) > 0 Then x3 = WorksheetFunction.CountIf(r3, .Range("V1").Value)
            If x1 <= n1 And x2 <= n2 And x3 <= n3 Then Exit Do
            .Range("K1").Value = .Range("K1").Value + 1 '翌日
          Loop
        End If
      End With
    Next
    
  End With
  
End Sub

0 hits

【73600】循環参照回避 nonoka 13/1/27(日) 1:46 質問
【73602】Re:循環参照回避 UO3 13/1/27(日) 16:19 発言
【73603】Re:循環参照回避 nonoka 13/1/27(日) 19:24 回答
【73604】Re:循環参照回避 UO3 13/1/27(日) 23:03 発言
【73605】Re:循環参照回避 UO3 13/1/28(月) 12:41 発言
【73606】Re:循環参照回避 nonoka 13/1/28(月) 13:54 回答
【73607】Re:循環参照回避 ウッシ 13/1/28(月) 13:56 回答
【73608】Re:循環参照回避 nonoka 13/1/28(月) 14:06 回答
【73609】Re:循環参照回避 ウッシ 13/1/28(月) 14:36 回答
【73611】Re:循環参照回避 nonoka 13/1/28(月) 16:08 回答
【73612】Re:循環参照回避 ウッシ 13/1/28(月) 16:44 回答
【73615】Re:循環参照回避 nonoka 13/1/28(月) 19:00 回答
【73616】Re:循環参照回避 ウッシ 13/1/28(月) 19:15 回答
【73617】Re:循環参照回避 nonoka 13/1/28(月) 19:27 回答
【73618】Re:循環参照回避 ウッシ 13/1/28(月) 20:40 回答
【73621】Re:循環参照回避 nonoka 13/1/28(月) 22:32 お礼
【73613】Re:循環参照回避 UO3 13/1/28(月) 17:12 発言
【73614】Re:循環参照回避 nonoka 13/1/28(月) 18:24 回答
【73619】Re:循環参照回避 UO3 13/1/28(月) 21:21 発言
【73620】Re:循環参照回避 nonoka 13/1/28(月) 22:30 回答
【73622】Re:循環参照回避 UO3 13/1/28(月) 22:56 発言
【73623】Re:循環参照回避 nonoka 13/1/28(月) 23:01 回答
【73626】Re:循環参照回避 UO3 13/1/29(火) 6:20 発言
【73629】Re:循環参照回避 nonoka 13/1/29(火) 9:16 回答
【73633】Re:循環参照回避 UO3 13/1/29(火) 12:33 発言
【73634】Re:循環参照回避 nonoka 13/1/29(火) 12:56 回答
【73635】Re:循環参照回避 UO3 13/1/29(火) 13:16 発言
【73636】Re:循環参照回避 UO3 13/1/29(火) 13:18 発言
【73637】Re:循環参照回避 nonoka 13/1/29(火) 13:23 回答
【73638】Re:循環参照回避 UO3 13/1/29(火) 13:36 発言
【73639】Re:循環参照回避 nonoka 13/1/29(火) 14:27 回答
【73641】Re:循環参照回避 UO3 13/1/29(火) 14:40 発言
【73642】Re:循環参照回避 nonoka 13/1/29(火) 14:46 回答
【73643】Re:循環参照回避 nonoka 13/1/29(火) 15:10 回答
【73644】Re:循環参照回避 nonoka 13/1/29(火) 15:13 回答
【73646】Re:循環参照回避 UO3 13/1/29(火) 15:23 発言
【73648】Re:循環参照回避 UO3 13/1/29(火) 15:31 発言
【73650】Re:循環参照回避 nonoka 13/1/29(火) 16:30 回答
【73651】Re:循環参照回避 UO3 13/1/29(火) 16:51 発言
【73652】Re:循環参照回避 nonoka 13/1/29(火) 17:01 回答
【73653】Re:循環参照回避 UO3 13/1/29(火) 20:21 発言
【73656】Re:循環参照回避 nonoka 13/1/29(火) 22:48 お礼
【73645】Re:循環参照回避 UO3 13/1/29(火) 15:18 発言
【73647】Re:循環参照回避 nonoka 13/1/29(火) 15:27 回答
【73640】Re:循環参照回避 UO3 13/1/29(火) 14:34 発言
【73610】Re:循環参照回避 UO3 13/1/28(月) 14:39 発言
【73705】Re:循環参照回避 nonoka 13/2/5(火) 20:19 質問
【73712】Re:循環参照回避 UO3 13/2/6(水) 11:17 発言
【73713】Re:循環参照回避 UO3 13/2/6(水) 11:32 発言
【73715】Re:循環参照回避 UO3 13/2/6(水) 12:07 発言
【73716】Re:循環参照回避 nonoka 13/2/6(水) 12:57 回答

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