1つだけ過去を変えられるとしたら?

VBAコードを入れているエクセルファイルにおいて、単純に、コピぺができません。解決方法があれば教えて下さい!

ファイルのコピーではなくて、ファイル内のセルの値をコピーして、別のセルに貼り付けるという単純なコピペができません。
こぴーの選択はできるのですが、いざ貼り付けようとすると、貼り付け項目が無効になっており、選択できません。

他のマクロなしのエクセルのファイルではできるので、VBAコードを入れたのが原因かと思うのですが、どうなのでしょうか?

解決方法を、お分かりの方がいたら教えて下さい!

A 回答 (3件)

>手動で にするのは、マクロの開発を選択する方法の事でしょうか?


基本はそうです
実行し易くするために【クイックアクセスツールバー】に登録しても良いですね
該当Bookを使っている時だけの適用もできます
↓参考ページ
https://itsakura.com/excel-vba-set-quicktoolbar

↓のようなマクロを【標準モジュール】においてから登録すれば良いと思います
実行する度にReturn後のカーソルの動きを 右→下→右→下 と切り替えます

Sub 右下切換()
  With Application
    If .MoveAfterReturnDirection = xlDown Then
      .MoveAfterReturnDirection = xlToRight
    ElseIf .MoveAfterReturnDirection = xlToRight Then
      .MoveAfterReturnDirection = xlDown
    End If
  End With
End Sub


ThisWorkbookモジュールのイベントは BeforeCloseイベントだけにします


※それでも発生する場合はBookの破損を疑って、作り直しを検討したほうが良い気がしますね
    • good
    • 0
この回答へのお礼

またまた、お返事が、遅くなりすみません!
詳しく教えて頂いただき本当にありがとうございます!!
教えて頂いた方法を試してみようと思います!

お礼日時:2018/10/28 11:58

確認です


>他のセルを選択すると点線が消えてしまいます。
この他のセルは同一Book、同一シートのセルですか?

イベントコードはそれだけですか?
他にWorkbook_Activateなどのイベントコードは無いです?
(または全てのシートにイベントコードが書かれているとかクラスモジュールがあるとか)

提示のコードだけで同現象が発生するとは思えないんですよね

Activateイベントに書かれていたら、別Bookからのコピーがキャンセルされるという話はありましたが
http://www.moug.net/faq/viewtopic.php?t=77245
どうなんでしょうね

手っ取り早く解決したい場合は『妥協案』としてですが
今『自動で』Bookオープン時にカーソル右移動、クローズ時に下移動としている仕様を
『手動で』切り替えるような簡単なマクロで運用する、という運用変更で対応するほうが現実的な気がします

ちなみにExcelのバージョンは何でしょう?
    • good
    • 0
この回答へのお礼

色々と考えくださり、ありがとうござます!
コピー先のセルは同一ブックの別シートです。
見てみたところ、ThisWorkbookのところしか、入ってません、、、
バージョンは2010です。
手動で にするのは、マクロの開発を選択する方法の事でしょうか?

お礼日時:2018/10/26 18:44

>いざ貼り付けようとすると、貼り付け項目が無効になっており、選択できません。


この時、別セルを選択するとコピー元のチラチラ線も消える感じですかね?

その場合は、例えば、セルを選択した時にマクロが実行される「Worksheet_SelectionChange」などのイベントマクロが関係していると思われます

貼り付けできないのはそのファイル内の特定のシートでしょうか?それとも全シート?
特定のシートの場合は、そのシートのタブを右クリックして[コードの表示]をしてください
VBEのコードウィンドウが開きます
そこに Private Sub Worksheet_SelectionChange(ByVal Target As Range)
から始まるコードが書いてないでしょうか?

全シートの場合、VBEのプロジェクトウィンドウから該当ファイルのThisWorkbookモジュールを開いて、
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
から始まるコードが書いてないでしょうか?

あればそのコードを補足欄にコピペして内容を開示してもらえれば解決策が探れると思います

単純に、そのマクロが必要ないと判断できるなら、その該当コードを消去してしまえば良いです
    • good
    • 0
この回答へのお礼

お返事遅くなり、すみません!
end-uさんのおっしゃる通り、コピーを選択し、他のセルを選択すると点線が消えてしまいます。そして特定のシートではなく、ブック全体でコピペが出来ません。
T his Workbook に入力しているのは
ThisWorkbook
Private Sub Workbook_Open()
Application.Move AfterReturn = True
A pplication.Move AfterReturnDirection = xl To Right
End Sub
Private Sub Workbook_B eforeClose(Cancel As Boolean)
Application.MoveAfterReturn = True
Application.MoveAfterR eturnDirection = xlDown
End Sub

です。お知恵をお貸しください。

お礼日時:2018/10/26 09:10

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