Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6142 / 13645 ツリー ←次へ | 前へ→

【46957】縦横の表にデータを入れる はこだ 07/2/23(金) 11:30 質問[未読]
【46960】Re:縦横の表にデータを入れる ちくたく 07/2/23(金) 12:40 回答[未読]
【46961】Re:縦横の表にデータを入れる はこだ 07/2/23(金) 12:55 質問[未読]
【46962】Re:縦横の表にデータを入れる ちくたく 07/2/23(金) 13:09 発言[未読]
【46963】Re:縦横の表にデータを入れる はこだ 07/2/23(金) 13:28 お礼[未読]

【46957】縦横の表にデータを入れる
質問  はこだ  - 07/2/23(金) 11:30 -

引用なし
パスワード
   下のような横列に日付、縦列に地点が入っている表の形のデータがあります。

    1/1 1/2 1/3 1/4 1/5
地点1
地点2
地点3
地点4
地点5


ここに「その日」の「その地点」の水温データを記入したいと思っています。
もとになるデータは次のように、列ごとに入力されています。

地点1 1/1 26.5℃
地点2 1/1 28.5℃
地点5 1/3 26.0℃
地点4 1/5 27.0℃

ここでマクロをつかって、


    1/1 1/2 1/3 1/4 1/5
地点1 26.5
地点2 28.5
地点3
地点4           26.0
地点5      27.0


と自動で記入させたいのですが、方法が分かりません。
Findメソッドを使うのかもと思ったのですが、縦横になっているものを検索させることはできませんでした。
データ量が多いため、関数などを使う方法では時間がかかってしまって困っています。
よろしくお願いいたします。

【46960】Re:縦横の表にデータを入れる
回答  ちくたく E-MAIL  - 07/2/23(金) 12:40 -

引用なし
パスワード
   はこだ さん

こんにちは。
セルの条件がわからないため、
そこは適当に入れました。

個人的には、配列で作りそうですが、
Findを使った方がはこださんがわかりやすいかもしれませんでしたので、
Findで作りました。

ここでは、作成したい表がE1から始まっていて、
データは同じワークシートのA1から始まっていることとします。
日付がB列、水温がC列です。

ご参考までに。

Sub 文字を探す()

  Dim r_chiten As Range, r_hizuke As Range
  Dim i As Integer
  Dim hyou As Range
  
  '作成したい表のデータ範囲が変数、hyou
  'データはA1から並んでいることにする。
  
  Set hyou = Range("E1:J5")  '//検索範囲 (作成したい表の場所)
  
  For i = 1 To Range("A65536").End(xlUp).Row
    Set r_chiten = hyou.Find(what:=Range("A" & i).Value)
    Set r_hizuke = hyou.Find(what:=Range("B" & i).Value)
    Cells(r_chiten.Row, r_hizuke.Column) = Range("C" & i).Value
  Next i
End Sub

【46961】Re:縦横の表にデータを入れる
質問  はこだ  - 07/2/23(金) 12:55 -

引用なし
パスワード
   ▼ちくたく さん:

アドバイスありがとうございます。
さっそく使ってみたのですが、
「オブジェクト変数またはwithブロック変数が設定されていません」との実行時エラー91が表示されてしまいました

デバックでみると

Cells(r_chiten.Row, r_hizuke.Column) = Range("C" & i).Value

のところに黄色マーカーがかかっていました。
原因がわかりますでしょうか?

【46962】Re:縦横の表にデータを入れる
発言  ちくたく E-MAIL  - 07/2/23(金) 13:09 -

引用なし
パスワード
   はこだ さん
こんにちは。

そちらの表の作り方などがわかりませんので、
データがどのセルにあるかなど。
アドバイスのしようがありません。

きっと、そちらに併せて、コードを変更されたと思いますし、
それを教えて頂かなくては、何も言えません。

そちらのシートが見えれば良いのですが、
あいにく、そういうわけにもいきませんので。

【46963】Re:縦横の表にデータを入れる
お礼  はこだ  - 07/2/23(金) 13:28 -

引用なし
パスワード
   ▼ちくたく さん:

すいません、私のミスでした!!
データと表の日付の年が違っていたために出たエラーだったようです。

【説明不足だった部分】
とりあえず動かしてみようと思って、ちくたくさんが書かれている場所に表をつくって、コードもそのままでマクロを実行したのですが、日付の年が違っていたので、データがみつからなかったようです。

これから実際のデータで使ってみようと思います。
本当に助かりました、ありがとうございました。

6142 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free