
コピーした範囲を貼り付ける際に、持っているデータの一番最後から貼り付けていく方法を探しています。
VBAの領域でしょうか。。。
例えばセル番地A1からA3には数値の1,2,3がそれぞれ入っている。それをコピーします。そのやりたい方法でA4番地のセルで”貼り付け”をすると3が、A5番地には2が、A6番地には1が貼付られるようにしたいのです。
形式を選択して貼り付け、というメニューの中にもそのような選択肢はありませんでした。
当ジャンル内で"貼付 逆から EXCEL エクセル 逆さま さかさま あべこべ”といったキーワードで検索してもなかったです。
また念のため、”コンピューター [技術者向け] > プログラミング > Visual Basic ”カテゴリもちょっと調べたのですが、なかったので質問させてください。
宜しくお願いします
No.6ベストアンサー
- 回答日時:
こんにちは。
マクロでの解決のようですから、以下のような方法で出来ます。最初にマウスで、コピーする範囲を選択してから、マクロを実行します。ショートカットに取り付けると良いかと思います。
'標準モジュール
Sub ReverseCopy()
'逆さにコピーする
Dim myRng As Range
Dim Dest As Range
Dim i As Long
Dim j As Integer
Dim k As Long
If TypeName(Selection) <> "Range" Then Exit Sub
Set myRng = Selection
Application.DisplayAlerts = False
On Error Resume Next
Set Dest = Application.InputBox("貼り付け先を指定してください", Type:=8)
If Dest Is Nothing Then Exit Sub
On Error GoTo 0
Application.DisplayAlerts = True
Set Dest = Dest.Cells(1)
With myRng
For j = 1 To .Columns.Count
For i = .Rows.Count To 1 Step -1
k = k + 1
Dest(k, j).Value = .Cells(i, j).Value
Next i
k = 0
Next j
End With
End Sub
お礼が遅くなり、誠に申し訳ありません。
コードまでお書き頂き、ありがとうございます。
しかもDialog形式で、任意の所に貼り付けられるだなんて。。。
コメントを書き、自分のものにしてみようと思います。
ありがとうございました。
No.5
- 回答日時:
簡単な方法をひとつ
A B C D E F
1 2 3 4 5(1)
2 3 4 5 6(2)
3 4 5 6 7(3)
4 5 6 7 8(4)
例えば、この様なデータが有ったとしてこれをA列が4→1の順にコピー
できれば良いのですね
F列の最初に1を入力してオートフィルで1づつ加算しますと()内の値になります
そしてコピーしたい所を選択してコピー先にコピーします(A1からF4までを選択)
コピーされたデータを並べ替えしますが、第一キーをF列にすれば出来ませんか?
(F列で降順、範囲の先頭行をデータで並べ替えして下さいね)
何でも関数、マクロ、VBAではなくてこんな方法も有る事を覚えて下さいね
お礼が遅くなり、誠に申し訳ありません。
>何でも関数、マクロ、VBAではなくてこんな方法も有る事
言われる点、よく分かります。
VBAとかでなくても、意外と解決経路ってあるものですよね。
ただ今回は、連番でない場合の逆貼付もありえるので。。。
どちらにせよ、ありがとうございました!
No.4
- 回答日時:
あぅ(^^; 間違えました m(__)m
上記MMULT()の中身が逆でした
誤 =MMULT(A1:A3,C1:F3)
正 =MMULT(C1:F3,A1:A3)です
失礼しました。
shft+ctrl+ENTERすると入力されたセルの中の式は
{=MMULT(C1:F3,A1:A3)} と{}で囲まれたものになります。
必要な数のセルを選択した状態でその中の一番上にだけ入力すれば選択範囲全部におなじ式が入ります。
No.3
- 回答日時:
行列計算で入れ替えるのはいかがでしょうか?
でかくなると面倒なので3つだけで書きます
ずれると見難いかもなので便宜上全角で表記します
A B C D F
----------------
1| 3 0 0 1
2| 8 0 1 0
3| 2 1 0 0
A列の 3、8、2 が逆に並べたいデータだとします
(見やすくするためにB列は空欄にしています)
並べ替えたデータを置く場所を(たとえばH1:H3)選択して
=MMULT(A1:A3,C1:F3)と打ち込み、
shft+ctrl+ENTERで入力します(普通にENTERだけではありません)
並べ替えるデータが4つのときは4×4の、10個ののときは10×10の「単位行列」(の逆並び)を作ればおっけいです。ようは右上から左下への対角線にだけ1が並び、他のところは0がならんだ正方形ということです。
これで数字がその値の大きさ順に並んでなくてもそのままの逆順になると思うのですがお試しください。
お礼が遅くなり、大変申し訳ありません。
MMULT関数、始めて知りました。
行列の積を返す関数、みたいですね。
行列を少し勉強すれば、使いまわせそうです。
ありがとうございます!
No.1
- 回答日時:
貼り付けた後にソートっていう動きではダメでしょうか?
当方、マクロ記憶にてやってみました。
Sub Macro4()
Range("A1:A3").Select
Selection.Copy
Range("A4").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A4"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
End Sub
お礼が遅くなり、大変申し訳ありません。
>Order1:=xlDescending
実際に実行せずの意見で、違っていたら申し訳ないのですが、
上記記述から推測するに、単純に並べ替えるのでしたら、
少し意図と違うかな、と。
1
2
3
4
みたいなケースでしたらいいのでしょうが、場合によっては
1
6
5
2
を
2
5
6
1
と並べ替えたい場合もあるのです。
どちらにせよ、お忙しい中ご回答ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) ログインIDの一発入力? 5 2023/07/07 12:30
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) エクセルからビジオのリンク貼り付け 1 2023/03/30 17:51
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) 複数のExcelブックのシート1の内容を1つのExcelブックにコピー貼り付けたいのでvbaコードを 7 2023/02/10 23:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのVBAで複数のシートを追...
-
オートフィルターの絞込みをし...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】【画像あり】関数が...
-
空白のはずがSUBTOTAL関数でカ...
-
Excelで4択問題を作成したい
-
エクセルについて
-
エクセルシートの見出しの文字...
-
【Officer360?Officer365?の...
-
エクセルの複雑なシフト表から...
-
Excelに貼ったXのURLのリンク...
-
グループごとの人数のカウント
-
グループごとの個数をカウント...
-
ページが変なふうに切れる
-
エクセル
-
エクセル ドロップダウンリスト...
-
グループごとの人数のカウント
-
エクセル GROUPBY関数について...
-
特定のセルだけ結果がおかしい...
-
VBA チェックボックスをオーバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報