アプリ版:「スタンプのみでお礼する」機能のリリースについて

os xp
excel 03
流れですけれどマクロを組み立ててもらいたいのですが?

任意のセルにカーソルを置いて其処からの動作開始
例えば 任意のセル C2 にカーソルを置いて
*A
Selection.Copy   ’ <---数字
Range("a65530").Select
Selection.End(xlUp).Select
'??? up の後一段 down しないと前の記録にかぶる為にdownさせたい。  '<---  ???
ActiveSheet.Paste
Application.CutCopyMode = False
'??? .Copyの完了後に元に(C2)に戻したい  '<---  ???
**A  *Aのマクロが終了したら セルが一段落ちて  '<---  ???
*B もしもセルが空白だったら 次の列へ (C2から開始ですからD2へ) '<---  ???
*C もしも次の列のセルが空白だったら 終了  '<---  ???
*D *Aに戻る。  '<---  ???

A 回答 (3件)

myLine = Range("A65530").End(xlUp).Row



とすれば myLine に最後の行数が入りますので
それを +1 するなり、好きなように応用すれば良いのでは...
    • good
    • 0
この回答へのお礼

北海道で遅く寒いなかで有難うございました。
自分のレベル=ラベルなもので理解するように保存します。

お礼日時:2008/11/22 11:17

既出ご回答に、感動。

完動といっているが
小生が問題を読むと、イベントと係わる問題ではないか?
Sheet1のSelectionイベントに下記を貼り付け
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
MsgBox "A列以外を選択のこと"
Else
If Target.Cells.Count > 1 Then
MsgBox "1セルのみ選択のこと"
Else
If Target = "" Then '空白
If Target.Offset(0, 1) = "" Then '空白+隣右空白=>何もしない
Exit Sub
Else '空白+右非空白=>隣右列コピー
Target.Offset(0, 1).Copy Range("A65536").End(xlUp).Offset(1, 0)
End If
Else '非空白=>自身をコピー
Target.Copy Range("A65536").End(xlUp).Offset(1, 0)
End If

End If
End If
End Sub
こういうイメージでは無いか?
A列以外をクリクすると、A列の最下行の次に追加していく。
空白の場合は右となりセルを追加する。
例データ A列は指定順序に関係するのでイメージだけ
A列  B列  C列  D列    E列
123
22ー4
33ーー5
24ー34
3
26ー41
3
・・・
ーは空白セルを意味す。
ーーー
テストは、A列を空白にして、B-E列データは例えば上記のように先に入力し、適当にセルをクリックしてA列の変化を見てください。
データを作るとき反応しては困るので
VBE画面で実行ー中断状態にして、その後にシートにデータ入力し、入力し終わったら実行ーリセットでテストが始まる。そして任意のセルをクリックしてみる。
    • good
    • 0

こんなことですか?理解が違っていたら悪しからず。


Sub test()
Dim srcRange As Range, destRange As Range

If TypeName(Selection) <> "Range" Then Exit Sub
If Selection.Cells.Count > 1 Then Exit Sub
Set srcRange = Selection
Set destRange = Range("a65530").End(xlUp).Offset(1, 0)
Do
srcRange.Copy destRange
Set srcRange = srcRange.Offset(0, 1)
Set destRange = destRange.Offset(1, 0)
Loop Until srcRange.Value = ""
End Sub
    • good
    • 0
この回答へのお礼

感動、完動、お世話様でした。
100%完動でした
またのであいぉ

お礼日時:2008/11/22 11:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!