質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

4回答

2040閲覧

VBAの転記方法

rura

総合スコア70

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/12/13 10:56

編集2016/12/13 12:01

###前提・実現したいこと
今月の勤怠をオートフィルターで出した結果がTC集計表の13行目以降にあります。
こちらの内容を就労支援記録表の11行目にある日、曜日、開始、終了に転記しなくてはいけません。なお、就労支援記録表の開始と終了は個人別TC集計表の6列目と7列目にある
終業時刻の開始と終了からの転記となります。
イメージ説明
![イメージ説明]
イメージ説明

就労支援記録表が見えにくいので、下記URL
資料3-3 就労支援評価リスト結果記録表2(36KB)

http://search.yahoo.co.jp/search;_ylt=A2RA2DD64U9YizAASUeJBtF7?p=%E5%B0%B1%E5%8A%B4%E6%94%AF%E6%8F%B4%E8%A8%98%E9%8C%B2%E8%A1%A8&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=&afs=

###発生している問題

値が転記されずに空白になっている。

###該当のソースコード

Dim i As Long Dim k As Long Dim o As Long i = 2 k = 13 o = 11 '空白行に達するまで以下プログラムを実行 Do Until Sheet6.Cells(o, 1) = "" '転記プログラム Sheets("就労支援記録表").Cells(i, 1) = Sheets("個人別TC集計").Cells(k, 1) Sheets("就労支援記録表").Cells(i, 2) = Sheets("個人別TC集計").Cells(k, 2) Sheets("就労支援記録表").Cells(i, 3) = Sheets("個人別TC集計").Cells(k, 6) Sheets("就労支援記録表").Cells(i, 4) = Sheets("個人別TC集計").Cells(k, 7) i = i + 1 k = k + 1 o = o + 1 Loop

###補足情報(言語/FW/ツール等のバージョンなど)
ExcelVBA

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

'空白行に達するまで以下プログラムを実行
Do Until Sheet6.Cells(o, 1) = ""

上記のシート名が原因とかでないでしょうか?

投稿2016/12/14 00:07

mimatama

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

EXCELファイル実物を見てみないことにはなんとも言えない状況ですね。
転記先のセル書式で文字色が白色になって見えてないだけ、ということはないですか?
ブレークポイントをLoopの中に設定して1行ずつ値を確認して行く他ない気がします。

投稿2016/12/13 12:38

odataiki

総合スコア938

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Sheets("個人別TC集計").Cells(k, 1)
K=13の場合、個人別TC集計シートのM列の1行目になりますが、写真ではわかりにくのですが、値として何が入っていますか?

投稿2016/12/13 11:50

granfa_yuzo

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

granfa_yuzo

2016/12/13 11:54

間違えました。Sheets("個人別TC集計").Cells(k, 1) のk=13の場合、セルA13ですね。
rura

2016/12/13 13:38

値がゼロです
granfa_yuzo

2016/12/13 13:49

セルA13には数値の1ですよね?(画面を見る限り) debug.print Sheets("個人別TC集計").Cells(13, 1)で何が表示されますか?
granfa_yuzo

2016/12/13 13:52

それと Sheet6.Cells(11, 1)には、何が入っていますか?
rura

2016/12/14 01:42

Dim i As Long Dim j As Long i = 11 j = 13 Do Until Sheet6.Cells(j, 1) = "" '請求データの2+i行目を請求書ひな形の21+i行目に転記 Sheet3.Cells(i, 2).Value = Sheet6.Cells(j, 1).Value Sheet3.Cells(i, 5).Value = Sheet6.Cells(j, 2).Value Sheet3.Cells(i, 14).Value = Sheet6.Cells(j, 6).Value Sheet3.Cells(i, 20).Value = Sheet6.Cells(j, 7).Value i = i + 1 j = j + 1 Loop これを自分で頑張ってやってみたらいけそうです。
granfa_yuzo

2016/12/14 10:46

期待する結果になったのならいいのですが?
guest

0

ベストアンサー

VBA

1Sheets("就労支援記録表").Cells(i, 1).Value = Sheets("個人別TC集計").Cells(k, 1).Value 2

ではどうでしょう?

投稿2016/12/13 11:49

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問