質問 |
||
| QNo.3682412 | VBA シート上の転記について | |
|---|---|---|
| 質問者:8610mama |
If 入力シート.Range("A4").Value = "会社" Then Dim 会社シート最終行 As Long 会社シート最終行 = 会社シート.Range("AA65536").End(xlUp).Row + 1 会社シート.Range("A" & 会社シート最終行).Value = 入力シート.Range("A4").Value 会社シート.Range("A" & 会社シート最終行).Value = 入力シート.Range("B4").Value VBAで上記のように入力していて、これに会社シートのA行を別のシートに転記したい場合どういう入力方法になるのでしょうか。 同じ公式で会社シートの所をsheet1、入力シートの所を会社シートと入力したのですがまったく反映されませんでした。 VBAを始めたばかりなので試行錯誤しながらしています。 |
|
困り度:
|
||
| 質問投稿日時: 08/01/15 16:41 |
||
回答良回答20pt |
|
| ANo.7 | #1です。 申し訳ない・・・。 End ifの上にNext iが抜けていました。 |
|---|---|
| 回答者:SuperMild | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/01/16 13:42 |
|
| |
| この回答へのお礼 | ありがとうございました。 |
回答 |
|
| ANo.6 | #1です。 以下で基本的には動作するかと思いますが、提示するコードは 正確にお願いします。 「これが・・・」と書かれていますがどれですか?在庫シートのみ? 会社シートの方はAA列で間違いないのでしょうか? 入力シートから会社シートに転記してそれを在庫シートに転記するので あれば入力シートから双方のシートに転記でよいのでは? 転記する範囲もこちらの想定でしかありません。 Sub 入力する() Dim 会社シート最終行 As Long Dim i As Integer If 入力シート.Range("A4").Value = "会社" Then For i = 1 To 2 会社シート最終行 = Sheets("会社シート").Range("A65536").End(xlUp).Row + 1 Sheets("会社シート").Range("AA" & 会社シート最終行).Value = Sheets("入力シート").Range("A4").Value Sheets("在庫シート").Range("A" & 在庫シート最終行).Value = Sheets("会社シート").Range("A4").Value End If End Sub |
|---|---|
| 回答者:SuperMild | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/01/16 13:33 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.5 | 度々#1です。 >会社シート最終行 = 会社シート.Range("AA65536").End(xlUp).Row + 1 はA65536の間違いですか?? 因みに、入力シートのA1及びA2のデータを実行する度に会社シートとSheet1 のA列の最終行に追加していくには以下のようにすればよいかと思います。 Sub test() Dim 会社シート最終行 As Long For i = 1 To 2 会社シート最終行 = Sheets("会社シート").Range("A65536").End(xlUp).Row + 1 Sheets("会社シート").Range("A" & 会社シート最終行).Value = Sheets("入力シート").Range("A" & i).Value Sheet1.Range("A" & 会社シート最終行).Value = Sheets("入力シート").Range("A" & i).Value Next i End Sub |
|---|---|
| 回答者:SuperMild | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/01/15 19:17 |
|
| |
| この回答への補足 | Sub 入力する() If 入力シート.Range("A4").Value = "会社" Then Dim 会社シート最終行 As Long Fori=1 To 2 会社シート最終行 = 会社シート.Range("A65536").End(xlUp).Row + 1 会社シート.Range("AA" & 会社シート最終行).Value = 入力シート.Range("A4").Value 在庫シート.Range("A" & 在庫シート最終行).Value = 会社シート.Range("A4) ・↑ ・(これがZまで続きます。) ・ Else End If End Sub これでいいのでしょうか? やってみましたが反映されません・・・・ |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.4 | #1です。 入力シートのA4とB4は何ですか? 入力シートのデータを会社シートに転記する条件等も不明確です。 提示されている内容だと会社シートの最終行は入力シートのA4を転記する 時も、B4を転記する時も同じ行になっています。 もう少し具体的なことがわからないと・・・。 Sheet1への転記は会社シートに転記するタイミングと同じ時に行えば よいような気がします。 |
|---|---|
| 回答者:SuperMild | |
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/01/15 19:07 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.3 | #1です。 良く見たら、提示されている内容だと、会社シートのA列最終行は 入力シートのA4の値にした後B4の値になるようになっています。 今ひとつ何がしたいのか不明です・・・。 どうしたいのでしょうか? |
|---|---|
| 回答者:SuperMild | |
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/01/15 17:19 |
|
| |
| この回答への補足 | 入力シートに入力→会社シートA1に転記される→入力シートに入力→会社シートA2に転記される・・・・これの繰り返しになります。 これに 入力シートに入力→会社シートA1、sheetA1に転記される・・・・ という風にしたいのですが・・・ |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.2 | #1です。 下記でよいのでは? 現状提示されているものは動作しているのですよね? 会社シート最終行 = 会社シート.Range("AA65536").End(xlUp).Row + 1 Sheet1.Range("A" & 会社シート最終行).Value = 会社シート.Range("A4").Value Sheet1.Range("A" & 会社シート最終行).Value = 会社シート.Range("B4").Value |
|---|---|
| 回答者:SuperMild | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/01/15 17:15 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.1 | 最終行取得ですが、Sheet1のAA列にデータはあるのでしょうか? 会社シートの最終行までならこの部分はそのままで良いかと思います。 |
|---|---|
| 回答者:SuperMild | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/01/15 16:53 |
|
| |
| この回答への補足 | AA列にはデーターはないです。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |