Excel VBA質問箱 IV

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

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


6076 / 13646 ツリー ←次へ | 前へ→

【47325】Find 検索・データ転記について かおピ 07/3/7(水) 23:41 質問[未読]
【47326】Re:Find 検索・データ転記について ウッシ 07/3/8(木) 0:04 発言[未読]
【47333】Re:Find 検索・データ転記について かおピ 07/3/8(木) 8:38 質問[未読]
【47334】Re:Find 検索・データ転記について ウッシ 07/3/8(木) 9:04 発言[未読]
【47354】Re:Find 検索・データ転記について かおピ 07/3/8(木) 21:39 お礼[未読]

【47325】Find 検索・データ転記について
質問  かおピ  - 07/3/7(水) 23:41 -

引用なし
パスワード
    教えてください。
日々の精算書のデータを最終合計表(月間の各種の合計表)に転記しています。
ところが、1日だけ2日の日に転記されました。
その後は問題なく2日からは順調に転記ができます。
h1には =now() を設定しています。(表示形式:ユーザー定義 dd )
最終合計表のa5:a35 は、1日から31日(表示形式:ユーザー定義 dd )
 h1とa5:a35の表示形式は、色々試してみましたが、出来ませんでした。
 次回確認できるのは、4月1日しかないですが、
 その他の方法の方が確実でよいでのしょうか?
 他の方法があればご提案、ご回答ください。
  
Sub 転記()

Dim Hiduke As String
Dim myDate As Date
Dim c
Dim d

Worksheets("最終合計表").Select
myDate = Range("h1").Value
Hiduke = Day(myDate)
MsgBox Hiduke + ("日のデータの書き込みを行ないます")

With Worksheets("最終合計表").Range("a5:a35")
  Set c = .Find(Hiduke)
  c.Select
  Selection.Offset(0, 2).Select
  ActiveCell.Value = Worksheets("精算書").Range("am38").Value
  
  Selection.Offset(0, 1).Select
  ActiveCell.Value = Worksheets("精算書").Range("am40").Value
  
  Selection.Offset(0, 1).Select
  ActiveCell.Value = Worksheets("精算書").Range("am42").Value
  
  End With

Worksheets("売掛金明細表").Select
myDate = Range("x1").Value
  
  With Worksheets("売掛金明細表").Range("a6:a36")
  Set d = .Find(Hiduke)
  d.Select
  Selection.Offset(0, 2).Select
  ActiveCell.Value = Worksheets("売掛金精算表").Range("j5").Value
  
  Selection.Offset(0, 1).Select
  ActiveCell.Value = Worksheets("売掛金精算表").Range("n5").Value
  
  Selection.Offset(0, 1).Select
  ActiveCell.Value = Worksheets("売掛金精算表").Range("ao5").Value
  
  End With
End Sub

【47326】Re:Find 検索・データ転記について
発言  ウッシ  - 07/3/8(木) 0:04 -

引用なし
パスワード
   ▼かおピ さん:
こんばんは

>最終合計表のa5:a35 は、1日から31日(表示形式:ユーザー定義 dd )
Find使う必要も無いのでは?
1日なら5行目、30日なら34行目?

>With Worksheets("売掛金明細表").Range("a6:a36")
「a6:a36」1行ずれてていいのですか?

特に日付、数値の場合は「Match」の方がいいのですが、「Find」使うにしても引数は
省略しないようにしましょう。「LookIn」に気をつけて。



【47333】Re:Find 検索・データ転記について
質問  かおピ  - 07/3/8(木) 8:38 -

引用なし
パスワード
   おはようございます。
転記したいデータは、実際には非常にたくさんあります。

>>最終合計表のa5:a35 は、1日から31日(表示形式:ユーザー定義 dd )
>Find使う必要も無いのでは?
>1日なら5行目、30日なら34行目?

>特に日付、数値の場合は「Match」の方がいいのですが、「Find」使うにしても引数は
>省略しないようにしましょう。「LookIn」に気をつけて。
 
実は、「Match」や「LookIn」の使い方もわかりません。
ほとんど、知人に教えてもらってぼちぼちやっているので、、
そこのところを教えてください。
よろしくお願いします。

【47334】Re:Find 検索・データ転記について
発言  ウッシ  - 07/3/8(木) 9:04 -

引用なし
パスワード
   ▼かおピ さん:

>転記したいデータは、実際には非常にたくさんあります。
転記先が一ヶ月の日付分だけではないという事でしょうか?
A5:A36のように決まっているなら

Sub 転記()
  Dim Hiduke As Long
  Dim dRow  As Long
  
  With Worksheets("最終合計表")
    Hiduke = Day(.Range("H1").Value)
    MsgBox Hiduke & ("日のデータの書き込みを行ないます")
    
    dRow = Hiduke + 4
    
    .Range("C" & dRow).Value = Worksheets("精算書").Range("AM38").Value
    .Range("D" & dRow).Value = Worksheets("精算書").Range("AM40").Value
    .Range("E" & dRow).Value = Worksheets("精算書").Range("AM42").Value
  End With
  
  With Worksheets("売掛金明細表")
    Hiduke = Day(.Range("X1").Value)
    
    dRow = Hiduke + 5
    
    .Range("C" & dRow).Value = Worksheets("売掛金精算表").Range("J5").Value
    .Range("D" & dRow).Value = Worksheets("売掛金精算表").Range("N5").Value
    .Range("E" & dRow).Value = Worksheets("売掛金精算表").Range("AO5").Value
  End With
End Sub

違ってそうですけど・・・取り敢えず。

「LookIn」は「Find」の引数です。
「Match」や「Find」を標準モジュールのコードペインに書き込んで、その上をクリック
してF1キーを押すとヘルプが見られます。(インストールされていれば)

>実は、「Match」や「LookIn」の使い方もわかりません。
まずはヘルプを見る事ですが過去ログを検索するだけでも参考コードは沢山ありますよ。

【47354】Re:Find 検索・データ転記について
お礼  かおピ  - 07/3/8(木) 21:39 -

引用なし
パスワード
   ウッシさん
ありがとうございます。ハレルヤ!!
転記したいデータも転記先のシートもたくさんありますが、
早速、設定をしてみます。
本当に、ご丁寧にありがとうございます。

>>転記したいデータは、実際には非常にたくさんあります。
>転記先が一ヶ月の日付分だけではないという事でしょうか?
>A5:A36のように決まっているなら

色々と勉強をしていきますね。。。
>>実は、「Match」や「LookIn」の使い方もわかりません。
>まずはヘルプを見る事ですが過去ログを検索するだけでも参考コードは沢山ありますよ。

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