- 締切済み
エクセル2007でのデータ取込みについて
現在、エクセルの2シートを1シートにまとめる為に下記の ような方法をとっています。 シート1に、シート2、3をまとめます。 シート1:まとま シート2:東京エリアデータ シート3:大阪エリアデータ データの入力フォーマーっとは各シートとも統一。 (1) データ外部取込み→シート2のデータを取り込む (この際に行タイトルも取り込まれます) (2) データ外部取込み→シート3のデータを取り込む (この際に行タイトルも取り込まれます) (2)の取込み時点では、行タイトルを取り込みたくない場合、 どうすれば良いでしょうか? エクセル2003では、(2)の時点でフィールド名を含むというチェック ボックスがあり、そのチェックを外せば、データのみ取込みできた のですが、2007には、そのチェックボックスがありません。 もちろん、別の良い方法があれば、それでも構わないので、 お教え頂ければと思います。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
下記を補足してください。 長々と質問を書いているが、 人間(質問者が)がシート2等のデータ範囲を認識して、シート1のデータの最下行の下から貼り付ければ仕舞いではないのか。 VBAを使う、ボタンクリック1回でそういうことをしたいという事か。そんなことは質問に出てないし、質問者はVBAは多少判るのかな。 ーー マクロの記録を採るとSheet2-->Sheet1は これをSheet3-->Sheet1と、少し変えて繰り返せば良い。 Sub Macro1() Sheets("Sheet2").Select Range("A2:C5").Select Selection.Copy Sheets("Sheet1").Select Range("A5").Select ActiveSheet.Paste End Sub データ事情で変わるのは C5の5 A5の5 これらはいずれもデータの最下行であるので 最下行番号数は d1 = Worksheets("Sheet2").Range("A65536").End(xlUp).Row で判る。 それで Sub Macro1() Sheets("Sheet2").Select d1 = Worksheets("Sheet2").Range("A65536").End(xlUp).Row MsgBox d1 Range("A2:C" & d1).Select Selection.Copy Sheets("Sheet1").Select d2 = Worksheets("Sheet1").Range("A65536").End(xlUp).Row MsgBox d2 Range("A" & d2 + 1).Select ActiveSheet.Paste End Sub そのほかにSheet2はSheet3などに変えて繰り返せば良い。 Sheet2,Sheet3を対象の場合 Sub Macro1() For i = 2 To 3 Sheets("Sheet" & i).Select d1 = Worksheets("Sheet" & i).Range("A65536").End(xlUp).Row MsgBox d1 Range("A2:C" & d1).Select Selection.Copy Sheets("Sheet1").Select d2 = Worksheets("Sheet1").Range("A65536").End(xlUp).Row MsgBox d2 Range("A" & d2 + 1).Select ActiveSheet.Paste Next i End Sub
お礼
こうした場での質問に不慣れで質問時に至らない点があった ようで申し訳ございませんでした。 上記は試し済みですが、なんとか別の方法で解決策を 得ましたので、取り急ぎお礼まで。 ありがとうございました。