[[20141008222051]] 『セルの値の取得』(初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルの値の取得』(初心者)

VBAでセルの内容を取得する場合はどうした良いでしょうか?
例えば、ダウンロードしたデータについて、『データ/総数』というセルがあり、
日々、セルの位置は変更するとします。
例えば、『データ/総数』と書いているセルが本日は、「T1」、明日ダウンロードすると「Z1」とセルの番地が変わります。
その時にVBAでセルの位置が変わろうとも『データ/総数』と書いているセルのある列を
選択したいのです。
一応、ネットを調べましたがなかなかたどり着けません。
よろしくお願いしいます。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 参考になると思います。

http://officetanaka.net/excel/vba/cell/cell11.htm
(カリーニン) 2014/10/08(水) 23:04


カリーニン様
ありがとうございます。
調べてみます。
(初心者) 2014/10/09(木) 10:05

カリーニン様
ありがとうございます。
下記、を試してみました。
検索の目的がピボットテーブルの列見出しであるため?
検索に失敗しました
というダイアログが出てきます。

 Dim FoundCell As Range    ''またはバリアント型(Variant)とする
    Set FoundCell = Range("A1").CurrentRegion.Find(What:="***")
    If FoundCell Is Nothing Then
        MsgBox "検索に失敗しました"
    Else
        FoundCell.Select
    End If

ピボット見出しには検索は使えないのでしょうか・・・?

(初心者) 2014/10/13(月) 11:04


Set FoundCell = Rows(1).Find(What:="***")だとどうでしょうか

(マナ) 2014/10/14(火) 18:54


マナ様
ありがとうございます。
上を試してみましたが、検索に失敗しましたとなってしまいました。
(初心者) 2014/10/15(水) 18:51

検索するシートがactiveになっていないのでは?
そうだとすれば、検索シートを明示すると良いです。

 検索シート.Rows(1).Find(***

(マナ) 2014/10/15(水) 19:48


[[20141009100633]] と同じ方ですよね。

 そうだとして。
今回も同じようにworkbook_openの中で別ファイルを開いて実行しているなら
activesheetが期待しているものと違っていないでしょうか。
だから検索されないのではないでしょうか。
前スレのエラー
>ActiveSheet.Cells(1, 9).Select
も同じではないかと思います。
  

(マナ) 2014/10/15(水) 23:20


マナ様
ありがとうございます。

 Dim FoundCell As Range    ''またはバリアント型(Variant)とする

Set FoundCell = Sheets("Sheet1").Rows(1).Find(What:="全体の 合計 / 在庫")

    If FoundCell Is Nothing Then
        MsgBox "検索に失敗しました"
    Else
        FoundCell.Select
    End If
   End Sub

にしてみましたが、出来ませんでした。

ご指摘の通り、[[20141009100633]] と同じものですが、
今回は、workbook_openの中では動かしていません。
まずはブックの中で形式を整えてから再度ご相談しようと思って、
ピボットを作るブックの標準モジュールで動かしています。

普通のセルと違い、ピボットの表題となったセルは検索対象から外れるのでしょうか?

(初心者) 2014/10/16(木) 09:24


念のために確認しますが、そのセルは1行目にありますか?

(マナ) 2014/10/16(木) 18:38


こんにちは。

> 普通のセルと違い、ピボットの表題となったセルは検索対象から外れるのでしょうか?

うーん。セルには違いないので、検索できると思いますよ。
まずは、手作業で検索してみてはどうでしょう。
それでうまくヒットするようになったら
マクロの記録にコードを作らせて、
現在のコードと比較すればうまくいくんじゃないかと思います。

( 佳 ) 2014/10/16(木) 21:17


マナ様
セルは2行目にあります。

佳様
マクロ記録を行い、検索は出来ましたが、
コードは何も記載されませんでした。


検索する範囲.Find(****)という意味です。
こんな感じです。

 Rows(1),Find(
 1行目を検索です。

 Rows(2),Find(
 2行目を検索です。

 Cells.Find(
 すべてのセルを検索

 Range("A1:F5").Find (
 A1〜F5を検索

 Sheets("Sheet1").Range("A1:F5").Find(
 Sheet1のA1〜F5を検索

( マナ) 2014/10/17(金) 19:14


 こんにちは。「様」は勘弁してください。

 記録されませんか? こちらでは末尾記載のコードが記録されます。
 2010,Win7です。
 記載されないとは、Sub Macro1 〜 End Sub の枠組みは作られて、でも
 中身が空っぽということですか? それとも枠自体作成されませんか?

 Sub Macro1()
    Cells.Find(What:="合計 / 在庫", After:=ActiveCell, Lookin:=xlFormulas, _
        Lookat:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
        MatchCase:=False, MatchByte:=False, SearchFormat:=False).activate
 End Sub

( 佳 ) 2014/10/17(金) 19:56


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.