Excel VBA質問箱 IV

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

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


10848 / 76734 ←次へ | 前へ→

【71431】Re:実行日を取得するマクロとコピーした行挿入
回答  UO3  - 12/3/1(木) 22:27 -

引用なし
パスワード
   ▼どじょりん さん:

>1.sheet(削除一覧)の販売数欄に、台帳の在庫数が入力されている
>  →台帳シートのA列の販売数を転記したい

ごめんなさい。アップされたレイアウトをよく見ていませんでした。
ところで、罫線ですが、元シートの罫線と同じスタイルということですか?
とりあえず、以下は元シートの罫線が、あっても無視して、新たに、適当なものをセットしています。

Private Sub CommandButton1_Click()
  Dim wkCol As Long
  Dim x As Long
  Dim y As Long
 
  If WorksheetFunction.Count(Columns("A")) = 0 Then
      MsgBox "削除すべきデータがありません"
    Exit Sub
  End If

  Application.ScreenUpdating = False
 
  'まず空白以外を抽出
  wkCol = Range("A2").CurrentRegion.Columns.Count + 2 '作業列番号
  Cells(1, wkCol).Value = Range("A2").Value      '販売数タイトル
  Cells(2, wkCol).Value = "<>"            '抽出条件 空白以外
  
  Range("A2").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Cells(1, wkCol).Resize(2), CopyToRange:=Cells(1, wkCol + 2), Unique:=False
  With Cells(1, wkCol + 2).CurrentRegion
    y = .Rows.Count - 1 '抽出データ行数
    x = .Columns.Count '一覧列数
  End With
 
  With Worksheets("削除一覧")
    .Rows(2).Resize(y).Insert
    With .Range("A2").Resize(y, x)                '★追加
      .Value = Cells(2, wkCol + 2).Resize(y, x).Value     '★変更
      .Borders.LineStyle = xlThin               '★追加
      .Borders.Weight = xlContinuous              '★追加
    End With                           '★追加
    .Range("D2").Resize(x).Value = .Range("A2").Resize(x).Value '★追加
    .Range("A2").Resize(y).Value = Date
  End With
 
  '在庫引落
  y = Range("A" & Rows.Count).End(xlUp).Row
  Range("A3:A" & y).Copy
  Range("D3").PasteSpecial Paste:=xlPasteAll, Operation:=xlSubtract, _
                      SkipBlanks:=False, Transpose:=False

  Cells(1, wkCol + 2).CurrentRegion.Clear
  Cells(1, wkCol).Value = Range("D2").Value      '在庫数タイトル
  Cells(2, wkCol).Value = ">0"            '抽出条件 在庫 0
 
  Range("A2").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Cells(1, wkCol).Resize(2), CopyToRange:=Cells(1, wkCol + 2), Unique:=False
  
  'リスト置換え
  With Range("A2").CurrentRegion
    .Value = Cells(1, wkCol + 2).Resize(.Rows.Count, .Columns.Count).Value
    .Resize(.Rows.Count - 1, 2).Offset(1).ClearContents   '★追加
  End With
 
  Cells(1, wkCol).CurrentRegion.Clear
  Cells(1, wkCol + 2).CurrentRegion.Clear
 
  Application.ScreenUpdating = True
 
  MsgBox "処理が終わりました"
End Sub
6 hits

【71380】実行日を取得するマクロとコピーした行挿入 どじょりん 12/2/28(火) 5:40 質問
【71381】Re:実行日を取得するマクロとコピーした行... ichinose 12/2/28(火) 8:05 発言
【71386】Re:実行日を取得するマクロとコピーした行... UO3 12/2/28(火) 12:36 発言
【71387】Re:実行日を取得するマクロとコピーした行... UO3 12/2/28(火) 12:40 発言
【71390】Re:実行日を取得するマクロとコピーした行... UO3 12/2/28(火) 13:00 発言
【71391】Re:実行日を取得するマクロとコピーした行... UO3 12/2/28(火) 13:06 発言
【71395】Re:実行日を取得するマクロとコピーした行... UO3 12/2/28(火) 14:49 発言
【71401】Re:実行日を取得するマクロとコピーした行... どじょりん 12/2/29(水) 0:50 お礼
【71428】Re:実行日を取得するマクロとコピーした行... どじょりん 12/3/1(木) 18:46 質問
【71431】Re:実行日を取得するマクロとコピーした行... UO3 12/3/1(木) 22:27 回答
【71432】Re:実行日を取得するマクロとコピーした行... UO3 12/3/1(木) 22:32 発言
【71474】Re:実行日を取得するマクロとコピーした行... どじょりん 12/3/9(金) 4:59 質問
【71477】Re:実行日を取得するマクロとコピーした行... UO3 12/3/9(金) 13:46 回答

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