こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel VBA 別ブックへの登録

お世話になります。

今お仕事でExcelのVBAで同じフォルダ内の別ブックにデータを書き込みたくて
いろいろやって見たのですが、上手くできません。

お力を頂ければと・・・・

<詳細>
やりたいこと
サーバー内に各個人の見積フォルダがあり、そのフォルダの中に見積作成と見積データの各ファイルが2つあります。

見積作成で作成したデータが登録ボタン(VBA)により見積データに登録されるようにしたい。

今までは同じブック内の別シートへデータを登録していました。

今回は同じフォルダ内の別ファイルへのデータ登録です。

ここまではできました・・・・

Sub 見積データ取得()
Dim wSheet As ThisWorkbook
Dim idx As String


'データ保存用シートを取得

Workbooks.Open Filename:=ThisWorkbook.Path & "見積データ.xls"

Set wSheet = ThisWorkbook.Sheets(見積作成.xls)


'空白行を取得
idx = CStr(wSheet.UsedRange.Row(wSheet.UsedRange.Rows.Count).Row + 1)

'明細を取得
Dim wRange As Range
Set wRange = ThisWorkbook.Sheets("見積作成").Range("B7:Q175")

Dim i As Integer
For i = 1 To wRange.Rows.Count
If wRange.Cells(i, 6).Value <> "" Then
'作成日
wSheet.Range("A" & idx).Value = ThisWorkbook.Sheets("見積作成").Range("H2").Value
'見積NO
wSheet.Range("B" & idx).Value = ThisWorkbook.Sheets("見積作成").Range("H5").Value
'見積名
wSheet.Range("C" & idx).Value = ThisWorkbook.Sheets("見積作成").Range("C1").Value
'提出先NO
wSheet.Range("D" & idx).Value = ThisWorkbook.Sheets("見積作成").Range("B3").Value
'提出先
wSheet.Range("E" & idx).Value = ThisWorkbook.Sheets("見積作成").Range("C3").Value
'提出先フリガナ
wSheet.Range("F" & idx).Value = ThisWorkbook.Sheets("見積作成").Range("Y5").Value
'担当者
wSheet.Range("G" & idx).Value = ThisWorkbook.Sheets("見積作成").Range("H1").Value
'備考欄
wSheet.Range("S" & idx).Value = ThisWorkbook.Sheets("見積作成").Range("C31").Value
'メーカー名
wSheet.Range("H" & idx).Value = wRange.Cells(i, 10).Value
'商品NO
wSheet.Range("I" & idx).Value = wRange.Cells(i, 1).Value
'商品名
wSheet.Range("J" & idx).Value = wRange.Cells(i, 2).Value
'入数
wSheet.Range("K" & idx).Value = wRange.Cells(i, 9).Value
'数量
wSheet.Range("L" & idx).Value = wRange.Cells(i, 3).Value
'A価
wSheet.Range("M" & idx).Value = wRange.Cells(i, 5).Value
'金額
wSheet.Range("N" & idx).Value = wRange.Cells(i, 6).Value
'C価
wSheet.Range("O" & idx).Value = wRange.Cells(i, 14).Value
'D価
wSheet.Range("P" & idx).Value = wRange.Cells(i, 16).Value
'数量
'wSheet.Range("K" & idx).Value


idx = CStr(CInt(idx) + 1)
End If
Next

でも上手くいきません・・・
よろしくお願いいたしますm(_ _)m

投稿日時 - 2012-11-28 11:00:11

QNo.7819623

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

Set wSheet = ThisWorkbook.Sheets(見積作成.xls)

Set wSheet = ThisWorkbook.Sheets("見積作成")

って言うミスしか気付かなかった。

投稿日時 - 2012-11-28 13:06:00

お礼

ありがとうございます。

見積作成の記述は直しました・・・

でも、まだエラーがでてしまいました(´;ω;`)

メソッドまたはデータメンバーが見つかりません・・・っとでてしまいました。

idx = CStr(wSheet.UsedRange.Row(wSheet.UsedRange.Rows.Count).Row + 1)

この記述のUsedRangeこの記述が青くなっていました。

お分かりになる方がおりましたら
助けていただけると幸いです・・・ヽ(´Д`;)ノm(_ _)m

また、

投稿日時 - 2012-11-28 14:41:24

あなたにオススメの質問