
こんにちは。私はexcel VBA初心者です。納品書の雛形から納品台帳シートへの自動転記はうまくいったのですが、どうしても納品書の雛形から納品書別請求金額シートへの転記ができません。
excelbookのシート1には納品書の雛形、シート2は納品台帳、シート3は納品書別請求金額シートです。
シート1はセルA3,A5,A7,A9,A11にそれぞれ伝票種別、伝票番号1、伝票番号2、日付、取引先を、そして、A13:E24には商品名、個数、売価、金額、部門を、そして、D25には合計を入力するようになっています。
シート2はA2:K2から伝票種別、伝票番号1、伝票番号2、日付、取引先、商品名、個数、売価、金額、部門、入金日を入力します。
シート3はA2:G2から伝票種別、伝票種別、伝票番号1、伝票番号2、日付、取引先、合計金額、入金日を入力します。
なお、転記するときに、コマンドボタンで転記するようにしました。
そして、転記が終わったら、消すようにしました。
Private Sub CommandButton1_Click()
Dim wst1 As Worksheet
Dim wst2 As Worksheet
Set wst1 = ThisWorkbook.Worksheets("納品書マスター")
Set wst2 = ThisWorkbook.Worksheets("納品台帳")
For i = 13 To 24
If wst1.Range("A" & i) <> "" And Not IsNull(wst1.Range("A" & i)) Then
myRow = wst2.Cells(Rows.Count, 1).End(xlUp).Row + 1
wst2.Range("A" & myRow) = wst1.Range("A3")
wst2.Range("B" & myRow) = wst1.Range("A5")
wst2.Range("C" & myRow) = wst1.Range("A7")
wst2.Range("D" & myRow) = wst1.Range("A9")
wst2.Range("E" & myRow) = wst1.Range("A11")
wst2.Range("F" & myRow) = wst1.Range("A" & i)
wst2.Range("G" & myRow) = wst1.Range("B" & i)
wst2.Range("H" & myRow) = wst1.Range("C" & i)
wst2.Range("I" & myRow) = wst1.Range("D" & i)
wst2.Range("J" & myRow) = wst1.Range("E" & i)
End If
Next i
wst1.Range("A7").ClearContents
wst1.Range("A9").ClearContents
wst1.Range("A11").ClearContents
wst1.Range("A13:E24").ClearContents
wst1.Range("D25").ClearContents
End Sub
この記述の中にどのような記述をしたら、シート3への転記ができるのかを教えて下さい。
できない場合、ほかに方法があったら教えて下さい。
また、できましたら、シート3の入金日を入力すると、シート2の対応する伝票種別の伝票番号の入金日を自動でリンクさせる方法はないでしょうか?よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
NO,1です。
>「アプリケーション定義またはオブジェクト定義のエラーです」が表示されて、うまくいきませんでした
具体的にどのようなコードにされて
どこでエラーが出ているのか
提示して頂かないと前に進めないと思います。
失礼しました。変更したコードを記入していませんでしたね。
では、早速、文字数に制限があるので途中から記述します。
End If
Next i
Dim wst3 As Worksheet
Set wst3 = ThisWorkbook.Worksheets("納品請求書別金額")
wst3.Range("A" & myrow) = wst1.Range("A3")
wst3.Range("B" & myrow) = wst1.Range("A5")
wst3.Range("C" & myrow) = wst1.Range("A7")
wst3.Range("D" & myrow) = wst1.Range("A9")
wst3.Range("E" & myrow) = wst1.Range("A11")
wst3.Range("F" & myrow) = wst1.Range("D25")
wst1.Range("A7").ClearContents
wst1.Range("A9").ClearContents
wst1.Range("A11").ClearContents
wst1.Range("A13:E24").ClearContents
wst1.Range("D25").ClearContents
End Sub
このように変更しました。こういうふうに変更してくださいということではなかったですか?
なお、私は記述のとおりVBA初心者ですので、このコードも専門書やネット等で調べながら記述したものです。
ですから、これから先がわからないのです。お手数かけてすみません。よろしくお願いします。
No.1
- 回答日時:
>この記述の中にどのような記述をしたら、シート3への転記ができるのかを教えて下さい。
ここまで出来ているのであれば
End If
Next i
ここの部分に
wst1.Range("A7").ClearContents
wst1.Range("A9").ClearContents
Dim wst3 As Worksheet
Set wst3= ThisWorkbook.Worksheets("納品書別請求金額")
myRow = wst3.Cells(Rows.Count, 1).End(xlUp).Row + 1
wst3.Range("A" & myRow) = wst1.Range("A3")
wst3.Range("B" & myRow) = wst1.Range("A5")
・・・
と云った具合で出来ると思いますが
>シート3の入金日を入力すると、シート2の対応する伝票種別の伝票番号の入金日を自動でリンクさせる方法
通常であれば、Vlookup関数を配置しますが
伝票単位で入金を管理しているのであれば、品名ごとに入金日の列が必要なのでしょうか?
hallo-2007さん、ご回答ありがとうございます。早速、その方法で試したのですが、「アプリケーション定義またはオブジェクト定義のエラーです」が表示されて、うまくいきませんでした。なお、エクセルの操作があまり得意でない従業員が操作することを前提に作ろうと思っているので、「VBAならできるかも」が投稿のきっかけでした。でも、早速のご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
良いドットインパクトプリンタ...
-
伝票のプリンタはレーザーかド...
-
Mac用のソフトについて
-
勘定奉行での伝票の追加方法
-
弥生の印刷設定について
-
何か言い方ある?「毎月最終水...
-
数量・会社ごとに異なる単価表...
-
弥生販売03仕入の残高が合いません
-
弥生販売の宛名シールについて
-
弥生販売で内税表示をしたいです。
-
固定資産管理で貸し出したマン...
-
弥生シリーズ 弥生販売 のネ...
-
弥生会計と、マネーフォワード...
-
弥生販売の在庫評価方法を1度...
-
VB2005の入門・初心者向けサイト
-
弥生販売で備考をいれられる??
-
弥生販売06スタンダードのデー...
-
弥生会計って酷くないですか?
-
弥生会計のおすすめマニュアル...
-
弥生会計04から08へのバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのパラメータに既定値...
-
Accessフォームのボタンの二度...
-
エクセルにて伝票番号ごとに小...
-
ヤマト運輸 宅急便の社員割引...
-
【弥生販売】請求締切後の売上...
-
弥生の印刷設定について
-
弥生販売
-
弥生販売の請求書番号を印刷し...
-
伝票のプリンタはレーザーかド...
-
ドットインパクトを使う意味っ...
-
勘定奉行の売上削除
-
会社で複写式伝票を手書きで作...
-
excel VBAで納品書の雛形から納...
-
アクセス、単票形式のリポート...
-
エクセルの使い方
-
PCA公益法人会計EXの取扱いにつ...
-
伝票入力について
-
弥生会計11 現金出納帳 並び替え
-
PCA会計EX-Vスーパーを使ってい...
-
弥生販売で数量や金額に0ゼロ...
おすすめ情報
「アプリケーション定義またはオブジェクト定義のエラーです」が表示されるだけで、その表示の中にデバックするボタンもなければエラーが起こっている場所もわかりません。変更したコードの一部は「お礼」の欄に掲載したとおりです。
ほぼ、お手上げ状態です。どなたか、助けてください。