Excel VBA質問箱 IV

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

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


53224 / 76736 ←次へ | 前へ→

【28330】Re:差額チェック
回答  こたつねこ  - 05/9/2(金) 15:30 -

引用なし
パスワード
   ▼Help me!! さん:
こんにちは

とりあえず追加してみました。
が、りんさんのコードのほうがコメントもきちんと
書かれていてやすいと思います。

だったらコメントくらい書けと言われそうですが・・・
今回もコメントなしです、ごめんなさい。

Private Sub 差額一覧表作成()
  Const strSheet1 As String = "Sheet1"
  Const strSheet2 As String = "Sheet2"
  Const strSheet3 As String = "Sheet3"
  
  Dim WK() As Variant
  Dim WD() As Variant
  Dim RE As Integer
  Dim i As Integer
  Dim j  As Integer
  Dim k As Integer
  Dim Flg As Boolean
  
  With Sheets(strSheet1)
    RE = .Range("A65536").End(xlUp).Row
    ReDim WK(1 To 27, 1 To RE) As Variant
    j = 1
    For i = 1 To RE
      For j = 1 To 27
        WK(j, i) = .Cells(i, j).Value
      Next j
    Next i
  End With
  
  With Sheets(strSheet2)
    RE = .Range("A65536").End(xlUp).Row
    For i = 1 To RE
      Flg = False
      For j = 1 To UBound(WK, 2)
        If WK(1, j) = .Cells(i, 1) Then
          If IsNumeric(.Cells(i, 2).Value) Then
            WK(2, j) = WK(2, j) - .Cells(i, 2).Value
          End If
          For k = 3 To 11
            WK(16 + k, j) = .Cells(i, k).Value
          Next k
          Flg = True
          Exit For
        End If
      Next j

      If Flg = False Then
        ReDim Preserve WK(1 To 27, 1 To UBound(WK, 2) + 1) As Variant
        WK(1, UBound(WK, 2)) = .Cells(i, 1).Value
        WK(2, UBound(WK, 2)) = -.Cells(i, 2).Value
        For k = 3 To 11
          WK(16 + k, UBound(WK, 2)) = .Cells(i, k).Value
        Next k
      End If
    Next i
  End With
  
  ReDim WD(1 To UBound(WK, 2), 1 To 27) As Variant
  
  For i = 1 To UBound(WK, 2)
    For j = 1 To 27
      WD(i, j) = WK(j, i)
    Next
  Next
  
  WD(1, 2) = "金額の差異"
  
  With Sheets(strSheet3)
    .UsedRange.Clear
    .Range("a2:a" & UBound(WD, 1)).NumberFormat = "@"
    .Range("c2:d" & UBound(WD, 1)).NumberFormat = "@"
    .Range("e2:e" & UBound(WD, 1)).NumberFormat = "gee/mm/dd"
    .Range("f2:i" & UBound(WD, 1)).NumberFormat = "@"
    .Range("m2:t" & UBound(WD, 1)).NumberFormat = "@"
    .Range("w2:z" & UBound(WD, 1)).NumberFormat = "@"
    .Range("aa2:aa" & UBound(WD, 1)).NumberFormat = "gee/mm/dd"
    .Range("A1:AA" & UBound(WD, 1)) = WD
  End With
End Sub
0 hits

【28286】差額チェック Help me!! 05/9/2(金) 8:06 質問
【28287】Re:差額チェック ちくたく 05/9/2(金) 8:57 発言
【28289】Re:差額チェック Help me!! 05/9/2(金) 9:28 質問
【28290】Re:差額チェック だるま 05/9/2(金) 10:25 発言
【28291】Re:差額チェック Help me!! 05/9/2(金) 10:42 質問
【28295】Re:差額チェック だるま 05/9/2(金) 11:32 発言
【28297】Re:差額チェック Help me!! 05/9/2(金) 11:47 質問
【28298】Re:差額チェック こたつねこ 05/9/2(金) 11:56 発言
【28299】Re:差額チェック こたつねこ 05/9/2(金) 12:00 発言
【28318】Re:差額チェック Help me!! 05/9/2(金) 13:59 質問
【28320】Re:差額チェック Help me!! 05/9/2(金) 14:06 発言
【28322】Re:差額チェック こたつねこ 05/9/2(金) 14:29 発言
【28324】Re:差額チェック Help me!! 05/9/2(金) 14:36 質問
【28330】Re:差額チェック こたつねこ 05/9/2(金) 15:30 回答
【28300】Re:差額チェック ちくたく 05/9/2(金) 12:04 回答
【28301】Re:差額チェック m2m10 05/9/2(金) 12:12 回答
【28307】Re:差額チェック Help me!! 05/9/2(金) 13:00 質問
【28309】Re:差額チェック m2m10 05/9/2(金) 13:06 回答
【28312】Re:差額チェック Help me!! 05/9/2(金) 13:26 質問
【28315】Re:差額チェック m2m10 05/9/2(金) 13:42 発言
【28317】Re:差額チェック m2m10 05/9/2(金) 13:56 発言
【28308】Re:差額チェック りん 05/9/2(金) 13:03 回答
【28310】Re:差額チェック Help me!! 05/9/2(金) 13:13 質問
【28321】Re:差額チェック りん 05/9/2(金) 14:20 回答
【28325】Re:差額チェック Help me!! 05/9/2(金) 14:42 質問
【28326】Re:差額チェック m2m10 05/9/2(金) 15:11 発言
【28332】助けてくださった皆様へ! Help me!! 05/9/2(金) 16:06 お礼

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