Excel VBA質問箱 IV

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

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


19681 / 76732 ←次へ | 前へ→

【62479】Re:セル範囲を指定して削除するには?
お礼  AT  - 09/7/24(金) 1:30 -

引用なし
パスワード
   ▼かみちゃん さん:
こんにちは。AT です。

>このようにすると、そもそもの質問にある行削除は必要なくなると思います。
>
>Sub Sample()
> Range("O2:P" & Rows.Count).Clear
> Range("O2").FormulaR1C1 = "=IF(RC[-2]=RC[-1],""○"",""×"")"
> Range("P2").FormulaR1C1 = "=IF(RC[-1]=""○"",""試済"",""未"")"
> Range("O2:P2").Copy Range("O2:O" & Range("A" & Rows.Count).End(xlUp).Row)
>End Sub

↑上記のマクロを組み込んだところ、うまくいきました。

確かに、かみちゃんさんのご指摘のとおり、
わざわざ、データの編集範囲を"555行"に設定して、後から削除するのは、
効率が悪いですね。

また、この方法だと、今後、データが"555行"を超えたとしても、対処できる
ので、とても素晴らしいです。感謝です。

すみませんが、あと、1点教えてください。

[P列]のステータスが"試済"の場合、ACCESSで、データを抽出した時点で既に
[H列]の完了実績日の各欄に、試済完了実績日が入力されているのですが、
[P列]のステータスが"未"の場合、[H列]の完了実績日の各欄は、データが何も
入力されていないタダの空欄になっています。

この空欄に"―"を入力したいのですが、どのようにマクロを記述すればよろしい
でしょうか?

下記のマクロもExcelの自動記録機能を使い、作成しました。

'ステータス_未のデータを表示させる Macro
  ActiveSheet.Range("$A$1:$P$55").AutoFilter Field:=16, Criteria1:="未"
  ActiveWindow.SmallScroll ToRight:=-3
  Range("H1:H555").Select
  With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
  End With
  With Selection.Font
    .Name = "MS Pゴシック"
    .Size = 11
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .ThemeFont = xlThemeFontNone
  End With
  Range("H1").Select
  
'[P列]のステータスが[未]の場合、[H列]の完了実績日の欄に[―]を入れる Macro
  Range("H2:H555").Select
 'Range("H3:H555").Select 'H2が試済だった場合は、H3から―を入力する
  Range("H2").Activate
 'Range("H3").Activate   'H2が試済だった場合は、H3から―を入力する
  ActiveCell.FormulaR1C1 = "―"
  Selection.FillDown
  
'フィルターを掛け、ステータス[試済]&[未]を表示させる Macro'
  Range("P1").Select
  ActiveSheet.Range("$A$1:$P$555").AutoFilter Field:=16
  Range("A2").Select


    
235 hits

【62453】セル範囲を指定して削除するには? AT 09/7/22(水) 19:13 質問
【62454】Re:セル範囲を指定して削除するには? かみちゃん 09/7/22(水) 19:21 発言
【62459】Re:セル範囲を指定して削除するには? AT 09/7/22(水) 22:34 お礼
【62461】Re:セル範囲を指定して削除するには? かみちゃん 09/7/22(水) 23:27 発言
【62465】Re:セル範囲を指定して削除するには? かみちゃん 09/7/22(水) 23:46 発言
【62479】Re:セル範囲を指定して削除するには? AT 09/7/24(金) 1:30 お礼
【62480】Re:セル範囲を指定して削除するには? かみちゃん 09/7/24(金) 6:22 発言
【62490】Re:セル範囲を指定して削除するには? AT 09/7/25(土) 13:44 お礼
【62478】Re:セル範囲を指定して削除するには? AT 09/7/24(金) 0:19 お礼

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