
No.5ベストアンサー
- 回答日時:
Sub ExchangeSelectedCell()
Dim xRange As Range
Dim xRow(1 To 10) As Long
Dim xPart As Long
If Selection.Areas.Count > 1 Then
xPart = 1
For Each xRange In Selection.Areas
MsgBox (xPart & " 番目に選択されたのは、" & "行:" & xRange.row)
If (xRow(1) = 0) Then
xRow(1) = xRange.row
Else
xRow(2) = xRange.row
If (xRow(1) > xRow(2)) Then
xRow(2) = xRow(1)
xRow(1) = xRange.row
End If
Exit For
End If
xPart = xPart + 1
Next xRange
Else
Exit Sub
End If
With ActiveSheet
.Rows(xRow(2)).Copy
.Rows(xRow(2)).Insert
.Cells(xRow(2), "A") = .Cells(xRow(1), "A")
.Cells(xRow(1), "A") = .Cells(xRow(2) + 1, "A")
.Rows(xRow(2) + 1).Delete
End With
End Sub
大変遅くなりました。
恒久ロジックとしてお知恵を拝借します。
コードの理解
最初に選択したセル内容を退避し(行追加)、2番目に選択したセルを内容を
1番目に選択したセルに移し、退避したセル内容を2番目に選択した
セルに戻す。
Vbaにより記述するとこのようになるのですね。
◎実際には、選択した行に複数の項目(列)がありますので
退避用エリアを設けご教示して頂いたコードに改造をかけ
使えるようになりました。
お礼遅くなりました。
その日に5名の方からご教示頂き感謝しています。
◎データを入れ替えると関数の再計算が始まり
大変時間がかかります。後でわかったことですが
自動計算を抑止し入れ替えをするようにしました。
マクロでも組み込もうと思っています。
以上
No.4
- 回答日時:
とりあえず簡易版で、生データとして入れ替えます。
sub macro1()
dim buf as variant
if selection.areas.count <> 2 then exit sub
if selection.areas(1).rows.count <> selection.areas(2).rows.count _
or selection.areas(1).columns.count <> selection.areas(2).columns.count then
msgbox "範囲の形が違います"
exit sub
end if
buf = selection.areas(1).value
selection.areas(1).value = selection.areas(2).value
selection.areas(2).value = buf
end sub
#「行と行を入れ替える」のように限定的な機能を実現するので良ければ、それに応じて高機能なマクロにすることも簡単になります。寄せられた回答などを参考に、随時研究してみて下さい。
No.3
- 回答日時:
こんにちは!
「並べ替え」ではなく、単に「ウ町」と「い町」を入れ替えるだけの操作ですね?
淡々と上の行から順番に検索して、入れ替えるだけだと思います。
一例です。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim i As Long, str1 As String, str2 As String
str1 = "い町"
str2 = "ウ町"
For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(i, 1) = str1 Then
Cells(i, 1) = str2
ElseIf Cells(i, 1) = str2 Then
Cells(i, 1) = str1
End If
Next i
End Sub 'この行まで
こんな感じではどうでしょうか?m(_ _)m
No.2
- 回答日時:
VBAではないので、参考としてください。
1.「い町」をセレクトする
2.シフトを押しながら、「い町」の黒枠をクリックして「ウ町」の下にドラッグ
(Iの字の線が出ることで確認) これで、並びは、あさウいになる
3.同様に「さ町」をセレクト、シフトを押しながら、「ウ町」のしたにドラッグ
文章で書くと、ややこしいですが、シフトを押しながらドラッグすると、入れ替えができます。
隣同士であれば、まさに入れ替え。離れていると、そこへ持っていくだけですが。
尚、複数セル、列、行でも、使えます。
その他、膨大なデータに対応することが必要なら、捨て列を1つ臨時に設けて、
そこに1から数字を順番に記入します。
問題の入れ替えたい場所だけ、数字を入れ替えます。で、もって、
2列(「あ町」の列と臨時の列)を選択して、臨時の列についてソートを実行します。
(注:捨て列に1からの番号を入れるやり方。1秒でできます・・・・10000行あっても
A1に1を入れてエンター
A2に2をいれてエンター
A1,A2をセレクト。右下コーナーの黒ボッチをマウスでダブルクリック
-->結果、A3に3、A4に4が入ります)

No.1
- 回答日時:
A1からC4までをドラッグして、A列で「並べ替え(S)」(メニューの「データ(D)」にある)すれば、ご希望の並べ替えができます(お示しの並べ方だと昇順)。
それをVBAで記録すれば、元となるコードが得られますので、適宜、改造するといいのではないかと思います。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル関数について 2 2022/05/30 14:36
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) Excelで、行に複数の数字が入力されているセルが複数の列存在し、行を跨いでセル内の数値を並び替える 5 2022/06/17 18:03
- 大学受験 理学療法の大学に行こうと考えていて、第1志望の大学が模試でE判定で、国語、英語、数学が必須の入試科目 2 2023/08/01 22:14
- Excel(エクセル) Excel での関数についての質問です。 例えばA列に商品名を、B列に個数をそれぞれ入力しています。 7 2023/05/13 10:51
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Visual Basic(VBA) C3とC4のセルに、Visual basicで実行した時入力した値をC3に表示させ、その後に、C3に 1 2023/07/14 09:43
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
EXCEL VBAでセルデータの交換をしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロで最終行を取得してコピ...
-
Excel VBAでオートフィルタで抽...
-
【VBA】条件に一致しない行を削...
-
数値に見えるものはすべて数値...
-
エクセルのデータがない行には...
-
【VBA】条件に一致しない行を削...
-
Access2003レポート:最終ペー...
-
VBAで入力の結果を他のセルに反...
-
エクセルで空白行を削除する ...
-
VBA 複数列コンボボックス 値の...
-
エクセルマクロでの行削除の方...
-
マクロにて指定の文字間の文字...
-
Excel97 指定した行だけマク...
-
オートフィルターの複数条件検...
-
EXCEL VBAでA列にある空白行よ...
-
エクセルのマクロについて質問...
-
Excel マクロ 検索結果を別シ...
-
vbaエクセルマクロについて she...
-
Excelで、あるセルの値に応じて...
-
VB.net
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
数値に見えるものはすべて数値...
-
エクセルで空白行を削除する ...
-
Excel VBAでオートフィルタで抽...
-
VB.net
-
エクセルのデータがない行には...
-
列から特定の文字列検索→該当以...
-
【VBA】条件に一致しない行を削...
-
Excel マクロ 検索結果を別シ...
-
マクロにて指定の文字間の文字...
-
エクセルで階層図を作る方法
-
EXCEL VBAでA列にある空白行よ...
-
VBAで入力の結果を他のセルに反...
-
各個体に対する平均値の自動計...
-
vbaエクセルマクロについて she...
-
テキストファイル読み込みにお...
-
Excel97 指定した行だけマク...
-
コマンドボタンでの自動計算マ...
-
Access2003レポート:最終ペー...
おすすめ情報