|
▼かみちゃん さん:
こんにちは。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
|
|