• ベストアンサー

マクロのgo toをおしえてください。

在庫管理でフィールドには15~18くらいの項目があり600行くらいのデータから固体識別番号で検索するマクロを入れたのですが、検索したあとその検索された行ではなく、一番上の検索ボタンに戻ってしまいます。検索された値は一番右の検索表示用のセルに表示されるのですが スクロールをしなければならないので go toを使用して表示されたその値のところでマクロを終了できるようにマクロを変更したいと考えています。 どなたか教えていただけないでしょうか?

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

  • ベストアンサー
  • rukuku
  • ベストアンサー率42% (401/933)
回答No.3

はじめまして 最小限、使用しているソフトを教えてください。 もしかして、EXCEL VBAのGoto メソッドのことでしょうか? 例: Application.Goto Reference:="R30C2", scroll:=True

kozai00
質問者

お礼

ありがとうございます。 必要に応じて独学で初めておりましたので、質問の要領が悪く情けなく思っています。 ApplicationGotoまでは分かったのですがScroll以下がダメだったようです。 助かりました。

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

その他の回答 (2)

  • kanburu
  • ベストアンサー率13% (118/865)
回答No.2

回答では有りませんがGOTO文は多用しない方が賢明ですよ。 多用すると飛び先だらけになってプログラム全体が見通せなくなるからです。

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

VBA?自社ソフト?バッチファイル? VBAならセルの位置、記憶させてactiveにしたら、表示されなかったっけ?

kozai00
質問者

お礼

ありがとうございます。 質問の要領が悪く申し訳ありませんでした。

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

関連するQ&A

  • エクセルのマクロで特定の文字列を選択したい

    集計表にピボットテーブルを2つ入れるマクロを作成しています。 その際に、出来あがったピボットテーブルの項目ごとの合計を 表示しないためには、対象となるセルを選択して(Select) 表示しないを選択する(Selection.Delete)ことはマクロの記録からわかりました。 しかし、ピボットテーブルの枠が固定されているわけではないので、 合計欄の選択がうまくできません。 結果的には、A列の何行目かに「B在庫」という文字列が表示されていて、 その下からピボットテーブルが作成されています。 その「B在庫」の文字列から「右に3、下に2」と「右に1、下に5」 進んだセルをそれぞれ指定して(Select)削除(Selection.Delete)したいと思っています。 どのように「B在庫」と入力された文字列を探し出すのか、 また、そこから「右に3、下に2」と「右に1、下に5」進んだセルを 指定する方法を教えていただけないでしょうか。

  • エクセルマクロVLookupについて

    定義ブック.xlsm : 項目名、項目カテゴリ名、項目名長、文字種類 を定義する為ブック。 辞書ブック.xls : 項目カテゴリ名、項目名長、文字種類をこのブック内で色々処理して設定している。 定義ブックの項目名で検索し、 辞書ブックの項目カテゴリ名、項目名長、文字種類を参照してくる。 定義ブックを開いた時に辞書ブックの内容から値を参照(vlookup)するようにしたいです。 定義ブック、辞書ブック、ともに今後、行数が増える想定なので、 何行目まで、というのを変数にしてマクロで実装しようとしています。 そこで、 Application.WorksheetFunction.VLookup() を使ってみたのですが、そのセルが正常に値を表示しません。 vlookupをセルにベタ書きにすれば値は取得できている為、検索値が見つからない為にエラーになっている系統ではないハズです。 エクセルのバージョンは2007です。 また、エクセルにvlookupをベタ書きするようにマクロを組むと、それは正常に値を表示します。 (最悪この手ですが…、セルにカーソルを合わせるとvlookupの式が表示され、避けたいトコロです) どのように修正すれば良いでしょうか…? マクロは初心者です…。 以下、ソースの抜粋です。 ****************************************** Dim ItemCode As Variant Dim SerchArea As Variant Dim LastRow As Long '辞書ブックをアクティブにする Workbooks("辞書ブック.xls").Activate ActiveWorkbook.Worksheets("辞書シート").ActivateLastRow = Cells(Rows.Count, 1).End(xlUp).Row '項目数を取得 Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row '最終行を取得(辞書ブック.辞書シートのvlookupを何行目までの範囲にするか) SerchArea = "[辞書ブック.xls]辞書シート!$B$5:$F$" & LastRow '定義ブックをアクティブにする Workbooks("定義ブック.xlsm").Activate ActiveWorkbook.Worksheets("定義シート").Activate For I = 11 To ColumnCnt 'C11セルから下へ、項目名を検索値として取っていく ItemCode = Cells(I, 3) '辞書ブックから値を取得(項目カテゴリ名) 【この書き方だとセルには「value!」と表示される】 Cells(I, 16).Value = Application.VLookup(ItemCode, SerchArea, 2, False) '辞書ブックから値を取得(項目名長) 【この書き方ならセルには正しく値が表示されるけど、勿論、セルにカーソルを合わせると、vlookupの式が表示される】 Cells(I, 38).Value = "=VLOOKUP(C" & I & ",[辞書ブック.xls]辞書シート!$B$5:$F$" & LastRow & ",4,FALSE)" Next I

  • 値を検索しその値が含まれるセルを全て表示する式

    exel2013で任意のセルに検索する値を入れA列の1行から60000行を検索し検索した値が含まれるセルをすべて表示する式、マクロを教えてください

  • ■ エクセルのマクロで出来ますか?

    エクセルマクロの初心者です。 現在、業務で以下の様な表を作成し、請求書の発行を行っています。 「sheet1」A列のNo.を「sheet2」のA列(例えばセルA1)に入力すると VLOOKUP関数で必要項目が請求書の雛形に表示される仕組です。 複数行を抽出する場合は、複数のNo.(例: 1,3,10)を手入力(例: A1,A2,A3・・・)しております。 ----- <sheet1>    A列  B列   C列   D列  ・・・ 1行 No.  項目1  項目2  項目3 ・・・ 2行  1   値1   値2   値3  ・・・ 3行  2   値4   値5   値6  ・・・ 4行  3   値7   値8   値9  ・・・ <sheet2> 請求書の雛形 セルA1~A10に請求書を発行したい<sheet1>A列のNo.を入力。 ----- これを、A列の左に行を挿入、各行にチェックボックスを配置し、 チェックボックスをオンにした行のB列(行挿入前はA列)の値(No.)を 「sheet2」のA列(例えばA1/複数の場合はA1,A2,A3・・・10行程度)に コピーを行う仕組を作ることを検討しています。 複数のNo.をチェック(1,3,10)した場合は、 「sheet2」のA1,A2,A3の様に、上から順になれば理想的です。 説明が悪く、意図が伝わり難いこととは思いますが、 これらの作業を行うマクロ(他の方法も可)を組むことは可能でしょうか。 ご教授いただければ幸いです。 よろしくお願いいたします。

  • Excel マクロの構文

    次のマクロを記入したいのですが、うまくいきません 教えてください。 セルの値は5桁の整数です セル"D2"の値 - セル"A1"の値 が -30以下であれば セル"E2"に セル"D2"の値を表示 そうでないときは 空白で表示 この計算を セル"D12" - セル"A11" 結果を セル"E12" セル"D22" - セル"A21" 結果を セル"E22" のように10行とびごとに        セル"D102" - セル"A101" 結果を セル"E102" まで10回繰り返し計算したいのですがうまくいきません 何方か、このマクロの記入を教えてください お願いします。

  • ExcelからAccessデータを検索するマクロ

    ExcelのA1セルにある値をAccessのデータベース (ファイル名:abc.mdb、テーブル名:Tbl_a)の フィールド1から検索し、対応するレコードの フィールド2の値をExcelのB1セルに書き込む というマクロはどのように書けばよいのでしょうか? Excel, Accessともに2000です。 よろしくご教授お願いします。

  • エクセルのマクロの組み方に詳しい方

    エクセルのマクロの組み方に詳しい方はいらっしゃいませんか? 今、売り上げの記入を自動化できるようにマクロを組もうと試みています。 しかし、マクロの本を見てもちんぷんかんぷんです 。 頭の中で考えていることですが… まずデータベースとしてエクセル、またはそれに代用できるファイルに手入力で仕入れの詳細を記入していきます。 これは自分で入力していくので問題ありません。 ここからが問題です。 データベースとは別のエクセルにマクロを登録して、データベースから仕入れ情報を検索したいのです。 例えば… A1商品名、A2重量、A3仕入値…というように項目を作っていきます。 そしてB行に検索したい文字、数値を入力します。 そしてボタン1をクリックすると、B 行に入力した値に一致するデータを行ごとD行に呼び出します。 最後にD行の売上の項目に売上を記入して、更新したD行のデータをシート2、又は別のエクセルファイルに張り付けられるようにしたいです。 データの張り付けを文字のあるセルの最後尾の下の空白のセルに張り付けていけるようにしたいです。 どのようなマクロを組むと良いでしょうか?どのような言語を使うと良いでしょうか? 詳しい方是非是非教えて下さい。。

  • マクロを実行しても、画面を動かさないようにするには

    「エクセル」で、 「複数行のセルを選択して マクロを実行すると、 その隣にある数字が 選択した部分のセルを結合して 表示される」 というマクロを作ったのですが、 マクロを実行する度に 「一番最初にマクロの実行を 行ったセル」にカーソルが移動してしまい、 困っています。 たとえば、 選択・指定をしたのが 「C840」のセルだったとしても、 実行を押すと、画面は 「C2」のところに戻ってしまうのです。 (マクロ自体は正常に実行されます) 1回1回元の画面までスクロール させなければならず、面倒です。 どうすれば良いのでしょうか?

  • マクロで検索するには

    エクセルで、何行もデータが入ったリストを作成しています。 あるセルに入れた文字を含む行だけを表示するようなマクロを設定したいです。ちょうど検索窓をつくるようなイメージです。 表示の仕方は、フィルタで「~を含む」をしたような感じにしたいです。

  • エクセルのマクロについて

    エクセルのマクロ実行についてですが、 例えば、 E1セルの値が1ならばこうする(マクロ名 E1セル1) E2セルの値が2ならばこうする(マクロ名 E1セル2) E3セルの値が3ならばこうする(マクロ名 E1セル3) というマクロを別々に作りました。 これをボタンで実行する時に、 If Range("E1").Value = 1 Then ElseIf Range("E1").Value = 2 Then 2行目には作ったマクロを全部貼り付けないといけないのでしょうか? それとも簡単にこの場合は、マクロ名E1セル1を実行するという命令することができるのでしょうか? できるのであれば、入力方法を教えてください。 質問が分かりにくいと思いますが、よろしくお願いします。

このQ&Aのポイント
  • EPSON社製品で印刷ができない状態を削除する方法を教えてください。
  • 印刷待ち削除できない 状態を解消する方法を教えてください。
  • EPSONの印刷トラブルを解決するための方法を教えてください。
回答を見る