エクセルVBAに自信ニキきて

1: 名無しさん@おーぷん 21/08/17(火)19:45:10 ID:oqOa
エクセルファイルAのセル内の数字を
エクセルファイルBに反映させることってできるんか?

2: 名無しさん@おーぷん 21/08/17(火)19:46:00 ID:oqOa
すまん書き忘れた随時自動的に更新してほしいんや

3: 名無しさん@おーぷん 21/08/17(火)19:48:07 ID:0hfv
vbaじゃなくて普通にリンク貼れば?

4: 名無しさん@おーぷん 21/08/17(火)19:48:42 ID:jowg
エクセル開かな随時更新できなくね

8: 名無しさん@おーぷん 21/08/17(火)19:50:56 ID:oqOa
>>4
開かずに随時更新ってできないんか

10: 名無しさん@おーぷん 21/08/17(火)19:51:31 ID:0hfv
>>8
それをvbaでやらせる

5: 名無しさん@おーぷん 21/08/17(火)19:49:19 ID:0hfv
vbaでやるならaのセルがあるエクセル開いてコピーしてbに貼り付け

7: 名無しさん@おーぷん 21/08/17(火)19:50:28 ID:oqOa
>>5
それ普通にコピペやないんか

9: 名無しさん@おーぷん 21/08/17(火)19:51:12 ID:0hfv
>>7
コピペやけどvbaでボタンか何かに登録させて、ボタン押したら更新されるように

11: 名無しさん@おーぷん 21/08/17(火)19:51:32 ID:oqOa
>>9
はえーーーーーーー!なるほど!

6: 名無しさん@おーぷん 21/08/17(火)19:50:05 ID:oqOa
VBAとか知ったかでいったけどエクセル初心者やねんな

13: 名無しさん@おーぷん 21/08/17(火)19:52:10 ID:vryM
イッチにワイの書いたコードあげたい

15: 名無しさん@おーぷん 21/08/17(火)19:52:24 ID:oqOa
>>13
ほちい

14: 名無しさん@おーぷん 21/08/17(火)19:52:14 ID:oqOa
ちなみに初心者ワイがその機能作ろうと今からググったら何時間で出来上がると思う?

17: 名無しさん@おーぷん 21/08/17(火)19:53:20 ID:0hfv
>>14
てか記録マクロでやればええんでね?

16: 名無しさん@おーぷん 21/08/17(火)19:53:09 ID:0hfv
開発タブ最初ないから表示させてからね。

21: 名無しさん@おーぷん 21/08/17(火)19:56:42 ID:oqOa
はえ~
開発タブはエクセルにあって
記録マクロは繰り返しの作業を登録することをいうんか

22: 名無しさん@おーぷん 21/08/17(火)19:57:14 ID:9TAZ
これ素人でもググったら余裕で出来るレベルやろ
がんばれ

25: 名無しさん@おーぷん 21/08/17(火)19:58:52 ID:oqOa
最後に一個質問ええか
エクセルが社内全体で使ってる共有ファイルだった場合何か不具合起きる可能性あるやろか

27: 名無しさん@おーぷん 21/08/17(火)20:00:31 ID:0hfv
>>25
みんなそんなレベルなら
他の人が開いたときに最初にこのファイルはマクロが云々許可しますかて警告出るよ。
それでOK押してって伝えとかないと

29: 名無しさん@おーぷん 21/08/17(火)20:01:52 ID:oqOa
>>27
ファッ!?
そんなん言ってなかったら絶対大騒ぎなるサンガツ

26: 名無しさん@おーぷん 21/08/17(火)19:58:54 ID:SmHb
Aのブックにセルの更新をトリガにして
「指定のブックを開き、Aの変更点を複写する」
って処理実装するのが一番ええんとちゃうんか

28: 名無しさん@おーぷん 21/08/17(火)20:01:25 ID:SAWz
おんJでVBAもっと広めてほしい

31: 名無しさん@おーぷん 21/08/17(火)20:03:16 ID:oqOa
>>28
コレイトン

30: 名無しさん@おーぷん 21/08/17(火)20:02:49 ID:oqOa
ワイは無能で会社に貢献できてないからせめてこういう雑多な作業を効率化することで居場所を作りたいんや😁

32: 名無しさん@おーぷん 21/08/17(火)20:04:15 ID:0hfv
標準であるPowerShellも便利だぞ。
ファイルのコピーやフォルダ作成、削除とか自動でできるからな

33: 名無しさん@おーぷん 21/08/17(火)20:05:16 ID:oqOa
>>32
存在すら知らなかったわ

34: 名無しさん@おーぷん 21/08/17(火)20:07:14 ID:0hfv
>>33
他の人には言うなよ。
会社でエクセルとか記録マクロでもできると、自分だけしかできないシゴトになるから相当便利や。
うちも、周りがエクセル全くできないから、ワイにしか出来ないと言うことで色々得になるぞ

35: 名無しさん@おーぷん 21/08/17(火)20:08:27 ID:oqOa
>>34
異世界系の主人公気分味わえそうやね
モチベあがった
これから勉強してみるわ

40: 名無しさん@おーぷん 21/08/17(火)20:14:42 ID:JA2v
VBAじゃなくてps1スクリプト組んでタスクスケジューラで動かしたら?

42: 名無しさん@おーぷん 21/08/17(火)20:15:40 ID:oqOa
>>40
またわからん言葉出てきて草
と思ったらPSがさっき出てきたPowerShellか

43: 名無しさん@おーぷん 21/08/17(火)20:17:16 ID:JA2v
>>42
スレタイだけ読んで書き込んでたわ
そうやで、PowerShell版のパッチファイルがps1スクリプトや
Excelファイルの中身コピーしたり書き込んだりできるからイッチの要件は余裕で満たせるで

48: 名無しさん@おーぷん 21/08/17(火)20:24:06 ID:0hfv
純粋にAというエクセルのAのセルを
BというエクセルのBのセルに反映させたいだけちゃうの?

49: 名無しさん@おーぷん 21/08/17(火)20:25:27 ID:oqOa
>>48
わかりやすく簡潔にまとめてくれて草
せやね
それでシートとセルの位置はエクセルファイルAとエクセルファイルBで異なる

50: 名無しさん@おーぷん 21/08/17(火)20:26:32 ID:JA2v
コピー元・コピー先ののシート・セル位置は常におなじ?

52: 名無しさん@おーぷん 21/08/17(火)20:27:33 ID:oqOa
>>50
そうかそこも重要なんやな
変動することある

54: 名無しさん@おーぷん 21/08/17(火)20:28:19 ID:oqOa
>>50
コピー元が変動する
コピー先は変動しない

やね

56: 名無しさん@おーぷん 21/08/17(火)20:29:04 ID:eVyH
ディレクトリの位置まで含めて参照すればええで
ファイルの名前変わらん限りオート反映や

59: 名無しさん@おーぷん 21/08/17(火)20:30:46 ID:oqOa
>>56
ファイルの名前は変わらんね

60: 名無しさん@おーぷん 21/08/17(火)20:32:23 ID:eVyH
>>59
ほなできるんちゃうか
ただ動的に参照セル変更するのはマクロ使わな無理やね
workbook_openに変更するマクロ組んだらええわ

63: 名無しさん@おーぷん 21/08/17(火)20:34:51 ID:SmHb
リアルタイム更新自体はちゃんとそれようにトリガ用意しとけばイケるで

65: 名無しさん@おーぷん 21/08/17(火)20:36:45 ID:oqOa
>>63
便利やけどさらに複雑になりそうやからボタン更新にしよかな

66: 名無しさん@おーぷん 21/08/17(火)20:37:16 ID:eVyH
>>65
どういうシステムかにもよるけどその方がええやろね

68: 名無しさん@おーぷん 21/08/17(火)20:43:03 ID:HBk7
それ業務で使おうとすると結構怒られがちやから許可取るの忘れちゃアカンで

73: 名無しさん@おーぷん 21/08/17(火)20:46:21 ID:oqOa
>>68
実際に試す前には上司に許可取るようにするわ
忠告ありがとうやで

69: 名無しさん@おーぷん 21/08/17(火)20:44:20 ID:eVyH
VBAはお手軽になろう気分味わえるからな
自分で研究するのもおすすめやで

71: 名無しさん@おーぷん 21/08/17(火)20:45:17 ID:SAWz
>>69
やればやるほど万能感出てくるわ

74: 名無しさん@おーぷん 21/08/17(火)20:47:11 ID:oqOa
>>69
結局自分で理解して作れなきゃなんか不具合起きたときにより困るだけやもんな
勉強しよ

70: 名無しさん@おーぷん 21/08/17(火)20:44:53 ID:oqOa
ぶっちゃけ基礎が無さすぎて何をどうすべきかハッキリ理解できてないからここで教えてもらったワードとやり方ググりながらやってみるで
ほんまありがとう

78: 名無しさん@おーぷん 21/08/17(火)20:49:06 ID:tX1N
打ち込みたいセルに「’参照したいセルのあるシート名’!参照したいセル番号」でならね?

79: 名無しさん@おーぷん 21/08/17(火)20:49:21 ID:eVyH
>>78
動的に参照したいセルが変わるんやと

80: 名無しさん@おーぷん 21/08/17(火)20:49:47 ID:tX1N
>>79
じゃあ軽く組まんとだめか

85: 名無しさん@おーぷん 21/08/17(火)20:57:02 ID:HBk7
・「対象のエクセルBのファイル名、パスを入力する」欄
・「対象のエクセルBから取得したいセル(もしくは範囲)を入力する」欄
ボタンを押すと上の部分から欲しい物を持ってくる

的な感じでつくりゃええんちゃうの

88: 名無しさん@おーぷん 21/08/17(火)21:01:21 ID:oqOa
>>85
エクセルBのほうに更新ボタン作って
それ押したらエクセルAから持ってくるようにするってことやろか

90: 名無しさん@おーぷん 21/08/17(火)21:03:39 ID:HBk7
>>88
エクセルAの構成
・入力欄(対象ファイル、対象パス)
・入力欄(対象セル)※構成によっては不要
・実行ボタン

エクセルAのボタンを押したらエクセルBを裏で見えないよう起動、欲しいものをコピーしてエクセルBを閉じる
制御がエクセルAに戻って来てエクセルAの任意シートの任意箇所、任意範囲に吐き出し

96: 名無しさん@おーぷん 21/08/17(火)21:08:45 ID:oqOa
>>90
つまりこれだとエクセルBのセルが動的であってもエクセルAの構成を変えれば自在にエクセルAに持って来れるってことで合ってるやろか

99: 名無しさん@おーぷん 21/08/17(火)21:09:56 ID:HBk7
>>96
そうやね
ただ「全部持ってくる」ってことが常に確定してるんなら範囲指定はいらんくて中であるだけ持ってくるってループかければいい
いちいちセル範囲見て来て設定するのめんどいし

100: 名無しさん@おーぷん 21/08/17(火)21:11:11 ID:oqOa
>>99
はーなるほど
ほんまにプログラミング(と呼んでいいのか分からんが)っていろんな角度から指示の出し方考えなあかんのやね

102: 名無しさん@おーぷん 21/08/17(火)21:15:16 ID:HBk7
>>100
何をするのが必要なんか分解しまくってパーツごとに検索かければ割と簡単に作れるで

87: 名無しさん@おーぷん 21/08/17(火)21:00:38 ID:HBk7
コピー元のデータ数が不定かつ全部持ってきたいっていうんならコピー元のセルが存在しなくなるまでループで全部配列突っ込んでって
エクセルAに戻って配列存在しなくなるまで吐き出せば割と簡単に作れるで

89: 名無しさん@おーぷん 21/08/17(火)21:03:32 ID:oqOa
そうや言い忘れてたすまん…
コピー元のセルが計算式入ってるんやがそうなるとまたややこしくなるやんな?
(例)セル表記上では「10」だが「=B2*C2*D2」の計算式が入ってる

92: 名無しさん@おーぷん 21/08/17(火)21:05:41 ID:HBk7
>>89
その欲しいデータが10なら別に10で持って来れるで
数式を維持したまま持ってきたいっていうんでも可能

93: 名無しさん@おーぷん 21/08/17(火)21:05:52 ID:oqOa
>>92
はえ~

91: 名無しさん@おーぷん 21/08/17(火)21:05:02 ID:HBk7
エクセルファイルがそもそもウン百とかあるって話ならcsvやらで読み込めるようにせんとPC爆発するけどそんな規模大きくなくてとりあえずは~って感じで作るんならこんなんでええと思うで

95: 名無しさん@おーぷん 21/08/17(火)21:08:21 ID:SmHb
ここまで来たらパワークエリの方が早かったりせんか?

98: 名無しさん@おーぷん 21/08/17(火)21:09:22 ID:oqOa
奥が深すぎて草

103: 名無しさん@おーぷん 21/08/17(火)21:16:52 ID:oqOa
ほんまみんなありがとう
このスレを足がかりに勉強してみるわ

104: 名無しさん@おーぷん 21/08/17(火)21:17:07 ID:ZEgK
リアルタイムで同期したいならvbsなりでタスクで実行したほうが楽やで

引用元: https://hayabusa.open2ch.net/test/read.cgi/livejupiter/1629197110/

悩み・相談
スポンサーリンク
\ Twitterで更新情報を発信中!フォローお願いします/
スポンサーリンク
こそあどch

コメント