• ベストアンサー

2つのブックを左右平行に並べて、同じ行番号の位置を表示させるには?

Windows XP Home Edition Office XP Personal 2002 Excel 2002 画像のように、左.xls 右.xls 共に、 赤色セル「"A5"」が、画面左上にきっちりなるようにさせる マクロ、機能なんてございましたか? ●2つのブックを左右平行に並べて、  同じ行番号の行データを閲覧したいわけでございます。 赤色セルは「"A15"」「"A1299"」となったり、上下いろいろとスクロールします。 列を非表示にすれば、「"D15"」「"D1299"」と、なったりもします。 画像のように、B列(日付)だけは、全く同じデータとなっております。 何卒、ご教示のほどをお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.4

Sub test()   Const wBook = "右.xls" '表示させたいBook名   Const wSht = "Sheet1" '表示させたいSheet名   Dim Target As String   With ActiveWindow     Target = .VisibleRange.Item(1).Address     Application.Goto reference:=Workbooks(wBook).Sheets(wSht).Range(Target), scroll:=True     '.Activate   End With End Sub こんな感じです。 左.xlsの該当シートをアクティブにして実行すると その左上セル『ActiveWindow.VisibleRange.Item(1)』の位置を基準に目的のBook、Sheetをスクロールします。 元のアクティブセルに戻りたい場合は コメントアウトしている '.Activate を活かせば良いです。 Bookを限定せず、ActivateNextでActiveになるBookが対象なら Sub test2()   Dim Target As String   With ActiveWindow     Target = .VisibleRange.Item(1).Address     .ActivateNext     Application.Goto Range(Target), True     .Activate   End With End Sub #2003からは[ウィンドウ]に[並べて比較]機能ができたので不要になりますけどね。

oshietecho-dai
質問者

お礼

ご回答誠に有難うございました。 恐れ入ります。 言葉がみつかりません・・・

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

追記: 表示されている行/2 の部分はご自身で調整してください、画面の表示サイズの変化が必要な場合はうまく表示されない可能性があります

oshietecho-dai
質問者

お礼

ご丁寧に、恐れ入ります。 誠に有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

画面サイズなどによっても異なりますが Range("A65535").Select Range("A" & Range("A1").Value + 14).Select Range("A" & Range("A1").Value).Select こんな感じで 上記の場合: 表示される行が30行、A1セルに上端に表示させたい行を入力しています 画面サイズによって一部変更が必要になります Range("A65535").Select Range("A" & 上端に表示させたい行数 + 表示されている行/2).Select Range("A" & 上端に表示させたい行数).Select こんな形 セル番地を指定してアクティブにした場合 ・現在表示されている場所なら表示範囲を変化せずに目的のセルをアクティブにする ・現在表示されていない範囲にある場合は目的のセルを表示範囲の中心となるように表示範囲を変更してアクティブにする 上記のエクセル動作を利用した手法です、参考になればいいのですが

oshietecho-dai
質問者

お礼

ご丁寧に、ご回答誠に有難うございました。 是非、参考にさせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。
  • shinkami
  • ベストアンサー率43% (179/411)
回答No.1

2つのブックを開いてからメニューバーの「ウィンドウ」から「整列」と進みます

oshietecho-dai
質問者

お礼

ご回答誠に有難うございました。

oshietecho-dai
質問者

補足

お答え誠に有難うございます。 説明不足で、大変申し訳ございませんでした。 >2つのブックを開いてからメニューバーの「ウィンドウ」から「整列」と進みます 次に、左.xls だけをいろいろと上下スクロールし、ある位置で止めます(左表)。 そして、★ある「マクロ、機能」によって、  右.xls(右表)にも全く同じ行番号の位置で表示させることのできる  {★ある「マクロ、機能」} を質問させて頂いております。 よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 2つのブックで、1レコードの3列の値が同じ行のセル選択するには?

    2つのブックで、1レコードの3列の値が同じ行のセル選択するには? Windows XP Home Edition Office XP Personal 2002 Excel 2002 画像のように、 左.xls のB5(赤色セル)を選択したら  右.xls のB10(B9ではありません)を選択させたいのですが、 うまく行きません。 左右のブックの赤色セルの各行番号は同じではありません。 1レコードの「 B列 と C列 と D列 」の「3列の値が同じ行のセル」を選択したいのです。 この行は、必ず1つしかありません。 しかし「 B列 と C列 」「 B列 と D列 」などの「2列の値が同じ行のセル」は複数あります。 また、 左.xls のB6(青色セル)を選択した場合は、  右.xls のB12(B11ではありません)を選択させたいのです。 B列( 日付、実際には西暦 2010/05/05 です )だけは、全く同じデータとなっております。 ●2つのブックを左右に並べて、  同じ行データを閲覧したいわけでございます。 下記コードは、B列だけしか参照できません。 ややこしくて、恐れ入りますが、 何卒、ご教示のほどをお願い致します。 Sub TEST() Const wBook = "右.xls" '表示させたいBook名 Const wSht = "Sheet1" '表示させたいSheet名 Dim Target As Range Dim TargetVa As Integer TargetVa = ActiveWindow.ActiveCell.Value With Workbooks(wBook).Sheets(wSht)   For Each Target In .Range("B1", .Range("B65536").End(xlUp))    If Target.Value = TargetVa Then     Workbooks(wBook).Activate     Sheets(wSht).Activate     Target.Cells.Select    End If   Next Target  End With End Sub

  • 2つのブックで、1レコードの2列の値が同じ行のセル選択するには?

    2つのブックで、1レコードの2列の値が同じ行のセル選択するには? Windows XP Home Edition Office XP Personal 2002 Excel 2002 画像のように、左.xls 右.xls 共に、 1レコードの 「 B列 と C列 」 の値が同じ行のセルを選択したいのですが、 うまく行きません。 画像の例では赤色セルの部分です。 左右のブックの赤色セルの各行番号は同じではありません。 B列(日付、実際には西暦です)だけは、全く同じデータとなっております。 ●2つのブックを左右に並べて、  同じ行データを閲覧したいわけでございます。 何卒、ご教示のほどをお願い致します。 Sub TEST() Const wBook = "右.xls" '表示させたいBook名 Const wSht = "Sheet1" '表示させたいSheet名 Dim Target As Range Dim TargetVa As Integer TargetVa = ActiveWindow.ActiveCell.Value With Workbooks(wBook).Sheets(wSht)   For Each Target In .Range("B1", .Range("B65536").End(xlUp))    If Target.Value = TargetVa Then     Workbooks(wBook).Activate     Sheets(wSht).Activate     Target.Cells.Select    End If   Next Target  End With End Sub

  • 違うブックを参照して、数値を表示するには?

    質問失礼します。 エクセルで保存した違うブックにあるデータから、複数条件で一致するものを検索し、表示することは可能でしょうか? 例えばブック1のG2に、ブック2のE1を表示させたいのですが、 条件が、ブック1のG2がある行の「B2とC2とD2とE2」の数値や文字列、空白などが、一致する行を,ブック2から検索し、その行にある、E1を、ブック1のG2に表示させたいです。 ブック1とブック2の一致させたい範囲 ブック1のB列、C列、D列、E列の行単位のセルと並び方=ブック2のA列、B列、C列、D列の行単位のセルと並び方 求めたい物 ブック2の条件にあったE列のセルをG列に表示したいです。 可能でしょうか? ブック1   A  B  C  D  E  F  G 1    8  a1 50  1 2    8  a1 50       30 3    8  a1 60       20 4    8  a1 70 20 5    3  b5 60 20     3 ブック2   A  B  C  D  E  F 1 8  a1 50    30  2 8  a1 50  1 3         4 8  a1 60    20 5 8  a1 70 20   6 7 3  b5 60 20  3

  • Excelで入力した数値を行番号として使用したい

    「一覧」と「抽出」というexcelブックがあり、今は「抽出」ブックで作業しています。 セルA1には以下のような数式が入力されています。 ='[一覧.xls]'!A1 A2には 『='[一覧.xls]'!B1』、 A3には『='[一覧.xls]'!C1』、 A4には『='[一覧.xls]'!D1』・・・・・。 と、続きます。 ここで、各セルの内容をその都度一気に変えたいと思います。 今はすべて「一覧」ブックの1行目を参照していますが、 全て5行目にしたり、20行目にしたいのです。 参照したい行数をセルB1に入力し、 ='[一覧.xls]'!A【B1に入っている数値】 というような式をイメージしています。 INDIRECT関数を使用すればよいのかと思い試行錯誤しましたが うまくいきませんでした。 いい方法があったら教えてください。 ※質問が分かりにくくて申し訳ありません。  自分でも何が言いたいのか分かりにくいと感じています。

  • 別ブックの指定行参照

    参照したい行をA2に入力したら、別ファイルからデータを拾ってくる方法を知りたいです。 例えば… メイン.XLSのA2に、データベース.XLSの参照したい行を入力します。 データベース.XLSのD7が参照したいなら メイン.XLSのA2に7と入力する ※今回は列は固定でDとします。 するとメイン.XLSのA1にデータベース.XLSのD7が自動で入るようにしたいです。 エクセル初心者なので、宜しくお願いします。

  • エクセル ブック内のシート間での行の参照?

    エクセルの同じブック内のシート間で、セルを参照するのではなく、行参照?させたいのですが・・・。 例えば、、  シート1    A    B    C    D     1行目 りんご みかん いちご ぶどう     2行目 赤    オレンジ  赤   紫 と入力すると同じようにシート2にも入力されるようにしたいのと、1行目と2行目の間に行を挿入しても同じようにシート2にも挿入されたり、 さらにはA列・B列のみ入力されたりするようにしたいのですが、(C列D列には別々のデータを入力したい)どのような方法がありますでしょうか?説明がわかりにくく申し訳ないのですが、宜しくお願いします。

  • -excel-違うブックの文字列を含む行の抽出

    商品の価格を一括で変更できる方法を探しているのですが見つからず困っています。 全ての商品データが載ってるブックAがあります。価格を変更する商品のIDと値下げ後の値段が載っているブックBがあります。ブックAの商品価格をブックBの値下げ後価格に変更したいのですが、関数か、マクロなど何か良い方法はないでしょうか? 最悪価格は手動で変更するとしてせめてブックBのIDと合致するセルを持つブックAの行を抽出する方法はないでしょうか?抽出した行は別ブックにまとめてくれるとなお助かります。 ちなみにブックAには7000行、ブックBには1000行のデータがあります。 ブックA(商品データ) A列・・・・・・    F列・・・・・・・・ ID         価格 1234        2500 2345        3200 3456        1200 4567        3000 5678        1800 ブックB(価格変更データ) A列        B列 ID         価格 2345        2600 5678        1500 ↓ ブックA(商品データ)もしくは新規ブックC A列・・・・・・    F列・・・・・・・・ ID          価格 1234        2500 2345        2600 3456        1200 4567        3000 5678        1500 といった感じです。どなたかお知恵をお貸しください。よろしくお願いいたします。

  • セル値に変更のあった行を他のブックにリストアップする。

    データベース上書きのため、値が入力され、既存のデータと変更のあった行だけを抽出したいと思います。データベースはサーバに保存され、エクセルデータを全読み込みする形式でデータベースを更新しています。データが20000行に及ぶ為、読み込みに時間がかかります。そこで、差分データだけの読み込みを行いたいと思います。 B列のセルに数値を入力していますので、B列が変更された行だけ差分データとして更新しようとしています。そのセルのA列にはそれぞれ固有のコード番号をふっています。 B列セルに変更があった場合に、同じ行のA列セルの値を他ブックに記録するか、もしくはその行をまったく同じ形式で他ブックに保存出来ませんか?

  • Excel 微妙に違う2つのシートのデータをリンクさせる

    ある程度 同じデータのブック1とブック2があり、 ブック1は祭日などデータが無い日も日付があり、行が確保されていますが、 ブック2は祭日などデータが無い日は行が抜いてあります。 A列:日付、B列:曜日 C列:データ1、D列:リンクを入れる 04.11.22 月 56  =[ブック2.xls]シート1!H2 04.11.23 火  04.11.24 水 50  =[ブック2.xls]シート1!H3 04.11.25 木 52  =[ブック2.xls]シート1!H4 04.11.26 金 49  =[ブック2.xls]シート1!H5 04.11.29 月      04.11.30 火 A~C列はブック1、2とも同じデータです。(現在ブック1は1400行、ブック2は1300行くらい) D列にブック2のH列のデータを表記したいのですが、ドラッグなどでは行がずれてしまいます。 関数かマクロなど、何か良い方法を教えて下さい。 下記のことにも対応できれば更に便利なのですが・・。 ブック2のH列は時々J列とか他の列(表範囲内)に移動します。 そしてたまにはブック2のシート1もブック1に移動したりブック2に戻したりもします。

  • 別ブックの最終行の数値を式に取り入れたい

    Book1 Sheet1 A列に製造番号を縦に連番で入力して保管しております。 Book2 SheetA A1に、Book1 Sheet1の最終行番号+1を求め 製造番号を自動作成したいと考えております。 Book1は製造番号のデータ蓄積として保管していくつもりですので 最終行は固定されません。 マクロの記録ではEnd(xlUp).を行っても ActiveCell.FormulaR1C1 = "=Book1.xls!R[150]C1+1" と表現され、これでは最終行にはならなくて、困っております。 どうすれば良いか御教授下さい。

このQ&Aのポイント
  • XMで取引をしている方は、一ヶ月程度のペースで何もしていないにも関わらず、強制終了されることがあるかもしれません。
  • なぜXMで取引をしていると強制終了されるのか、その理由は不明ですが、特定の条件や制約によるものかもしれません。
  • しかし、問題の解決策としては、XMのカスタマーサポートに問い合わせてみることや、XMの利用規約を確認することがあります。
回答を見る

専門家に質問してみよう