【先着1,000名様!】1,000円分をプレゼント!

結合セルがある場合も、

行や列をクリックして挿入すると、挿入ができて便利ですが、
セルをクリックしての挿入はいちいち、結合を解除してからでないと挿入ができないのでしょうか。

ご回答よろしくお願い致します

このQ&Aに関連する最新のQ&A

A 回答 (4件)

もう一例、考えてみました。



Dim ret As Long

ret = Application.InputBox("行/列ラベルをクリック", Type:=8).Row
With ActiveCell.MergeArea
If ret > .Cells(1).Row And ret <= .Cells(.Cells.Count).Row Then
.Cells(ret - .Cells(1).Row + 1, 1).Resize(, .Columns.Count).Insert
End If
End With
    • good
    • 0

手作業では無理なようです。


マクロの例です。

With ActiveCell.MergeArea
  .Item(3, 1).Resize(, .Columns.Count).Insert Shift:=xlDown
End With
    • good
    • 0
この回答へのお礼

親身にご回答いただきありがとうございました。大変役に立ちました。感謝です。

お礼日時:2013/03/17 07:37

>セルをクリックしての挿入はいちいち、


>結合を解除してからでないと挿入ができないのでしょうか。
結合を解除しないと無理ですね。
回答番号:No.1は、質問をよく見ていない怪盗でした。
大変失礼しました。

この回答への補足

そうなんです。

行全体の挿入ではなく、セル一つ二つ分の挿入とかです。

できないのかなぁ。

面倒だなぁ。

補足日時:2009/07/10 16:46
    • good
    • 0

行あるいは列ラベルをクリックして選択し


Shift+Ctrl+; とキー操作すれば挿入できました。
Excel2007で確認しています。
他のバージョンのExcelのことは解りません。

手動で出来なくても、マクロを組めば出来るかも知れません。
Range("A7").EntireRow.Insert
あるいは
Rows("7:7").Insert
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q行・列の挿入でセル結合が解除される

エクセルについての質問です。
結合セルを含む表で行や列の挿入をすると、結合していない列や行が挿入されます。

表が足りなくなった場合、行・列のコピー&貼り付けで付け足しているのですが、
表の真ん中あたりで挿入が必要な場合や、頻繁に挿入が必要になったときにとても手間がかかっているように感じてしまいます。

シート上では難しい気はしていますが、表と同じ結合をした行や列を挿入する方法はあるのでしょうか?

マクロは初級程度のものしか書けませんが、どうせやるなら効率的にやりたいと思っています。
非常に初歩的な質問ですがよろしくお願いいたします。
エクセルは2003です。

Aベストアンサー

≪挿入例1≫
Range("D1").MergeArea.UnMerge
Range("D1:D5").Merge
Range("D5").Insert

≪挿入例2≫
Range("D1").MergeArea.UnMerge
Range("D1:D5").Merge
Range("D5").EntireRow.Insert

≪挿入例3≫
Range("D1").MergeArea.UnMerge
Range("D1:D5").Merge
Range("A5:H5").Insert

QExcelで結合したセルのデータをコピー

お世話になっています。
うまく活字にできそうもありませんが・・・。

A1:F1のセルを結合したものが5行ありますが、そのデータを1行ずらしたいんです。
ところが、コピーしたものを1行ずらして被せると、セルの結合が解除されてしまいます。
全く別のセルにコピーする場合は解除されませんが、1行上にずらしたいんです!
セルが結合したまま、データごとコピーする方法はありますか?
補足しますので、助けて下さい!

Aベストアンサー

>1行毎でしたらご紹介いただいた方法でできますが、複数行まとめますと
>うまくできません(>_<)
1行上にずらすんですね。
その場合は、A1(~F1)を選択して切り取り、A6~F6を選択して、「切り取ったセルの挿入」をすれば、一度にずらせます。
ちなみに、上にずらすのだから、1行目のデータは無くなるんですよね。

QExcel 結合されたセルへの貼り付けについて

Excelにおいて、結合されていないセルのデータ(複数)を一度にコピー&ペーストしようと考えていますが、ペースト先は結合されたセルとなっております。

何かいい対策案はありませんか。

Aベストアンサー

結合セルの大きさはどうなっていますか。
同じサイズなら
最初の結合セルに、#A1 として下方にフィルコピーすると
#A1
#A2
#A3
#A4
#A5


というようになります。
範囲選択状態のまま、編集メニューの「置換」で
#

=
に、「すべて置換」ればセル参照式になります。
続けて、範囲選択状態のまま、コピーして
その場で「形式を選択して貼り付け」の「値」で貼り付けます。

Q【エクセル】行挿入で数式もいっしょにコピーしたい

こんにちは。
エクセルで現金出納帳を作成しています。
例えば・・・

  A列   B列 C列 D列 E列
1 日にち  科目 収入 支出 残高
2 10/1  光熱費    10000
3 10/2  給料  200000   190000
4 ・・・・・・

E列には=IF(E2="","",IF(AND(C3="",D3=""),"",E2+C3-D3))
という数式を入れています。
後からデータを足したい時(例えば3行目に挿入)に、行挿入をすると
数式もコピーされ、以下の行の数式も更新されるようにしたいのですが、どのようにしたら良いのでしょうか。

ご回答宜しくお願い致します。

Aベストアンサー

#3の回答者です。

再度、書き直しておきます。ある程度Excelを使ってきた人なら、使ったことがある機能だと思いますが、行の挿入と式のコピーを同時にするのは、マクロでなくても出来ます。

# 「リスト」に変更してください。挿入すれば、式はコピーされます。
というのは、

Excelのバージョンにもよりますが、近年のバージョンなら「リスト」という機能があります。

リストは、範囲をマウスで選択してから、「データ」--「リスト」--リストの作成
です。タイトル行が、太字になったりするので、それは、気に入らなければ、書式を訂正してください。なお、そのリスト範囲にカーソルを持っていくと、ドロップダウンボタンが現れてしまいます。印刷時には現れませんが。

QVBAマクロで結合セルを含む列に列挿入する方法?

お世話になっています。

下記のエクセルVBAマクロで、
列挿入処理をしているのですが、

列に結合セル(行方向)がある場合にだけ、
列選択がうまくできず、
目的と異なる処理をしてしまいます。

ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.Select

Selection.Insert Shift:=xlToRight

新しいマクロの記録で
やってみたのですが、
上記マクロが生成されただけでした。

手作業では
列の上のアルファベットを選択して、
列挿入できるので、
何かいい方法があるのは?
と思います。

どなたかよろしくお願いします。

Aベストアンサー

列を追加するなら
Worksheets(シート名).Columns(列INDEX).Insert Shift:=xlRight
行を追加するなら
Worksheets(シート名).Rows(行INDEX).Insert Shift:=xlDown
でできると思います。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qexcelで1つのセルだけを分割する方法

excelで、行全体または列全体でなく、1つのセルだけを縦または横に分割する方法はありますか?

ご存知の方、是非お教えください。

Aベストアンサー

エクセルでセルは最小単位です、分割は出来ません。
むしろ逆に考えて、不要な行はセルを結合して1列的に見せてはどうでしょう。
見た目でやるなら(多分したいことを想像して)
桁合わせだけの問題なんですが。
(1)文字列のケースとする。数値や半角が混じると
うまくいかないかも。
(2)例えばD1セルに半角スペース10個を入れる。
(3)A列はフォントをPのつくものは避ける。
(4)例えばB列、c列に文字列データが入っているとする。
(5)A1セルに
=MIDB($D$1,1,10-LENB(B1))&B1&MIDB($D$1,1,10-LENB(C1))&C1
といれて下行に複写する。LENBをあえて使う。
(データ例)
    (A列)       (B列)  (C列)
大阪市 西園寺大阪市西園寺
長岡京市 熊山長岡京市熊山
津市 佐藤津市佐藤
(6)真中に縦に図形の直線を貼りつける。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む


人気Q&Aランキング