Excel VBA 質問スレ Part80(ワッチョイあり)

2023/11/24(金) 20:41:50.46ID:hbrpz6MLd
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part77
https://mevius.2ch.net/test/read.cgi/tech/1658009255/
Excel VBA 質問スレ Part78
https://mevius.2ch.net/test/read.cgi/tech/1667104996/
Excel VBA 質問スレ Part79(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1674875532/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/11/27(月) 10:15:31.31ID:ujSb7R+LM
1200万円の解析装置部署で導入
メーカーと商社の話だともし必要であれば
データ処理するソフトもオプションでありますけどおまけ程度の機能になります
VBAを色々いじれる人がいるならそっちの方がはるかに良いです

ソフト買う方向に進めたいのに反対勢力が、、いやお前が作ってくれるなら俺もソフトいらんよ
2023/11/27(月) 22:26:13.00ID:CI3qhd280
ここに出入りしてる人間なら率先して試作してみりゃいーじゃねーか
商社はメーカー同席だと言い辛いかも知らんが、同じ製品納めてる他の企業の事例を、こっそり耳打ちして
くれるかもだし 可能性は山ほどある すぐ拒否・否定に逃げるのはオトコじゃ無い
チャレンジしてこそのサラリーマン 失敗したってダメ元 挑戦の無い企業に発展は無い

つか、どっかのExcelスレで同じ質問を目にした記憶があるような デジャブか
2023/11/27(月) 22:51:04.78ID:CI3qhd280
https://www.capind.co.jp/product/detail.php?id=251
これなんか良さげだな 複数機器に対応してるのもいい
稟議上げて社長におねだりしてろ おいくら万円かは分からん
2023/11/27(月) 23:03:30.45ID:YDVDDDMEM
1000万以上の装置なら有限要素解析とかFFT解析とかなのか
VBAの知識だけではどうにもならない気がするけど
2023/11/28(火) 10:41:11.25ID:V3dCbzyl0
計測器統合制御をExcelで実現するアドイン
『Sequence Maker』 ← 無償(商用利用でも個人利用でも無料
https://sequencemaker.hioki.com/ja/  こんなん出ましたけど
こういうのでなくて?
2023/11/28(火) 11:39:13.35ID:x9cWJykmM
>>2の内容だと制御がしたいのではなくてデータ処理の方じゃないの?
2023/11/29(水) 23:02:10.85ID:A5d8zOu00
データ処理なんよ
座標はマイナスもあるからなかなかめんどくさい
幾何公差やズレ量はvbaで作り込むとめちゃんこ便利なんだけどね
あと100年はvbaでいいぐらいめちゃんこしこしこ相性がいい
2023/11/30(木) 10:17:18.39ID:YCOtWOlp0
リンク先見てみればわかるけど、制御もデータ処理も両方だよ
接続方式も様々、データ送るのも受けるのもあれこれ それが「無料」 らしい
じぶんトコの機器と繋いで試してみるには充分 受け取ったデータをどう加工するか
それがしやすいか、試行錯誤するにはもってこいじゃ?
2023/12/23(土) 11:24:28.66ID:0DKgSd0V0
すみません 質問です
C1にはrandom関数が入っています。B1にはC1のコピーしたものの値を貼り付けています。A1にはB1が0.6より大きければ◯小さければ✕が入るようにします。A1
を下にオートフィルすればB2にはC1を参照としてC1をコピーした値、A2にはA1と同じように◯✕が入るようにしたいです
よろしくお願いいたします
https://i.imgur.com/hBsRvdT.jpg
11デフォルトの名無しさん (ワッチョイ a3b5-pDLy)
垢版 |
2023/12/23(土) 15:04:46.53ID:Gwk7x+r/0
AとB列は全部同じ値になるだけじゃ
12デフォルトの名無しさん (ワッチョイ 63bf-pDLy)
垢版 |
2023/12/23(土) 19:02:50.72ID:QzF0pH9f0
マクロが突然壊れた。
ある時、マクロの一覧が表示されなくなり、
セキュリティー(トラストセンター)をいじったら一時的に
治ったが、また表示されなくなり、今に限っては
マクロを動かすと全く違う動作をしたり、今まで正常に
何回も動かしてたマクロが突然エラーになって動かない。
ファイルが壊れたか???と思ったが、別のPCでそのファイル
正常に動作するんで、オフィス修復やったが治らず、
で、結局再インストしたらあっけなく治った。
プログラムが何かの拍子で壊れる、ということがあるらしい。
13デフォルトの名無しさん (ワッチョイ 63bf-pDLy)
垢版 |
2023/12/23(土) 21:28:56.85ID:QzF0pH9f0
12だがやはり「マクロの登録」一覧からマクロが突然消える。
誰か対策教えてくれ。
2023/12/23(土) 21:55:07.93ID:wXkv6mGDd
どうせマクロに署名してないから起動時に無効化されてるってオチ
15デフォルトの名無しさん (ワッチョイ 6301-cfY7)
垢版 |
2023/12/23(土) 22:27:46.32ID:8ng/MRqb0
ストレージか?
2023/12/24(日) 08:57:28.13ID:emWydGj70
>>12
随分前だけどバージョン違いのExcelでマクロを起動すると似たような状況になったことがあったな
複数人で使い回したりしてる?
2024/02/29(木) 03:28:34.72ID:fThkXDoh0
以下のようにデータを入力したときに
画像のようにレイアウトをかえて、表示用として別シートに書くことは出来ますか?


A出版 004
A出版 003
B出版 006
B出版 005
(本当は画像と同じように書きます)

https://i.imgur.com/1vIYIHQ.jpg

単純に取引先でソートして
VBAで転記するときに、
上と同じなら文字削除すれば簡単でしょうか?
2024/02/29(木) 03:34:27.60ID:Abbi1OW1d
できます
2024/02/29(木) 09:37:23.42ID:VmbR4Tf/0
>>17
後の流用を考えると、削除しないほうが良いんじゃない?
2024/02/29(木) 14:12:43.39ID:JwatrK+sd
>>19
あくまでも表示用のシートです
削除しないとなると、どのような処理になりますか?
色を背景色にするのでは選択すると入力できてしまうので、誤入力防止で削除を考えました
2024/02/29(木) 14:38:52.61ID:VmbR4Tf/0
>>20
ごめん、表示用だと認識してませんでした
2024/03/03(日) 09:38:35.96ID:nYZbKW3u0
セル内に改行付きで入ってる文字列をWordファイルの指定のセルに転記させたいです。
当初差し込み印刷でやろうとしたんですが改行が消えてしまって…
2024/03/05(火) 15:19:55.05ID:lrAkKyth0
>>22
具体的な用途がわからないけど、文書内の表のセルにただ入力したいだけなら文字列で書き込めばいいんじゃないかな

Sub 文書内のセルに転記()

Dim str As String
str = Cells(1, 1).Value

Dim doc As Object, i As Long

Set doc = Documents.Open(ThisWorkbook.Path & "\文書1.docm")

doc.Tables(1).Cell(1, 1).Range.Text = str
End Sub
2024/03/05(火) 21:04:29.79ID:vpqODFup0
500行ずつ下へ移動するオシャレな方法があれば教えて
コードは簡単に書けるけどボタンをどうしようか悩んでいる。
25デフォルトの名無しさん (ワッチョイ cb01-fRaX)
垢版 |
2024/03/05(火) 22:42:06.84ID:uv6Tn7vf0
リボンかクイックに置けばいいだけ
2024/03/05(火) 23:06:34.48ID:1MXf4VgDd
ボタンなんてダサい
ショートカットキーにしとけ
2024/03/06(水) 00:55:19.48ID:g0HJYNda0
>>26
ショートカットキーでマクロ発動とかできるの?
2024/03/06(水) 21:07:09.63ID:J53jsheD0
ちっさいユーザーフォームに[↓500] [↑500]のボタン置いて、Sheetの前面にフロートさせとく
2024/03/22(金) 23:46:16.21ID:4cmyPG190
質問させていただきます
Cellsでセルを指定するときにセル番地を簡単にわかる方法はないでしょうか?
R1C1参照形式というものがありますがこれだとRangeを使用する際に不便だと思います。皆様はどのようにCellsとRangeに適したセル番地を把握されてますか?
2024/03/23(土) 01:40:54.15ID:WFks+Yvw0
よくわからないけど
Range("A1") と書くのと Cells(1, "A") と書くのは同じです
31デフォルトの名無しさん (ワッチョイ d901-8/Mv)
垢版 |
2024/03/23(土) 09:27:28.74ID:Y5NpvLBG0
>>30
mjsk
初めて知った(今頃)
2024/03/23(土) 09:36:59.52ID:mhs1yCGmd
>>31
rangeオブジェクトのリファレンスに一度目を通しておくと良いよ
2024/03/23(土) 13:55:04.13ID:ulv10UCb0
助けて下さい
txtに変換して
そのtxtを別のアプリで
読み込もうとしています

Application.CutCopyMode = False
Dim book1 As Workbook
Sheets("label").Select

Application.DisplayAlerts = False

Set book1 = Workbooks("◯◯◯.xlsm")

book1.SaveAs Filename:="C:\Users\aaaaa\Desktop\片山\label.txt", _
FileFormat:=xlCurrentPlatformText

Application.DisplayAlerts = False

Range("B3").Select

Sheets("入力チェック表").Select

Range("H4").Select

Application.Quit

ThisWorkbook.Close

ActiveWorkbook.Close SaveChanges:=False

End Sub
2024/03/23(土) 14:01:19.14ID:ulv10UCb0
シートlabelをtxtに変換して
別のアプリで読み込もうと思います

ですが、最後はエクセルが
終了してしまうため
(bookが閉じる)
終了しないようにしたいのですが

最後3行を削除すると
txtを保存するためのアラートが出たり
アプリで読み込むと
読込エラーが出たりします
(txtファイル使用中の為?)

エクセル終了しない方法は
ありますか?
2024/03/23(土) 14:30:10.11ID:JDdDfN3id
>>34
Application.quitしてるからExcelが終了するのは当然では
2024/03/23(土) 15:09:35.81ID:ulv10UCb0
>>35
ありがとうございます

>>34
Application.quit
を削除したのですが
エクセルは終了しませんが
book?が終了します
2024/03/23(土) 15:47:42.35ID:2VB/Vbesd
>>36
ブック開いてると排他制御かかるから書き込みロックするソフトから当該ブック開けなくなる
だから閉じるしかないと思うよ
2024/03/23(土) 15:48:11.11ID:2VB/Vbesd
ああ、Excel側で読み取り専用で開き直すって手があるな
2024/03/23(土) 16:28:38.79ID:ulv10UCb0
>>37
アドバイスありがとうございます
閉じるしか
無理ですか...
40デフォルトの名無しさん (ワッチョイ 8b8e-adAD)
垢版 |
2024/03/23(土) 22:42:53.35ID:ULmGYrNT0
助けてで始まる質問をする奴は○○って法則
2024/03/26(火) 11:45:12.02ID:JlWIdVqx0
ブックのフルパス取得しといて開きなおすとこまで書けばいいんじゃ
42デフォルトの名無しさん (ワッチョイ 75f2-FSV6)
垢版 |
2024/03/26(火) 12:10:47.06ID:qhsI8dwj0
何がしたいかわからん
2024/04/08(月) 04:42:24.97ID:1vwt4prT0
日付(2024/01/01)のセルをVBAのRange("A1").Valueなどで取得すると、勝手に2024/01/01 (月)って曜日の文字列が追加されます。
曜日なしで取得する方法をご存じの方いましたら教えてください。
曜日がついているせいでDateとして扱えず困っています。
Dim d As Date
d = CDate(Range("A1").Value) '2024/01/01 (月)が入ってるため
これでエラーが出ます。

2024/01/01 01:00:00のように時間が入っている場合は2024/01/01 (月) 01:00:00になります。
NumberFormatLocalでフォーマットを指定してもダメでした。
取得するセルの書式設定は日付でユーザー定義ではないです。
最終手段の文字列を加工するのはなしでお願いします。
2024/04/08(月) 07:42:44.65ID:TVRO53b8d
>>43
Dim d As Date
d = CDate(DATEVALUE(Range("A1").Value))
2024/04/08(月) 14:05:35.40ID:nl9i5mBy0
>>43
試してみたけど、この3行はどれもエラーにならず同じ結果になった
d = CDate(Range("A1").Value)
d = Range("A1").Value
d = Range("A1")

セルA1の内容は本当にシリアル値か?
OSやOfficeは日本語版か?
ロケールは日本になってるか?

シリアル値ならそのままDate型に代入できるかららCDateで変換するのは無駄
A1セルの書式を標準に変えたらどんな表示になるか確認
46デフォルトの名無しさん (ワッチョイ 36f9-zSwZ)
垢版 |
2024/04/08(月) 14:31:02.66ID:bhILccJZ0
>>43
試したけど自分も再現しない。
そちらで新しいブックを作って同じ事を試したら再現する?
2024/04/09(火) 13:20:50.97ID:CNAyRCwJM
すみません。初心者です。調べてもわからなかったので質問します。urlのようにまず一週間分の表を作って 一週間ごとにオートフィルすれば表がつくれるのですがそれをマクロでやりたいです。よろしくお願いいたします
2024/04/09(火) 13:30:27.56ID:CNAyRCwJM
https://tadaup.jp/2205c27d6.png
これでお願いいたします
2024/04/09(火) 13:31:59.88ID:+lYdM27Td
質問とは
2024/04/09(火) 13:32:38.30ID:CNAyRCwJM
ボタンを配置して押すごとに一週間分作成という風にしたいです。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況