フォーマットの中にある一部分を一覧表にしたい。
お伺いします。
あるフォーマットの一部分を記録として、一覧表にする仕事
をしています。
すべてコピー&ペーストでしていますが、マクロを組めば、
数箇所のセル(ex:日付/G1、件名/A1、内容/B5、担当者/D1、
金額/H20)を違うシートの一覧表の一行のセル(ex:A1,B1,C1
,D1,E1)にコピーをする事は可能でしょうか?
方法をわかる方がいれば教えて下さい。
回答(2件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.2ベストアンサー10pt
言いたい質問内容は判るが、>フォーマットというのは意味があいまい。
一般的な意味で罫線枠などある帳票?
帳票の形式・項目構成
エクセル等プログラムのでの書式(コード=英語で使う)
などあり、分かり難い
エクセルでは用語はシートしかない。後はユーザーの思い込みの表現。
シート上の単一の塊で、
>数箇所のセル(ex:日付/G1、件名/A1、内容/B5、担当者/D
の数箇所はどういう関係にあるのですか。
まさかシートが複数あるのではないでしょうね。
それが決まったルールとか表とかで表現できないとプログラムを組めないし、数回の操作が(例えばボタンを押すとか)必要になる。
数箇所を文章で表現すればどうなるのでしょう。
本件課題を丸投げで、自分でVBあを勉強したことが伺えない。
それでは自分の場合に合わせた修正もできなくて、回答が無駄になります。
>わかる方がいれば
VBAを少しやった方なら回答できます。
多分10数行以内でしょう。
この回答への補足
簡単なプログラムでもよくわからず、少し丸投げなような質問
をしてしまいました。VBAを勉強しなくちゃいけないと思って
います。
No.1ベストアンサー20pt
例に挙げられているのが、毎回1レコード分だけで、同じ場所にコピーするのであれば、エクセルマクロの自動記録で記録しておけば、毎回使えます。
しかしレコード数が可変で、コピー先も前回処理分の次からコピーしたいといかであれば、自分で組む必要があります。
例えば、Sheet1に
A1=日付1
B2=名前1
C3=用件1
A4=日付2
B5=名前2
C6=用件2
A7=日付3
B8=名前3
C9=用件3
というレコードが存在して、これをsheet2へ1行にしてコピーしたいとします。
件数固定で、コピー先が毎回1行目からで良いのであれば下のような例が挙げられます。
Sub A()
回数 = 3 '繰り返す回数
開始 = 1 'コピーする塊の最初の行番号
間隔 = 3
コピー先日付 = "A"
コピー先名前 = "B"
コピー先用件 = "C"
Application.ScreenUpdating = False
Application.Calculation = xlManual
For カウンタ = 開始 To 回数 '開始行から回数分繰り返す
日付 = (カウンタ * 3) - 2
セル = "A" & 日付
Sheets("sheet1").Select
Range(セル).Select
Selection.Copy
セル番号 = コピー先日付 & カウンタ
Sheets("sheet2").Activate
Range(セル番号).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False
名前 = (カウンタ * 3) - 1
セル = "B" & 名前
Sheets("sheet1").Activate
Range(セル).Select
Selection.Copy
セル番号 = コピー先名前 & カウンタ
Sheets("sheet2").Activate
Range(セル番号).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False
用件 = カウンタ * 3
セル = "C" & 用件
Sheets("sheet1").Activate
Range(セル).Select
Selection.Copy
セル番号 = コピー先用件 & カウンタ
Sheets("sheet2").Activate
Range(セル番号).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False
Next
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
End Sub
あまり良い例ではありませんが、このような形でも実行が可能になります。
この回答へのお礼
書き込み遅くなりすみません。
ご丁寧に教えていただいてありがとうございます<m(__)m>
でも自分でVBAも理解して作らないとダメだな~と感じています。
こんなに丁寧に教えていただきましたが、やはりよくわかりません。
人任せではなく、自分で勉強して理解しないと応用もききませんよね?
書き込みしてもらったのを参考に自分でやってみます。
ありがとうございました。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











