出産前後の痔にはご注意!

エクセルで、去年のデータを今年のフォームに貼り付けたいのですが、
今年のフォームには結合セルが含まれています。

去年のフォームは
A B C D E F G
1 2 3 4 5 6 7

今年のフォームは
A BC DE F G H I
1 2  3  4 5 6 7

となっています。
貼り付けると、セルの結合が取れてしまうのですが
上手に貼り付ける方法はないのでしょうか?

A 回答 (1件)

今年のフォームの1列目がタイトル列で、昨年と同じだとすれば、A2セルに


=HLOOKUP(A1,昨年のシート!1:2,2,0)
と入れればデータが引っ張ってこれそうです。
あとは横にコピーすれば…。

いかがでしょうか?
コピー貼り付けより、関数やVBA対応になるかと思います。
でも、フォームってことはそう簡単でもなさそうですね。
もう少し具体的だともっといいアドバイスがつくかもしれません。
    • good
    • 0

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

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

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

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

QExcelの単一セルから結合セルへのコピーがうまくいきません。

単一セルから結合セルへコピー&貼り付けをすると、なぜか書式がコピーされません。これでは、文字の大きさが変わってしまうので、困っています。
データの量が多く、コピー元の書式もばらばらなので、いちいち、単一セルと結合セルの書式を予め合わせておくという方法はとっていられません。
どうしたらいいでしょうか。

Aベストアンサー

ExcelのVersionがわかりませんが、私はExcel97を使っています。
(2000だったらもっとイイ機能があるのかもしれませんが…)

単一セルをコピーして、結合セルへ貼り付ける時、
「形式を選択して貼り付け」というのがあると思うのですが、
その中の「書式」にチェックを入れると、単一セルと同じ書体、
フォントで貼り付けられますよ。

ただし、結合セルが解除され単一セルになってしまうようなので、
そのまますぐ上のバーにある「←a→」(セルを結合して中央揃え」を押して、
また結合させるのが一番早いのでは???

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

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

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

Aベストアンサー

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


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

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

QExcelの単一セルから結合セルへのコピー方法について

お世話になります。
今、Aのシートには、

  世帯主氏名   住  所
  東京太郎    東京都渋谷区 神南・・
  江戸花子    東京都渋谷区 神北・・

 といったように入っております。これを
 Bのシートに
 
  世帯主氏名   住所
  東京太郎    東京都渋谷区
          神南・・

  江戸花子    東京都渋谷区
          神北・・

  とAシートは、全て単一セル Bシートの
  氏名の部分はセルを結合しており、住所は、
  事情がって、2行に分けて作成したいので
  すが・・
  Bのシートの氏名のところに =BシートA1と
  コピーをかけて、そのまま下へとコピーしよう
  としたのですが、Aシートのデータが1つ飛び
  に張り付いております。結合のためと思うので
  すが、これを上手く貼り付ける、方法を教えて
  ください。よろしくお願いします。
    

Aベストアンサー

こんにちは。maruru01です。

元のデータがSheet1のAB列とします。
(1行目は項目行で、データは2行目からとします。)
コピーする方(Sheet2)もAB列で2行目からとします。
まず世帯主氏名は、Sheet2のA2に、

=OFFSET(Sheet1!$A$1,INT(ROW()/2),0,1,1)

と入力して、A2とA3を結合します。
(先に結合しておいてもOKです。)
そうしたら下の行へコピーします。

次に住所ですが、2行に分けるのは、スペースを区切りにするのでしょうか。
その場合は、Sheet2のB2に、

=LEFT(OFFSET(Sheet1!$B$1,INT(ROW()/2),0,1,1),FIND(" ",ASC(OFFSET(Sheet1!$B$1,INT(ROW()/2),0,1,1)))-1)

B3に、

=MID(OFFSET(Sheet1!$B$1,INT(ROW()/2),0,1,1),FIND(" ",ASC(OFFSET(Sheet1!$B$1,INT(ROW()/2),0,1,1)))+1,LEN(OFFSET(Sheet1!$B$1,INT(ROW()/2),0,1,1)))

と入力して、B2とB3を範囲選択して、下の行へコピーします。
区切りのスペースは半角でも全角でもいいですが、2つ以上入っていると上手く分割されません。

こんにちは。maruru01です。

元のデータがSheet1のAB列とします。
(1行目は項目行で、データは2行目からとします。)
コピーする方(Sheet2)もAB列で2行目からとします。
まず世帯主氏名は、Sheet2のA2に、

=OFFSET(Sheet1!$A$1,INT(ROW()/2),0,1,1)

と入力して、A2とA3を結合します。
(先に結合しておいてもOKです。)
そうしたら下の行へコピーします。

次に住所ですが、2行に分けるのは、スペースを区切りにするのでしょうか。
その場合は、Sheet2のB2に、

=LEFT(OFFSET(Sheet1!$B$1,I...続きを読む

Q結合したセルを1つのセルにコピーしたい

1行目のABCDE列を結合し「あいうえお」と入力します。
同じく1行目のFGHIJ列を結合し「かきくけこ」、KLMNO列を結合し「さしすせそ」と入力します。
これらをコピーして別のシートに貼り付けたいです。

別のシートの1行目のA列に「あいうおえ」B列に「かきくけこ」C列に「さしすせそ」と入力したいのですが、どうすればいいのでしょう。

エクセル2007を使用しています。
よろしくおねがいします。

Aベストアンサー

以下、元のシートをSheet1,「コピー」するシートをSheet2とします。

A案
 1.Sheet1のA1:O1を選択してコピー
 2.Sheet2で、形式を選択して貼り付け > 値 > OK
 3.Ctrl+G > セル選択 > 空白セル > OK
 4.削除 > 左方向にシフト

B案
 1.Sheet2のA1セルで、
    =OFFSET(Sheet1!$A1,,(COLUMN()-1)*5)
   として右方にフィル
 2.コピー > 形式を選択して貼り付け > 値 > OK


 ※
  =OFFSET(【A】,,(COLUMN()-【B】)*【C】)
 【A】:コピー元の左端セルの絶対参照
 【B】:コピー先の左端セルの列番号
 【C】:コピー元の結合されたセルの数

Qエクセルで結合したセル同士のコピー、貼り付けを教えてください。

エクセルで4列を結合したもの(1つのセルは1行ですが、それが5列、5行くらいの表になっています)にある数字を別のファイルの同じような表にコピー、貼り付けをしたいのですが、できません。
コピー元には計算式の答えが出てきているので、その値だけ貼り付けようとすると、「この操作には、同じサイズの結合セルが必要です」と出てしまうのです。
表は列幅、行の高さともに全く同じなので、「同じサイズ」という意味もわかりません。
どうすれば良いのか教えてください。
※ちなみにコピー元のファイル自体をコピーして、そのコピー元からコピー先のファイルの表に値だけ貼り付ける作業は普通にできました。

Aベストアンサー

Excelのバージョンによって操作が異なるのですが

■Excel2003の場合、貼り付ける際に「形式を選択して貼り付け」の「値と数値の書式」を選択してください

■Excel2000の場合、
元の表をコピー → 貼り付け先には数式のまま貼り付け→ 貼り付けた表をコピー → 同じ場所で値の貼り付け

という手順になると思います。
他のバージョンは手元にないので、確認できませんでした。

Qエクセルのマクロで結合セルに値を貼り付けたい

みなさん、お知恵をください。
Excel2000です。
Sheets(1)に A:D までを結合したセルを30行ぐらい用意した状態で
Sheets(2)の 単一セル A1,A2,A3,A4,A5・・・・とつづく変数 HENSUUを
貼り付けたいのです。*HENSUUは値のみの文字であったり数字です。

もちろん下記の過去質問はチェック済みです。
http://oshiete1.goo.ne.jp/qa2197173.html

物まねで作成しましたがエラーです。
Sheets(2).Select
HENSUU = Range("A65536").End(xlUp).Row  ’変数最終行定義
Sheets(1).Range(Cells(1, 1), Cells(HENSUU, 1)).Value = Sheets(2).Range(Cells(1, 1), Cells(HENSUU, 1)).Value

すみません。お知恵を拝借させて下さい。
よろしくお願いします。

Aベストアンサー

Sheets(1).Range("A1:A" & HENSUU).Value = Sheets(2).Range("A1:A" & HENSUU).Value
では無理かな?

QVBAでの結合セルのコピー&ペースト

こんにちは。
EXCELのVBAでマクロを作成しています。
セルの値のコピー&ペーストを行おうとしているのですが、結合されているセルのペーストのときに、「同じ結合セルが必要です」とエラーになってしまいます。
例えば、A1とA2が結合されたセル+A3をコピー
Worksheets(x).Activate

Range("A1:A3").Selection
Range("A1:A3").Copy

別のシートで、B1とB2が結合されたセル+B3にペースト
Worksheets(y).Activate
Range("B1:B3").Paste


セルの結合を解除すればうまくいきます・・・
セルを結合したままペーストしたいのですが、どうやら間違っているようです(ノ_・。)
どなたか教えてください。
よろしくお願いします。

Aベストアンサー

nao_linさんこんにちは。merlionXXです。

> 値だけ貼付けのオプションをつけるとエラーになってしまうのは何故なのでしょうか?

結合セルの値貼り付けは無理のようですね。↓
http://support.microsoft.com/default.aspx?LN=JA&scid=kb;ja;JP416846

Q結合セルから結合セルへ値のコピー

結合されたセルに計算式が入力されています。
その値だけを結合した別のセルへコピーしたいのですが、
「同じサイズの結合セルが必要です。」とメッセージが出てできません。
コピー先の結合セルはコピー元のセルと同じように結合しています。
コピーできる方法を教えてください。

Aベストアンサー

Excelのバージョンによってしまいますが、2003であれば、
 1)コピー元の結合セルをコピー
 2)コピー先の結合セルを右クリック
 3)「形式を選択して貼り付け(S)...」を選択
 4)「貼り付け」の右最下・「値と数値の書式(U)」を選択
 5)「OK」ボタンをクリック
という操作を行えば、そのまま値を貼り付けられます。

なお、Excel2000以前だと、残念ながらこの選択肢はないようです。
(Excel2002は未確認。2007も未確認ですが、機能自体はあると思います)

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

QエクセルVBA 別シートの複数のセルの値をコピーする方法

いつもお世話になります。

Dim sh1, sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")

sh1.Range("C6").Value = sh2.Range("F5").Value
として、1つのセルの値ならコピーできるのですが、
sh1.Range("C6:C10").Value = sh2.Range("F5;F9").Value
としても、セルの値を持ってくることができません。
どのように書けば良いのでしょうか?

ちなみに今は、
sh2.Range("F5:F9").Copy
sh1.Range("C5:C9").PasteSpecial Paste:=xlValues
としているのですが、上記だとセルを範囲指定してしまって作業が見えるのでカッコ悪いのです。

Aベストアンサー

7-samuraiの質問ですみません。
No5のimogasiさん、いつもお世話様です。

Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet2")
Set sh2 = Worksheets("sheet1")
sh1.Range("c1:c5").Value = sh2.Range("A1:A5").Value
End Sub

で、うまくいきますよ。
複数セルの場合Valueは省略できないようです。


人気Q&Aランキング