Excel VBA質問箱 IV

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

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


20142 / 76732 ←次へ | 前へ→

【62013】Re:行の挿入について
発言  kanabun  - 09/6/17(水) 0:38 -

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

>「合計」の下に1行追加と「値引」の上に1行追加と言うのは
>問題なくできたのですが、他の処理(今回のところで言うと
>次にある「式」の下(上)に1行追加)の場所では、
>挿入されません。

後半の部分については moriさんからもう少し具体的な説明が
あるまで回答を控えさせていただきます。

ところで、
ひとつ 重要なことを考慮していなかったので
その部分を修正したコードを投稿しておきます。
その部分とは 1列目の転記が 「合計」か「値引」かの
条件のまえで実行されていたため、
他の列と同じ行に転記されていなかったことです。
以下に 1列目も 条件節の中に入れたものを示します。
こちらのデバッグの都合上、また列の内容を理解しやすく
するため、変数を日本語などに変えていますのでご了承を。

Sub CreateMitsumori▲3()

 Dim i          As Long
 Dim j          As Long
 Dim lngMaxRow      As Long
 Dim newLine       As Long
 Dim 行番号 As String
 Dim 適用 As String
 Dim 数量 As String
 Dim 単位 As String
 Dim 単価 As String
 Dim 金額 As String
 Dim Trim適用 As String '適用項目 トリミング後

 With Worksheets(3)
  '一時シートから行数を取得
  lngMaxRow = Worksheets("TMP1").Cells(Rows.Count, 1) _
        .End(xlUp).Row
  j = 1
  For i = 31 To lngMaxRow
   If j = 1 Then
   ElseIf j Mod 29 = 1 Then
    'A列〜U列まで 29行をCopy
    .Range("A4").Resize(29, 21).Copy .Cells(j + 3)
    With .Cells(j + 3).Resize(29, 21)
      .RowHeight = 27
      Worksheets(3).PageSetup.PrintArea = .Cells
    End With
   End If
   j = j + 1
  Next

  newLine = 4       '◆最初の貼り付け先行番号
  For i = 31 To lngMaxRow
   
   行番号 = Worksheets("TMP1").Cells(i, 1).Value
   適用 = Worksheets("TMP1").Cells(i, 2).Value
   数量 = Worksheets("TMP1").Cells(i, 3).Value
   単位 = Worksheets("TMP1").Cells(i, 4).Value
   単価 = Worksheets("TMP1").Cells(i, 5).Value
   金額 = Worksheets("TMP1").Cells(i, 6).Value

   'マイナス行番号を カッコ付き行番号にします
   If 行番号 Like "-*" Then
    行番号 = "'(" & Mid(行番号, 2) & ")"
   End If

   '文字列チェック
   Trim適用 = Application.Trim(適用)
   If InStr(Trim適用, "値引") Then '値引があれば
    Trim適用 = "値引"       '値引を抜き出します
   End If

   '転記開始
   If Trim適用 = "合計" Then
    '合計がある場合、小計欄のみに金額を挿入
    .Cells(newLine, 1).Value = 行番号
    .Cells(newLine, 2).Value = 適用
    .Cells(newLine, 6).Value = 金額
    newLine = newLine + 1      '◆前方空行挿入
   
   ElseIf Trim適用 = "値引" Then
    newLine = newLine + 1      '◆後方空行挿入
    .Cells(newLine, 1).Value = 行番号
    .Cells(newLine, 2).Value = 適用
    .Cells(newLine, 6).Value = 金額
   
   Else
    .Cells(newLine, 1).Value = 行番号
    .Cells(newLine, 2).Value = 適用
    .Cells(newLine, 3).Value = 数量
    .Cells(newLine, 4).Value = 単位
   End If
   newLine = newLine + 1       '◆次の転記行

  Next

 End With

End Sub

0 hits

【61954】行の挿入について mori 09/6/14(日) 18:59 質問
【61955】Re:行の挿入について かみちゃん 09/6/14(日) 19:14 発言
【61956】Re:行の挿入について mori 09/6/14(日) 19:34 発言
【61957】Re:行の挿入について かみちゃん 09/6/14(日) 19:46 発言
【61958】Re:行の挿入について mori 09/6/14(日) 20:02 発言
【61959】Re:行の挿入について かみちゃん 09/6/14(日) 20:13 発言
【61960】Re:行の挿入について mori 09/6/14(日) 20:37 発言
【61961】Re:行の挿入について かみちゃん 09/6/14(日) 21:00 発言
【61962】Re:行の挿入について mori 09/6/15(月) 9:48 発言
【61964】Re:行の挿入について かみちゃん 09/6/15(月) 12:42 発言
【61967】Re:行の挿入について mori 09/6/15(月) 14:44 発言
【61970】Re:行の挿入について kanabun 09/6/15(月) 15:09 発言
【61974】Re:行の挿入について mori 09/6/15(月) 15:32 お礼
【61996】Re:行の挿入について mori 09/6/16(火) 14:30 質問
【61998】Re:行の挿入について kanabun 09/6/16(火) 15:17 発言
【62001】Re:行の挿入について mori 09/6/16(火) 15:44 発言
【62005】Re:行の挿入について kanabun 09/6/16(火) 16:13 発言
【62008】Re:行の挿入について mori 09/6/16(火) 17:03 発言
【62009】Re:行の挿入について kanabun 09/6/16(火) 17:42 発言
【62013】Re:行の挿入について kanabun 09/6/17(水) 0:38 発言
【62016】Re:行の挿入について mori 09/6/17(水) 10:00 発言
【62017】Re:行の挿入について kanabun 09/6/17(水) 11:12 発言
【62019】Re:行の挿入について kanabun 09/6/17(水) 11:30 発言
【62021】Re:行の挿入について mori 09/6/17(水) 13:02 発言
【61971】Re:行の挿入について Yuki 09/6/15(月) 15:13 発言
【61976】Re:行の挿入について mori 09/6/15(月) 15:36 発言
【62015】Re:行の挿入について Yuki 09/6/17(水) 8:29 発言
【62026】Re:行の挿入について mori 09/6/17(水) 13:48 お礼
【61973】Re:行の挿入について かみちゃん 09/6/15(月) 15:32 発言
【61977】Re:行の挿入について mori 09/6/15(月) 15:52 お礼
【62012】Re:行の挿入について かみちゃん 09/6/16(火) 23:30 発言
【62025】Re:行の挿入について mori 09/6/17(水) 13:43 お礼

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