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も見ています
-
【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
【お題】 ・存在しそうで存在しないモノマネ芸人の名前を教えてください
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
VBAで上下のセルを入れ替えるには?
Excel(エクセル)
-
エクセルVBA 2つの行を入れ替えるマクロで、数式を反映したい
Excel(エクセル)
-
EXCEL VBAでセルデータの交換をしたい
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.net
-
数値に見えるものはすべて数値...
-
エクセルで空白行を削除する ...
-
【VBA】条件に一致しない行を削...
-
列から特定の文字列検索→該当以...
-
Excel VBAでオートフィルタで抽...
-
【VBA】条件に一致しない行を削...
-
空白を複数行一気に挿入するには?
-
【EXCEL VBA】行の表示・非表示...
-
Excel 別ブックから該当データ...
-
エクセルのデータがない行には...
-
EXCELマクロで自動改行
-
【VBA】指定月のオートフィルタ...
-
マクロで最終行を取得してコピ...
-
エクセルで階層図を作る方法
-
VBAで保存しないで閉じると空の...
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
エクセル関数>参照ファイル名...
-
エクセル マクロ名にブック名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのデータがない行には...
-
【VBA】条件に一致しない行を削...
-
エクセルで空白行を削除する ...
-
マクロで最終行を取得してコピ...
-
数値に見えるものはすべて数値...
-
Excel VBAでオートフィルタで抽...
-
【VBA】条件に一致しない行を削...
-
VB.net
-
EXCEL VBAでA列にある空白行よ...
-
エクセルのVBAで指定した行数の...
-
Excel マクロ 検索結果を別シ...
-
列から特定の文字列検索→該当以...
-
各個体に対する平均値の自動計...
-
【至急】Excel 同一人物の情報...
-
Excel 別ブックから該当データ...
-
マクロにて指定の文字間の文字...
-
Excel VBA オートフィルタの結...
-
エクセルマクロでグループごと...
-
VBAで特定の行と一つ上の行を削...
-
Access2003レポート:最終ペー...
おすすめ情報