- ベストアンサー
Excelでのシート別条件比較の方法と日付指定項目のコピー方法
- Excelで異なるシート間での項目の比較とデータのコピーを行う方法について教えてください。
- また、日付指定項目を設けて、該当日のデータをマクロボタンで転送する方法についても教えてください。
- VBAを使った日付の比較に構文エラーが出て困っています。どのように修正すれば良いでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
なんとなーくわかってきました。状況が。 なにをしたいのかは今のところ掴めませんが。。。汗 If Range("B1").Value & "日" = Sheets("シート2").Select Range("J2").Value Then(←↑もちろん一行で書いていますよね?) 構文エラーってでているのは確かに「単純な文法違い」ですね。 今見て、わかりました。。。 Rangeは自分は非常に扱いにくく、Cellsを使います。(ここでは説明しませんが) Sheets("シート2").Select Range("J2").Value これでは値は持ってこれません Sheets("シート2").Range("J2").Value とやってみてください。 使っているPCにエクセルがないので確認できないのですが、 とりあえず、「値が持ってこれているか?」から確認したほうがよろしいかと。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
質問の意味が(内容が)良くつかめない。 一部実例でも挙げて説明してもらえませんか。VBA以前の問題です。 >別シートでの項目の比較を行い なぜ別シート? この質問で出てくるのはシート1・シート2・シート3(仮称)ですか・。 データのシート・行・列が判らないとVBAはコードは他人には作れません。
補足
「シート1」で1日の各項目ごとにデータを入力し集計。 「シート2」には1ヶ月分(31日分)の各項目の毎日のデータ(シート1で集計した)と縦横合計。 それぞれ入っています。 「シート1」で集計したデータを、「シート2」の同じ各項目に コピーしたいのです。シート2」の各セルにIF文を入れたのですが 循環参照エラーが出るので使えません。 SHEET1************************************** "B1" データ1 データ2…項目別合計 6 日分 項目1 入力 項目1計 ・ ・ ・ 入力 ・ 項目20 項目20計 SHEET2******************************** 項目別 "F2" "AJ2" 累計 1日・・・31日 項目1 31 1 ・・・ 1 ↓ ↓ ↓ ↓ 項目20 31 1 ・・・ 1 日計 620 20・・・ 20 SHEET1の日付("B1")とSHEET2の日付("F2"~"AJ2")が一致した列に データをコピーしたいのです。 説明が足らなくて申し訳ありません。
- GGL
- ベストアンサー率45% (23/51)
構文エラー内容はなんでしょ? その文法から察するに、 If文の判定部分に難があるように思えます。 具体的には「型違い」かと思っていますが。。。
補足
早速の回答有難うございます。 構文エラーとだけ出るのですが・・・型違いとは何でしょうか。 If文をどのようにすれば良いのでしょう? 因みに「B1がシート1」・「J2がシート2」の日付項目です。 シート2コピー先で関数If文を各項目に入れると縦横でSUM関数を使っているので循環参照エラーとなり、よく分からないVBAを使おうとしています。
お礼
構文エラーは消え、思いのIf文は成立しているようです。 説明不足で伝えたいことが伝わらず歯痒い気持ちですが前に向いて一歩進むことができました。有難うございました。