ここから本文です

1.データの入ったA列とB列で、セルA1とセルB1の値を比較して、大きい方の値をセルA...

go_********さん

2011/1/1910:47:00

1.データの入ったA列とB列で、セルA1とセルB1の値を比較して、大きい方の値をセルA1に入れる
2.以後、最終行まで動作を繰り返す
このようなマクロはどんな書き方になりますでしょうか?宜しくお願いします。

補足回答ありがとうございます。

>> A列はどんどん変更がされていくが、元のA列の数字は消えますよ・・・
>> 元のシートは写真のような感じですか?

B列の数字で上書きされるのであれば、
A列の数字が消えても大丈夫です。

写真が貼れなかったのですが、A列、B列ともに空欄があります。
同じ行でも、A列が空欄、B列が数字ありの場合も、その逆もあります。

宜しくお願いします。

閲覧数:
146
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

har********さん

編集あり2011/1/1915:25:43

こんな感じですが・・・
'*******
Sub test()
Dim i As Long
With Sheets(1)
For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, 1).Value > .Cells(i, 2).Value Then
.Cells(i, 1) = .Cells(i, 1)
Else: .Cells(i, 1) = .Cells(i, 2)
End If
Next i
End With
End Sub
''************************
A列はどんどん変更がされていくが、元のA列の数字は消えますよ・・・
元のシートは写真のような感じですか?

////////////補足に関して///////////////
>列、B列ともに空欄があります。
>同じ行でも、A列が空欄、B列が数字ありの場合も、その逆もあります

了解しました、更に文字(あ、か、さ等)もあってもかまいません。
次のコードに置き換えてください。
Sub test2()
Dim i As Long
With Sheets(1)
For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If IsNumeric(.Cells(i, 1)) And IsNumeric(.Cells(i, 2)) Then
'Cells(i, 1).Select
If .Cells(i, 1).Value > .Cells(i, 2).Value Then
.Cells(i, 1) = .Cells(i, 1)
Else: .Cells(i, 1) = .Cells(i, 2)
End If
End If
Next i
End With
End Sub

こんな感じですが・・・
'*******
Sub test()
 Dim i As Long
With...

質問した人からのコメント

2011/1/20 11:38:34

遅くなり失礼しました。
追加して下さった回答でおかげさまで完了しました。
ありがとうございました。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

all********さん

編集あり2011/1/1911:39:46

マクロではありません

C1
=MAX(A1:B1)
下方向にコピー
このC列範囲コピー→A1で 右クリック→形式を選択して貼り付け
→値に チェック→OK
B・C列データは不要で削除

ta_********さん

2011/1/1911:05:39

こんな感じになります。
シートの指定・エラー処理は一切考えてません。

Sub test()
Dim myR As Range

For Each myR In Range("A1:A" & Range("A" & Rows.Count).End(xlUp))
If myR.Value < myR.Offset(, 1).Value Then
myR.Value = myR.Offset(, 1).Value
End If
Next

End Sub

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる