
エクセル2010を使っております。
例えば、
A列とB列にデータが入っており、B列のデータをそのままA列に平行移動で上書きコピーしたいのですが、
条件がありまして、
特定の行(ここでは10行目から15行目としますが)を非表示状態にしております。
この非表示行を飛ばして上書きしたいのです。
ですから、結果としては
・A列の1~9行目まではB列の1~9行目のデータが入っていて
・A列の10~15行目までは元のA列の10~15行目までのデータが入っていて
・A列の16行目以降にはB列の16行目以降のデータが入っている、
ということになります。
可視セルを使ってもみたのですが、
どうしてもA列の10行目以降にB列の16行目以降のデータが入ってしまいます。
どのように処理したらよいかアドバイスよろしくお願いします。
No.5
- 回答日時:
こんばんは!
先を読みすぎかもしれませんが・・・
一般的な操作として行が非表示になるといえば、オートフィルタがすぐに思い浮かびます。
(もちろん手作業で非表示にすることもあるとは思いますが)
>非表示状態にしております。
はオートフィルタである行が非表示になっているという解釈で、VBAでの一例です。
オートフィルタを設定する場合は1行目は何らかの項目行が必要ですので、
データは2行目以降にあるとしています。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペースト → Excel画面に戻り、マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim i As Long
If ActiveSheet.FilterMode = True Then
For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row '←B列で最終行を取得
If Rows(i).Hidden = False Then
Cells(i, "A") = Cells(i, "B")
End If
Next i
End If
End Sub 'この行まで
※ オートフィルタでない場合は無視してください。m(_ _)m
こちらはオートフィルタの場合ですね。
私も少しだけVBAをやっているのでとても勉強になります。
参考にさせていただきます。
ありがとうございました。
No.4
- 回答日時:
>どのように処理したらよいかアドバイスよろしくお願いします。
1~9行目と16行目以降の2回に分けてコピーするのが最もシンプルで分かり易い方法です。
非表示セルを跨がると非表示セルを除いてコピーできません。
範囲選択後にAltキー+;キーで非表示領域を除いたデータをコピーの操作でクリップボードに取り込めますが貼り付けのときに2つの領域へ跨ることができませんので目的に合いません。
B10~B15がブランクの場合は貼り付け時に空白を無視する方法で貼り付ければ目的に合います。
作業用の列を使えれば次の式で値を選別すればコピー可能ですが、2回に分けてコピーする方が手っ取り早いでしょう。
=IF(AND(ROW()>9,ROW()<16),A5,B5)
尚、オートフィルでコピーすると非表示のセルにもコピーされますので、上記の式を下へ必要数だけオートフィルでコピーしてください。
作業用の列をコピーしてA列へ値の貼り付けを行えばよいでしょう。
No.3
- 回答日時:
簡単な方法:
A1に
=B1
と記入,A1をコピーしてA列の「見えてるセル」にふつーに貼り付け
状況に応じてA列をコピー,その場で形式を選んで値のみ貼り付けて完成。
別の手:
B1からB9まで,B列のデータを記入する
B10からB15まで,B列は「ホントに何も入ってない」空っぽの状態にする
B16以下にまた続きのデータを記入する
B1からB20までとかを「非表示とかしないで」全部まとめてコピーする
A1を選ぶ
形式を選んで貼り付けの「空白を無視する」にチェックしてそのまま上書き貼り付ける。
B列を「壊せない」なら,勿論B列から一度必要なネタだけをC列とかに転記して,そちらを使う事でも構いません。
No.2
- 回答日時:
まず、適当な使用していない列(ここでは仮にD列とします)の10行目~15行目に、「1」でも「あ」でも何でも良いので、何らかの値を入力して下さい。
この時、B10~B15のセル範囲を非表示としている方法が、もしも、セルの書式設定の表示形式を
;;;
とする事によるものである場合には、D列の(B列にデータが入力されている行範囲内における)全てのセルに、前もって次の様な関数を入力しておきますと、非表示の範囲が変更になった場合においても、一々、D列に値を入力しておく手間が省けます。
=IF(CELL("format",INDEX($B:$B,ROW()))="H",TRUE,"")
次に、以下の様な操作を行って下さい。
[ホーム]タブをクリック
↓
D列全体を選択
↓
[編集]グループの[並べ替えとフィルター]をクリック
↓
現れた選択肢の中にある[フィルター]をクリック
↓
D1セルの所に現れた「▼」ボタンをクリック
↓
現れた選択肢の中にある[(すべて選択)]の所にあるチェックを外す
↓
選択肢の中にある[(空白セル)]の所にあるチェックを入れる
↓
[OK]ボタンをクリック
↓
B列全体を選択
↓
オートフィルを使用して、B列のデータをA列にコピー
↓
[編集]グループの[並べ替えとフィルター]をクリック
↓
現れた選択肢の中にある[フィルター]をクリックする事で、フィルターを解除

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
エクセルのセル内の文字の一部...
-
Excel 文字列を結合するときに...
-
Excelで半角の文字を含むセルを...
-
エクセルで二つの数字の小さい...
-
Excel関数(通常はA列優先で、...
-
「B列が日曜の場合」C列に/...
-
Excel、市から登録している住所...
-
エクセルで最初のスペースまで...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
【画像あり】【関数】指定した...
-
Excelでの列比較(A列とB列の組...
-
妊娠祝い もらったことある
-
EXCELで 一桁の数値を二桁に
-
A列がない・・・A列が非表示に...
-
オートフィルターの絞込みをし...
-
【エクセル】指定した文字以外...
-
突然増えてしまったエクセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
エクセルで最初のスペースまで...
-
「B列が日曜の場合」C列に/...
-
EXCELで 一桁の数値を二桁に
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
オートフィルターをかけ、#N/A...
-
エクセル 文字数 多い順 並...
-
Excel、市から登録している住所...
-
エクセルのセル内の文字の一部...
-
【画像あり】【関数】指定した...
-
エクセルの項目軸を左寄せにしたい
-
エクセルの並び変えで、空白セ...
-
妊娠祝い もらったことある
-
エクセル 同じ値を探して隣の...
-
エクセルの表から正の数、負の...
-
Excel 文字列を結合するときに...
おすすめ情報