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

21: デフォルトの名無しさん (ワッチョイ ca77-DUIk) [sage] 2024/02/29(木) 14:38:52.61 ID:VmbR4Tf/0(2/2) AAS
>>20
20(1): デフォルトの名無しさん (スププ Sdea-/Nx8) [sage] 2024/02/29(木) 14:12:43.39 ID:JwatrK+sd(1) AAS
>>19
あくまでも表示用のシートです
削除しないとなると、どのような処理になりますか?
色を背景色にするのでは選択すると入力できてしまうので、誤入力防止で削除を考えました
ごめん、表示用だと認識してませんでした
22
(1): デフォルトの名無しさん (ワッチョイ 1b56-AA/x) [sage] 2024/03/03(日) 09:38:35.96 ID:nYZbKW3u0(1) AAS
セル内に改行付きで入ってる文字列をWordファイルの指定のセルに転記させたいです。
当初差し込み印刷でやろうとしたんですが改行が消えてしまって…
23: デフォルトの名無しさん (ワッチョイ 9f45-zqCT) [sage] 2024/03/05(火) 15:19:55.05 ID:lrAkKyth0(1) AAS
>>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
24: デフォルトの名無しさん (ワッチョイ 7b6e-0WZ8) [sage] 2024/03/05(火) 21:04:29.79 ID:vpqODFup0(1) AAS
500行ずつ下へ移動するオシャレな方法があれば教えて
コードは簡単に書けるけどボタンをどうしようか悩んでいる。
25: デフォルトの名無しさん (ワッチョイ cb01-fRaX) [] 2024/03/05(火) 22:42:06.84 ID:uv6Tn7vf0(1) AAS
リボンかクイックに置けばいいだけ
26
(1): デフォルトの名無しさん (スップ Sdbf-ZLJX) [sage] 2024/03/05(火) 23:06:34.48 ID:1MXf4VgDd(1) AAS
ボタンなんてダサい
ショートカットキーにしとけ
27: デフォルトの名無しさん (ワッチョイ 4bfa-sqC9) [sage] 2024/03/06(水) 00:55:19.48 ID:g0HJYNda0(1) AAS
>>26
ショートカットキーでマクロ発動とかできるの?
28: デフォルトの名無しさん (ワッチョイ cb41-zqCT) [sage] 2024/03/06(水) 21:07:09.63 ID:J53jsheD0(1) AAS
ちっさいユーザーフォームに[↓500] [↑500]のボタン置いて、Sheetの前面にフロートさせとく
29: デフォルトの名無しさん (ワッチョイ 7b0c-lv6g) [sage] 2024/03/22(金) 23:46:16.21 ID:4cmyPG190(1) AAS
質問させていただきます
Cellsでセルを指定するときにセル番地を簡単にわかる方法はないでしょうか?
R1C1参照形式というものがありますがこれだとRangeを使用する際に不便だと思います。皆様はどのようにCellsとRangeに適したセル番地を把握されてますか?
30
(1): デフォルトの名無しさん (ワッチョイ 591c-/oLk) [sage] 2024/03/23(土) 01:40:54.15 ID:WFks+Yvw0(1) AAS
よくわからないけど
Range("A1") と書くのと Cells(1, "A") と書くのは同じです
31
(1): デフォルトの名無しさん (ワッチョイ d901-8/Mv) [] 2024/03/23(土) 09:27:28.74 ID:Y5NpvLBG0(1) AAS
>>30
mjsk
初めて知った(今頃)
32: デフォルトの名無しさん (スプープ Sd33-MwD1) [sage] 2024/03/23(土) 09:36:59.52 ID:mhs1yCGmd(1) AAS
>>31
rangeオブジェクトのリファレンスに一度目を通しておくと良いよ
33: デフォルトの名無しさん (ワッチョイ 53dd-sTEQ) [sage] 2024/03/23(土) 13:55:04.13 ID:ulv10UCb0(1/4) AAS
助けて下さい
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
34
(2): デフォルトの名無しさん (ワッチョイ 53dd-sTEQ) [sage] 2024/03/23(土) 14:01:19.14 ID:ulv10UCb0(2/4) AAS
シートlabelをtxtに変換して
別のアプリで読み込もうと思います

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

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

エクセル終了しない方法は
ありますか?
35
(1): デフォルトの名無しさん (スプープ Sd33-MwD1) [sage] 2024/03/23(土) 14:30:10.11 ID:JDdDfN3id(1) AAS
>>34
Application.quitしてるからExcelが終了するのは当然では
36
(1): デフォルトの名無しさん (ワッチョイ 53dd-sTEQ) [sage] 2024/03/23(土) 15:09:35.81 ID:ulv10UCb0(3/4) AAS
>>35
ありがとうございます

>>34
Application.quit
を削除したのですが
エクセルは終了しませんが
book?が終了します
37
(1): デフォルトの名無しさん (スプープ Sd33-MwD1) [sage] 2024/03/23(土) 15:47:42.35 ID:2VB/Vbesd(1/2) AAS
>>36
ブック開いてると排他制御かかるから書き込みロックするソフトから当該ブック開けなくなる
だから閉じるしかないと思うよ
38: デフォルトの名無しさん (スプープ Sd33-MwD1) [sage] 2024/03/23(土) 15:48:11.11 ID:2VB/Vbesd(2/2) AAS
ああ、Excel側で読み取り専用で開き直すって手があるな
39: デフォルトの名無しさん (ワッチョイ 53dd-sTEQ) [sage] 2024/03/23(土) 16:28:38.79 ID:ulv10UCb0(4/4) AAS
>>37
アドバイスありがとうございます
閉じるしか
無理ですか...
40: デフォルトの名無しさん (ワッチョイ 8b8e-adAD) [] 2024/03/23(土) 22:42:53.35 ID:ULmGYrNT0(1) AAS
助けてで始まる質問をする奴は○○って法則
41: デフォルトの名無しさん (ワッチョイ 1245-rfcW) [sage] 2024/03/26(火) 11:45:12.02 ID:JlWIdVqx0(1) AAS
ブックのフルパス取得しといて開きなおすとこまで書けばいいんじゃ
42: デフォルトの名無しさん (ワッチョイ 75f2-FSV6) [] 2024/03/26(火) 12:10:47.06 ID:qhsI8dwj0(1) AAS
何がしたいかわからん
43
(3): デフォルトの名無しさん (ワッチョイ 62ad-aQbW) [sage] 2024/04/08(月) 04:42:24.97 ID:1vwt4prT0(1) AAS
日付(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でフォーマットを指定してもダメでした。
取得するセルの書式設定は日付でユーザー定義ではないです。
最終手段の文字列を加工するのはなしでお願いします。
44: デフォルトの名無しさん (スップ Sd02-kwRZ) [sage] 2024/04/08(月) 07:42:44.65 ID:TVRO53b8d(1) AAS
>>43
Dim d As Date
d = CDate(DATEVALUE(Range("A1").Value))
45: デフォルトの名無しさん (ワッチョイ 43ce-Ky5X) [sage] 2024/04/08(月) 14:05:35.40 ID:nl9i5mBy0(1) AAS
>>43
試してみたけど、この3行はどれもエラーにならず同じ結果になった
d = CDate(Range("A1").Value)
d = Range("A1").Value
d = Range("A1")

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

シリアル値ならそのままDate型に代入できるかららCDateで変換するのは無駄
A1セルの書式を標準に変えたらどんな表示になるか確認
1-
あと 55 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.013s