人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

http://homepage1.nifty.com/h-fuji/excel_sample.htmの■簡単入力ブックについてですが
DATAシートに入力というシートから転記を行うマクロが組まれています。
もうひとつシートを増やしてそこからも転記ができるようにしたいのですが、行は増えるのですが内容が転記されません。
Sub 転記()
Application.ScreenUpdating = False
'
If Range("B4") = "" Or Range("B5") = "" Then
MsgBox "氏名コードか電話番号が未入力です。"
Range("B4").Select
End
End If

If 修正行 > 0 And 状態 = "修正" Then
GYOU = 修正行
End If

If 修正行 = 0 Or 状態 = "流用" Then
GYOU = Worksheets("DATA").Range("A4").CurrentRegion.Rows.Count + 4
End If

Sheets("入力").Select
owari_g = Range("a4").CurrentRegion.Rows.Count + 3
Range("b4:b" & owari_g).Select
Selection.Copy
Sheets("DATA").Select
Range("A" & GYOU).Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Sheets("入力").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("B5").Formula = "=PHONETIC(B4)"
Range("b2").ClearContents
Range("B4").Select
End Sub

Sheets("入力").Selectの入力を新たに増やした
シート名にするだけでは足りないでしょうか?

●質問者: mika555
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:application b2 B4 SELECT sub
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●100ポイント

新しく作ったシートを シート2と するとします。

Sub 転記()

の モジュールは コピーして Sub 転記() の次に

Sub 転記2() とします。

Sheets("入力") の箇所は すべて

Sheets("シート2") に 変更します。

登録のボタンの割り当ては 転記2にします。

これで 転記だけ できます。

ほかのボタンも使うなら 同様の修正を 行えばいいでしょう。



http://kiyopon.sakura.ne.jp/vba/index.htm#ボタンを作成して操作を自動実行する

◎質問者からの返答

ばっちりわかりました。

でも、また難問があるので自分で頑張ってから

また質問します。

本当にありがとうございました。


2 ● Mook
●100ポイント

新たなシート名にすれば、そちらのシートからは入力できるようになりますが、もともとの入力シートからは入力されません。


入力をしたい方から入力するためにはシートを指定できるようにする必要があります。

入力シート名をそれぞれ、入力1、入力2とすると

まず、マクロを下記のように変更し

Sub 転記1()
 転記共通 "入力1"
End Sub

Sub 転記2()
 転記共通 "入力2"
End Sub

Sub 転記共通(sheetName As String)
'
' 転記 Macro
' マクロ記録日 : 1999/4/27 ユーザー名 : h.fujihara
'
 
 Application.ScreenUpdating = False
'
 If Range("B4") = "" Or Range("B10") = "" Then
 MsgBox "氏名か電話番号が未入力です。"
 Range("B4").Select
 End
 End If
 
 If 修正行 > 0 And 状態 = "修正" Then
 GYOU = 修正行
 End If
 
 If 修正行 = 0 Or 状態 = "流用" Then
 GYOU = Worksheets("DATA").Range("A4").CurrentRegion.Rows.Count + 4
 End If
 
 Sheets(sheetName).Select
 owari_g = Range("a4").CurrentRegion.Rows.Count + 3
 Range("b4:b" & owari_g).Select
 Selection.Copy
 Sheets("DATA").Select
 Range("A" & GYOU).Select
 Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
 , Transpose:=True
 Sheets(sheetName).Select
 Application.CutCopyMode = False
 Selection.ClearContents
 Range("B5").Formula = "=PHONETIC(B4)"
 Range("b2").ClearContents
 Range("B4").Select
End Sub

次にそれぞれのシートにある登録ボタンを下記のように変更します。

汎用簡単入力集計.xls!転記1

汎用簡単入力集計.xls!転記2

その他のボタンに関しても同様の処理をする必要があります。


EXCEL でお仕事 シートやブックを越えたRangeオブジェクト取得

◎質問者からの返答

丁寧にありがとうございます。

戻りも条件によってそれぞれのシートにしたいので

自分でとりあえず頑張ってみます。

また、よろしくお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ