• ベストアンサー

セルの場所

popesyuの回答

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.5

Selection.Find(What:=[指定した文字], After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate まぁこれだけでも十分にセルの位置は分かります。 上の処理で該当のセルがActivateになる訳ですから ActiveCell.address でアドレスが取れます。ただスマートの方法ではありませんが。 Findを使う場合、4番さんの指摘通り、色々と面倒なことも多いので、For Eachでループをぐるぐる回した方が分かりやすいコードになります。 以下のA1からA10間で"hoge"という文字列を検索するサンプルコード For Each C In Worksheets(1).Range("A1:A10") If C.Value = "hoge" Then MsgBox ("hogeのアドレス=" & C.Address) End If Next C

rie3816
質問者

お礼

・・・・False).Activate の次の行に ActiveCell.address を付けたのですが、「プロパティの使い方が不正です」というエラーが出ます。また For Each C In Worksheets(1).Range("A1:A10") If C.Value = "hoge" Then MsgBox ("hogeのアドレス=" & C.Address) End If Next C ですが、この「C」は何を指しますか? 初心者の為、細かいところまで聞いてしまい、申し訳ありません。

rie3816
質問者

補足

・・・・False).Activate の次の行に ActiveCell.address を付けたのですが、「プロパティの使い方が不正です」というエラーが出ます。また For Each C In Worksheets(1).Range("A1:A10") If C.Value = "hoge" Then MsgBox ("hogeのアドレス=" & C.Address) End If Next C ですが、この「C」は何を指しますか? 初心者の為、細かいところまで聞いてしまい、申し訳ありません。

関連するQ&A

  • カンマで区切られた二つの数値を分けてセルにコピー

    XPのOffice2003のエクセルです。ある二つの数値が文字列として一つのセルに例えば「375, 934」という風に、半角カンマと空白で区切られて入っています。これを二つのセルに数字「375」「934」と分けてコピーしたいのです。 ワークシートのセルで数式処理、あるいはVBAマクロのどちらかで、できる方法を教えていただけないでしょうか。

  • ある条件を満たすセルに対応する行のセル内容をコピーして・・

    ある条件を満たすセルに対応する行のセル内容をコピーして・・  いつもお世話になっております。エクセルVBAのほぼ初心者です。 ある列の一部(たとえばE100~200)において、ある条件を満たすセル(たとえば<30)を すべて検索して(たとえばE110とE130)、そのセルの行にある別列のセル内容(たとえば A110とB110、およびA130とB130)をコピーして、別のワークシートのとある場所(たとえ ばB2)に貼り付ける。  というようなマクロを作成したいのですが、自分の力量では難しいのです。。  Do~Loopなどを利用すればよいのでしょうか?  いい方法がありましたらどうぞよろしくお願いいたします。

  • エクセルVBA初心者です。マクロを組んでください。

    エクセルVBA初心者です。組んで欲しいマクロがあります。 Sheet 1に13桁を入力するセル sheet 2に検索したいデータ 手順としては、 Sheet 1のセルにデータを入力 →13桁以上でマクロが開始(されるように設定します) →Sheet 1のセルと同じ数列をSheet 2の列Aから検索 →該当のセルを含む行をSheet 3にコピー →Sheet 1の入力セルの少し下にもコピー (確認用) というのを一回一回ずつやりたいです。 できれば作業中マウスやキーボードを触りたくないので、そのために、マクロの終わわりには入力セル内の消去、マクロの始まりには確認用でコピーした行の削除もつけて下さい。 検索するSheet 2には同じデータが含まれているので、出来ればひとつずつSheet 3にコピーしたいので組み込んで頂けると幸いです。 よろしくお願いいたします。

  • exelのbookまたがりでセルをコピー貼付けたい

    エクセル2010のvbaで質問です。 シンプルなデータ表から、印刷向きレイアウトにした別BOOKにセル内容を 送りたいのですが、うまくいきません。 開いてあるbookまたがりでセル値のコピーをします。送り側は連結セルです。 行、列を可変として順次ループで回すので、RANGEでなくCELLS(行、列)の指定で行いますが、 実行時エラーが出ます。(インデックスが有効範囲にありません) Sheets(OUTSHEET).Cells(行,列).Value = Sheets(INSHEET).Cells(行,列).Value ↑現在この書き方でエラーになります。うまくいく方法はないのでしょうか。 なお、手動でコピーして、送り側セルでエンター押すとできます。 でもそのマクロ記録ではセル番地指定なので、自動化にできません。 詳しい方、よろしくお願いします。

  • ExcelVBAで複数セルを別シートに貼り付けたい

    Excel VBAでデータをコピーして、別シートに貼り付けるどうしたらいいのでしょうか。 Sheet1のセルA1からA4のデータをコピーして、Sheet2のC2からc5に貼り、次はSheet1のセルB1からB4のデータをコピーしてSheet2のC7からc10に貼りを500行ほど繰り返し(コピーするデータは、4行づつ横へ移動し、貼り付けるほうは4行づつ縦へ移動します。) それが終わったら、今度はB列、c列と100列ほど同じ操作を繰り返します。 いろいろな方法を試しましたが、なかなかうまくいきません。 どなたか教えていただけませんでしょうか。よろしくお願いいたします。

  • Excelのマクロを使ってのオートフィル

    Excelのマクロを使ってのオートフィルについて教えて下さい。 類似の質問があったのですが、決まったセルからのものが多くわかりませんでした。 マクロはまだ始めたばかりです。 やりたいことはExcelの2つのシートに別のcsvファイルの数字を入れることです。 ExcelのSheet1のD1セルに日付を表す数字が入っています。 Sheet2と3には2行目に月の日付がずらりと並んでいます。 1列目には記録番号が入っています。 それぞれのシートにSheet1のD1セルと同じ日付の列を見つけて、 その下の行から1列目の記録番号を元に検索したcsvファイルのデータを引っ張ってきたいのです。   Sheets("Sheet1").Select Cells(3, (Sheets("Sheet2").Range("D1")).Select と最初に入れるセルを探しても違う列に飛んでしまったりします。 又、下のセルまで数式もコピーできずに止まったままです。 VBAまでは手が出せずに悩んでいます。どうか教えて下さい。よろしくお願いします。

  • VBA 結合行を削除したときに値を残したい

    以下の様な処理をVBAで行いたいのですが、セルの内容が消えてしまいます。どうすればよいか教えてください  A列に商品タイプがあり、B列に商品名が入力されている。  1つの商品タイプは複数の商品があるため、A列は数行単位で結合されている。  今、マクロで特定商品の行だけを別のシートにコピーしたい。    そこで、   シート全体をコピーし   コピーしたシート上で該当商品を含まない行を削除  するマクロを作成しました。  しかし、商品タイプの列が結合されているため、商品タイプの1行目を削除してしまうと  新しいシート上でA列が空欄になってしまいます。  該当行のみコピーすることも考えましたが、   商品を抜き出す表以外はそのままコピーする(この方が情報量は多い)ため、上記の方法   を考えました。    何か良い方法はないでしょうか。  よろしくお願い申し上げます 

  • エクセルで空白のセルを探して貼り付け

    エクセルVBAでSheet2の指定のセルをコピーして、 Sheet1にある表の中の指定の列の空白セルを探して貼り付けるVBAを作成したいのですが、うまく出来ません。 Sheet1の表は1行目、2行目は見出しの項目が並んでいます。 3行目から50行目までは値を入力するようになっていて、 51行目はそれらをの集計が表示されるようになっています。 下記のVBAを作成したら3行目~50行目までの空欄に貼り付けず、 52行目に貼り付けてしまいます。 ----------------------------------------------------------- Sheets("Sheet2").Range("B6").CurrentRegion.Copy Sheets("Sheet1").Cells(Rows.Count, "B").End(xlUp).Offset(1).PasteSpecial xlPasteValues Application.CutCopyMode = False ------------------------------------------------------------ 修正して頂けないでしょうか? 宜しくお願いします。

  • 太字の入ったセルを削除したい

    office2000を使用しています。 エクセルで5列、数百行程度のデーターを持ったシートがかなりたくさんあります。 いくつかのセルには太字が記入されています。 マクロを利用し、この太字で記入されたセルだけを検出し、そのセルが含まれる行を削除することは出来るでしょうか。 よろしくご教示ください。

  • 用意したセルをランダムに差し込んでいく

    シート名『差し込むセル』に用意したセルをA列に並べています。(数十個) その用意したセルを、別シートの指定した語句があるセルの下に差し込んでいきたいです。 『指定した語句』は、 </h2> です。 別シート:A列24行以降のセルに</h2>があればその下に、 用意したセルをランダムに差し込んでいきたいです。 (別シートのA列24行~の横にずっと続いているので、それらにもランダムに差し込んでいきたいです) シート名『差し込むセル』 A列: AAAA BBBB CCCC DDDD EEEE FFFF GGGG 別シート A列24行以降のセル(B列24行以降~のセル) </h2> ああああ いいいい うううう </h2> ええええ おおおお かかかか きききき </h2> くくくく けけけけ </h2> ここここ シート名『差し込むセル』のA列のセルを </h2>の下に、ランダムに差し込んでいく ↓ </h2> BBBB ああああ いいいい うううう </h2> FFFF ええええ おおおお かかかか きききき </h2> AAAA くくくく けけけけ </h2> CCCC ここここ というように、差し込んでいきたいです。 ※ランダムに差し込むセルは被りなし これは、どのような記述でできるようになるでしょうか? よろしくお願いいたします。