回答数
気になる
-
Vba SelStart、SelLen教えてください教えてください
いつもお世話になります 今、TextBoxを並べて入力しようとしていますが EnterKey入力では文字を全部、青く選択するのですが ↑Keyではカーソルが文字の後ろに ↓Keyではカーソルが文字の前に来るだけで青く選択してくれません これってダメなんですかね、教えてください 一応、質問用にプログラムを用意しました Sub test() UserForm1.Show End Sub Option Explicit Dim isw Private Sub UserForm_Activate() TextBox1.Value = 10 TextBox2.Value = 20 TextBox1.SetFocu End Sub Private Sub TextBox1_Enter() 'テキストボックスに入ったら色変える isw = 1 With TextBox1 .BackColor = RGB(&H0, &HFF, &HFF) .SelStart = 0 .SelLength = Len(TextBox1) End With End Sub Private Sub TextBox2_Enter() 'テキストボックスに入ったら色変える isw = 2 With TextBox2 .BackColor = RGB(&H0, &HFF, &HFF) .SelStart = 0 .SelLength = Len(.Text) End With End Sub Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(TextBox1.Text) Then TextBox1.BackColor = RGB(&HFF, &HFF, &HFF) ElseIf TextBox1 <> "" Then MsgBox ("数値以外の文字が入力されています") TextBox1 = "" Cancel = True End If End Sub Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(TextBox2.Text) Then TextBox2.BackColor = RGB(&HFF, &HFF, &HFF) ElseIf TextBox2 <> "" Then MsgBox ("数値以外の文字が入力されています") TextBox2 = "" Cancel = True End If End Sub Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Call chkFKey(KeyCode) End Sub Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Call chkFKey(KeyCode) End Sub Private Sub chkFKey(ByVal KeyCode As MSForms.ReturnInteger) If KeyCode = vbKeyReturn Then If isw = 2 Then isw = 0 With Me.Controls("TextBox" & isw + 1) .SetFocus .SelStart = 0 .SelLength = Len(.Text) End With ElseIf KeyCode = vbKeyDown Then If isw = 2 Then isw = 0 With Me.Controls("TextBox" & isw + 1) .SetFocus .SelStart = 0 .SelLength = Len(.Text) End With ElseIf KeyCode = vbKeyUp Then If isw = 1 Then isw = 3 With Me.Controls("TextBox" & isw - 1) .SetFocus .SelStart = 0 .SelLength = Len(.Text) End With End If End Sub 長くてすみません 以上、宜しくお願い致します
質問日時: 2024/04/25 17:12 質問者: 公共ごま
ベストアンサー
1
0
-
VBA SaveChanges 上書きされない
Excel 2019 処理内容 ブック内のすべてのグラフのスケール変更 質問内容 wb.Close SaveChanges:=True 上記では上書き保存がされません。 以下の記述では問題なくできます。 wb.Close wb.Save テストで、保存前にwb.Savedの返り値を見てみたのですが、 スケール変更の処理を終えてもTrueでした。 Excelでは、グラフのスケール変更のみは「変更なし」という扱いということでしょうか。
質問日時: 2024/04/22 15:10 質問者: ぶつりがくっておいしいの
解決済
1
0
-
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
次のプログラムでコピーできるのですが、コピーされたSample1.xlsxを立ち上げると「ファイル形式と拡張子が一致していません」となってしまいます。 Sub Sample() Application.DisplayAlerts = False ActiveWorkbook.SaveCopyAs "C:\Sample1.xlsx" Application.DisplayAlerts = True End Sub
質問日時: 2024/04/20 07:58 質問者: payphone
ベストアンサー
5
0
-
VBA listBoxから
Private Sub ListBox1_Click() Dim response As VbMsgBoxResult response = MsgBox("編集しますか?記載情報に移動しますか?", vbYesNoCancel + vbQuestion, "選択の確認") If response = vbNo Then ' 編集しない場合 ' 選択された行にカーソルを移動 Sheet1.Cells(ListBox1.ListIndex + 1, 1).Select ElseIf response = vbYes Then ' UserForm1 に検索した情報を表示 UserForm1.ComboBox1.Value = ComboBox1.Value UserForm1.TextBox3.Value = ComboBox5.Value ' 同様に他のコントロールにデータをセットする ' UserForm1 を表示 UserForm1.Show End If Unload UserForm2 End Sub 現状このようなコードでリストボックスに表示した行をクリックして編集するならUserForm展開するのと記載情報に移動しますか?の時sheet1の該当する行にカーソル移動させたいのですがうまくいきません AIに相談してもなかなかはかどりません(´;ω;`) listBoxに表示している情報で検索対象となる列は表示の一番右でListIndex, 0だと思うのですが それでもうまくいきませんでした sheet1のA列に該当する値が(連番)あるのですがカーソルはlistBoxに表示した行をsheet1でカーソルを移動させる感じになっている気がします どうか修正できる方おりましたらよろしくお願いしますm(__)m
質問日時: 2024/04/18 09:16 質問者: kacky76
解決済
4
0
-
VBAで各列の"+"と"o"の合計数を数え3行目と4行目に入力したい
VBA初心者です。 1行目は22時を始めとし23時、0時、1時、~~と21時まで続く時間を 2行目は各時間の0分台、 10分台、 20分台、30分台、40分台、50分台を表しています。 5行名以降に記されている"+"と"o"の合計数を数え、それぞれ"+"の合計数を3行目に、”o"の合計数を4行目に記すVBAを作成したいです。 VBAを学習したばかりの自分にはハードルが高く、こちらで質問させていただきます。 よろしくお願いいたします。
質問日時: 2024/04/17 14:20 質問者: yuni8787
ベストアンサー
7
0
-
VBA初心者 Ctrl+での操作、ボタンに登録での操作
マクロを記録し、Ctrl+aなどで操作をする場合、特定のセルにカーソルを合わせていないといけませんが、ボタンにマクロを記録した場合は固定セルにカーソルを合わせていなくても大丈夫ですか? また、上記の2つのマクロ起動に違いはありますか?
質問日時: 2024/04/16 14:41 質問者: stop-stop
解決済
2
0
-
VBA 複数条件の分岐処理の上手な方法
VBAで次のような条件を満たすように処理を行いたいと思いますが 上手い方法が分からずにいます。下の★マークのところで、 条件を複数選択できるようにしたいのですが、 スマートな方法はあるでしょうか。 なお、使用するのは自分自身だけです。 ・選択した範囲のセルを走査して、セルの値の一部に特定の文字(ここでは HIT とします)が 含まれた場合に、そのセルに色をつける。 ・その際、次のように対象セルの周りのセルを同時に色付けするようにしたい。 プロージャを実行する際に、オプションとして同時に任意に複数選択できるようにしたい。★ 1 対象セルに色付けする 2 対象セルの上のセルに色付けする 4 対象セルの下のセルに色付けする 8 対象セルの右のセルに色付けする 16 対象セルの左のセルに色付けする 上記の 0,1,2,4,8 はこのQAの説明のために付けた番号なので、 プログラミングでは別の番号や文字列で処理してよい よろしくお願いします。 以下、自分なりに考えた方法 ① 上で書いた1,2,4,8,16 のうち、実行したいものの番号を足し合わせた数を入力して処理する。 たとえば、対象セルとその上のセルに色付けする場合は 1+2=3 と考え 3 を入力する。 2進法を利用した方法なのですが、入力された数をVBA側で受け取ったあとの 処理を簡単にかけずにいます。 受け取った値 X を2で割って、その余り R1 が0なら~~、その余り R1 が1なら~~ 次に、X-R1 を2で割って、その余り R2 が 0 なら~~ ・・・ ② ユーザーフォームを使って、条件をえらぶチェックボックスなどを配置し、 チェックボックスがチェックされたかどうかを判定して処理する。 全部で最大 5 つの複数選択となるので、5 つのチェックボックスを配置する。 IF~End IF 文を5回使って処理する。 など、考えられますが、ベテランの方はどのようにプログラミングするのでしょう。
質問日時: 2024/04/15 04:05 質問者: tsukita
ベストアンサー
4
1
-
VBAに詳しい方教えてください。
前に少しVBAを使ったことがありましたが、すっかり忘れてしまい急に使用することになりました。 やりたいことは ファイル名をyyyymmdd【▲▲】.xlsxでディスクトップに保存して、閉じる。 出来れば、読み取りパスワード1234も付けたいです。 あまり長くならず、簡潔な記載方法はないでしょうか?
質問日時: 2024/04/11 23:13 質問者: sorairo17go
解決済
2
0
-
VB.net(VB)で、フォームにExcelファイルを埋め込む方法を教えてください
VB初心者です。 VisualStudio2019を使っています。 VBのフォームに、Excelを埋め込むことはできるのでしょうか? いくつかのサイトを見て真似してみたのですが、Excel自体が起動してしまって、フォームには埋め込まれませんでした。 DataGridViewではなく、ExcelをVBの中で使いたいです。
質問日時: 2024/04/11 18:02 質問者: 焼酎ロックで
解決済
2
0
-
エクセルのマクロについて教えてください。
下記のマクロは以前、教えて頂いたマクロで、マクロを実行すると チェックボックスに「✔」が入ります。 そのマクロはアクティブシートのチェックボックスに「✔」が付きますが、 アクティブシートでは無く、シートを指定できる方法を教えてください。 指定シート名「建築物(完了検査)(第4号様式)」です。 宜しくお願い致します。 現状のマクロ Sub 特例1号チェック() With ActiveSheet ActiveSheet.CheckBoxes("Check Box 51").Value = xlOn ActiveSheet.CheckBoxes("Check Box 60").Value = xlOn End With End Sub 以上になります。 宜しくお願い致します。
質問日時: 2024/04/10 17:35 質問者: エクセル小僧
ベストアンサー
3
0
-
エクセルのマクロについて教えてください。
下記のマクロを実行すると,同じ作業フォルダ内の指定ファイル名に 作業ブックから、指定セル値をコピー出来きます。 コードの「"\【新行政報告】行政報告チェックリスト_Copy.xlsm")」をコピー先のファイルとして指定しております。 【新行政報告】行政報告チェックリスト_Copy.xlsmのgファイル名が物件によって 例えば 「【新行政報告】北海 太郎邸.xlsmとファイル名が変更になります、 先頭の「【新行政報告】」はどのファイルでも変更がありませんので この部分をワイルドカードを使用して 「【新行政報告】*.xlsm」 と変更出来る方法を教えてください。 よろしくお願いいたします。 現状のマクロです。 Sub 新行政報告に項目コピー() Dim wsfrom As Worksheet, wsto As Worksheet Set wsfrom = ThisWorkbook.Sheets("1") With Workbooks.Open(ThisWorkbook.Path & "\【新行政報告】行政報告チェックリスト_Copy.xlsm") Set wsto = .Sheets("建築物(確認申請)(第1号様式)") wsto.Range("C1") = wsfrom.Range("F10").Value wsto.Range("C2") = wsfrom.Range("F13").Value wsto.Range("V2") = wsfrom.Range("D39").Value wsto.Range("B180") = wsfrom.Range("O24").Value .Save .Close End With End Sub 以上となります。 よろしくお願いいたします。
質問日時: 2024/04/08 16:48 質問者: エクセル小僧
ベストアンサー
3
0
-
エクセルのマクロについて教えてください。
下記のマクロは以前教えて頂いたマクロを少しアレンジしており、 マクロを実行すると、指定の別ブックのマクロを複数実できますが、 マクロを実行すると 画像のエラーメッセージが表示され コードの「 .Workbooks」が黄色く変色してマクロを実行できません、 解決方法を教えてください。 現状のマクロ Sub 別ブック複数マクロ実行() Const FILE_NAME = "\【連動版】行政報告チェックリスト(戸建て)_Copy.xlsm" Const PROC_NAME = "特例1_3号チェック,都市ガス,都市計画法53条" Set wb = .Workbooks.Open(ThisWorkbook.Path & FILE_NAME) For Each PROC In Split(PROC_NAME, ",") .Run wb.Name & "!" & PROC 'アラートを消す .DisplayAlerts = False Next PROC wb.Save wb.Close End With app.Quit End Sub 以上となります。 宜しくお願い致します。
質問日時: 2024/04/08 10:08 質問者: エクセル小僧
ベストアンサー
4
0
-
Excel VBA 定義されたプロージャ名、関数名の取得
次のようなVBAのコードをご指南ください。 実行すると、アクティブブックのモジュール内で定義されたサブプロージャ名や関数名を、種類とそれが定義されたモジュール名を併記する形で、メッセージボックスで一覧表示するマクロ。 実行結果のイメージ Sheet1 (****) プロージャー procA() Sheet1 (****) プロージャー procB() ThisWorkbook イベントプロージャー workbook_open() 標準モジュール プロージャー test() 標準モジュール 関数 func(hikisuA As Long, hikusuB As String) 他者がつくったマクロファイルが複雑で、モジュールがたくさんあります。どのモジュールにマクロが定義されているか、VBEを開いて1つ1つモジュールをダブルクリックして調べるのが面倒です。情報を得るのが目的なので、実行結果のイメージに深いこだわりはありません。詳しい方、よろしくお願いします。
質問日時: 2024/04/07 00:29 質問者: tsukita
ベストアンサー
1
1
-
エクセルのマクロについて教えてください。
下記のマクロは先日教えていただいたマクロで 作業ブックの指定セル値を別ブックの指定セルにコピー出来るマクロですが コピー元のセル値を複数指定し、コピー先のセル値も同じく複数指定したいのですが、 コードを下記のように設定しても上手く行きませんでした。 Book1の値をコピー ThisWorkbook.Sheets("1").Range("F10,F12").Copy 'Book2に値貼り付け Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Sheets("建築物(確認申請)(第1号様式)").Range("C1,E4") = ThisWorkbook.Sheets("1").Range("F10,F12").Value 解決方法を教えてください。 現行のマクロ Sub 新行政報告にコピー() 'コピー先のファイルを開く Workbooks.Open ThisWorkbook.Path & "\【連動版】行政報告チェックリスト(戸建て).xlsm" 'Book1の値をコピー ThisWorkbook.Sheets("1").Range("F10").Copy 'Book2に値貼り付け Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Sheets("建築物(確認申請)(第1号様式)").Range("C1") = ThisWorkbook.Sheets("1").Range("F10").Value Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Save Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Close End Sub
質問日時: 2024/04/06 10:16 質問者: エクセル小僧
ベストアンサー
4
0
-
Excelのマクロについて教えてください。 下記のマクロを実行すると 別ブックに指定セル値をコピーで
Excelのマクロについて教えてください。 下記のマクロを実行すると 別ブックに指定セル値をコピーできます このマクロだとコピー先のフォルダを指定してます Workbooks.Open "C:\Users\160931\Desktop\テスト\ が この部分を マクロを設定しているブックと同じフォルダ内 ThisWorkbook.Path にあるファイルを指定出来る 方法を教えてください。 よろしくお願い致します 現状のマクロ Sub 新行政報告にコピー() 'コピー先のファイルを開く Workbooks.Open "C:\Users\160931\Desktop\テスト\【連動版】行政報告チェックリスト(戸建て).xlsm" 'Book1の値をコピー ThisWorkbook.Sheets("1").Range("F10").Copy 'Book2に値貼り付け Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Sheets("建築物(確認申請)(第1号様式)").Range("C1").PasteSpecial Paste:=xlPasteValues Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Save Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Close End Sub 以上となります。 宜しくお願い致します。
質問日時: 2024/04/05 21:25 質問者: エクセル小僧
ベストアンサー
1
0
-
エクセルのマクロについて教えてください。
下記のマクロを実行すると指定フォルダ内 「C:\Users\160931\Desktop\テスト\」 の指定ファイル 「テストチェックリスト.xlsm」 の別ブックの マクロ 「チェック」 を実行できますが、 実行マクロを複数設定出来る方法を教えてください。 例えば 「チェック」「チェック2」「チェック3」 現状のマクロ Sub 別ブックマクロ実行() Const FILE_NAME = "C:\Users\160931\Desktop\テスト\テストチェックリスト.xlsm" Const PROC_NAME = "チェック" Dim app Set app = CreateObject("Excel.Application") With app 'Excel非表示 .Visible = False Dim wb Set wb = .Workbooks.Open(FILE_NAME) .Run wb.Name & "!" & PROC_NAME 'アラートを消す .DisplayAlerts = False wb.Save wb.Close End With app.Quit End Sub 以上となります。 宜しくお願い致します。
質問日時: 2024/04/05 09:58 質問者: エクセル小僧
ベストアンサー
3
0
-
エクセルのマクロについて教えてください。
下記のマクロを実行するとチェックボックスに「✔」が入るように設定しましたが、 エラーは出ませんが、 「✔」が表示されません。 なお、チェックボックス名は「CheckBox51」と表示されております。 又、その他のチェックボックスを指定すると 例えば「.CheckBoxes(313)を設定すると エラー「1004」が表示されます。 私の希望はマクロを実行して指定のチェックボックスに「✔」を表示させたいのですが、 解決方法を教えてください。 現状のマクロ Sub Macro1() With ActiveSheet .CheckBoxes(51).Value = True End With End Sub 宜しくお願い致します。
質問日時: 2024/04/03 17:56 質問者: エクセル小僧
ベストアンサー
2
0
-
Excel-VBAのmsgBox()の不思議
Excel-VBA初心者です。初歩的なことをお聞きします。以下のプログラムで、2)の場合がエラーにならないのは何故でしょうか。引数は文字列データである必要があると思うのですが、数字でもエラーが出ません。本来は型変換をする3)が正しいと思うのですが...。お詳しい方、解説お願いいたします。 ------------ Sub test() Dim str As String Dim num As Long str = "あいうえお" num = 100 '1) MsgBox "str:" & str '2) MsgBox "num:" & num '3) MsgBox "CStr(num):" & CStr(num) End Sub
質問日時: 2024/04/03 17:06 質問者: hgama1024
解決済
5
0
-
エクセルのマクロについて教えてください。
下記のマクロは先日より教えて頂いたマクロです。 作業シート名「建築物(確認申請)(第1号様式)」の セル値「AB1」の数字をワイルドカードで検索し 該当するファイルの指定シートを作業ブックのシートにコピーできますが、 作業シート名「建築物(確認申請)(第1号様式)」の セル値「AB1」の数字が表示されていなくても マクロを実行すると 指定フォルダ先のファイルを呼び込み、作業ブックにシートがコピーされてしまします。 マクロを実行し 作業シート名「建築物(確認申請)(第1号様式)」の セル値「AB1」の数字が表示され、該当ファイルがある場合のみ コピー元のシートを作業ブックにコピー出来る方法を教えてください。 宜しくお願い致します。 現状のマクロ Application.DisplayAlerts = False Dim srcFolderPath As String Dim srcFileName As String Dim srcSheetName As String Dim destWorkbook As Workbook Dim destSheet As Worksheet Dim srcWorkbook As Workbook Dim srcSheet As Worksheet ' コピー元のフォルダパスとファイル名を指定 srcFolderPath = "\\nas-sp01\share\確認部\行政報告フォルダ\☆確認済交付月別物件(完了検査対象)\2024年 【担当】確認番号 建物名称\03月\" srcFileName = "*" & ThisWorkbook.Worksheets("建築物(確認申請)(第1号様式)").Range("AB1").Value & "*.xlsm" ' コピー先の作業ブックとシートを指定 Set destWorkbook = ThisWorkbook Set destSheet = destWorkbook.Sheets("第4号様式(印刷用)") ' コピー元のファイルを検索 srcFileName = Dir(srcFolderPath & srcFileName) ' コピー元のブックを開く Set srcWorkbook = Workbooks.Open(srcFolderPath & srcFileName) 'シート名の値を設定 arr = Array("受付", "青紙表", "1", "1号確認", "4号完了") 'シート名でループ For Each sname In arr ' コピー元のシートを取得 Set srcSheet = srcWorkbook.Sheets(sname) ' コピー元のシート名を取得 srcSheetName = srcSheet.Name ' コピー元のシートをコピー先にコピー srcSheet.Copy After:=destSheet Next ' コピー元のブックを閉じる srcWorkbook.Close SaveChanges:=False Application.DisplayAlerts = True End Sub 以上となります。 宜しくお願い致します。
質問日時: 2024/04/02 16:12 質問者: エクセル小僧
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
下記のマクロを実行すると 左からのシート「11」番目の保護シートを解除できますが、 このコードを 指定シート名に変更出来る方法を教えてください。 現状のマクロ Sub シートの保護解除() ThisWorkbook.Worksheets(11).Unprotect Password:="abc" End Sub 以上となります。 宜しくお願い致します。
質問日時: 2024/04/02 14:29 質問者: エクセル小僧
ベストアンサー
1
0
-
エクセルのマクロについて教えてください。
下記のマクロを実行すると、コピー元の指定フォルダ内にあるワイルドカードで指定したファイルの指定シートを作業ブックにコピー出来ますが、このマクロではコピー元の指定シートが 「' コピー元のシートを取得(左から4番麺目のシート) Set srcSheet = srcWorkbook.Sheets(4)」となっており、 この部分を複数の直接名のシートに変更出来る方法を教えてください。 コピー元のシート名「受付」「青紙表」「1号様式」「2号式」 以上です。 現状のマクロです。 Dim srcFolderPath As String Dim srcFileName As String Dim srcSheetName As String Dim destWorkbook As Workbook Dim destSheet As Worksheet Dim srcWorkbook As Workbook Dim srcSheet As Worksheet ' コピー元のフォルダパスとファイル名を指定 srcFolderPath = "\\Nas-sp01\share\確認部\行政報告フォルダ\☆確認済交付月別物件(完了検査対象)\2024年 【担当】確認番号 建物名称\01月\" srcFileName = "*23045888*.xlsm" ' コピー先の作業ブックとシートを指定 Set destWorkbook = ThisWorkbook Set destSheet = destWorkbook.Sheets("第4号様式(印刷用)") ' コピー元のファイルを検索 srcFileName = Dir(srcFolderPath & srcFileName) ' コピー元のブックを開く Set srcWorkbook = Workbooks.Open(srcFolderPath & srcFileName) ' コピー元のシートを取得(左から4番麺目のシート) Set srcSheet = srcWorkbook.Sheets(4) ' コピー元のシート名を取得 srcSheetName = srcSheet.Name ' コピー元のシートをコピー先にコピー srcSheet.Copy After:=destSheet ' コピー元のブックを閉じる srcWorkbook.Close SaveChanges:=False End Sub 以上となります。 宜しくお願い致します
質問日時: 2024/04/02 06:34 質問者: エクセル小僧
ベストアンサー
1
0
-
エクセルのマクロについて教えてください。
下記のマクロを実行すると指定フォルダ先のワイルドカードで指定したファイルの指定シートを 作業ブックの指定した場所にコピーが出来ます。 srcFileName = "*12345678*.xlsm"の 「23045888」この数字の部分を 作業ブックの指定シート名「建築物(確認申請)(第1号様式)」の 指定セル値「AB1」に出来る方法を教えてください。 現状のマクロ Dim srcFolderPath As String Dim srcFileName As String Dim srcSheetName As String Dim destWorkbook As Workbook Dim destSheet As Worksheet Dim srcWorkbook As Workbook Dim srcSheet As Worksheet ' コピー元のフォルダパスとファイル名を指定 srcFolderPath = "\\Nas-sp01\share\確認部\行政報告フォルダ\☆確認済交付月別物件(完了検査対象)\2024年 【担当】確認番号 建物名称\01月\" srcFileName = "*23045888*.xlsm" ' コピー先の作業ブックとシートを指定 Set destWorkbook = ThisWorkbook Set destSheet = destWorkbook.Sheets("第4号様式(印刷用)") ' コピー元のファイルを検索 srcFileName = Dir(srcFolderPath & srcFileName) ' コピー元のブックを開く Set srcWorkbook = Workbooks.Open(srcFolderPath & srcFileName) ' コピー元のシートを取得(左から4番麺目のシート) Set srcSheet = srcWorkbook.Sheets(4) ' コピー元のシート名を取得 srcSheetName = srcSheet.Name ' コピー元のシートをコピー先にコピー srcSheet.Copy After:=destSheet ' コピー元のブックを閉じる srcWorkbook.Close SaveChanges:=False End Sub 以上となります。 宜しくお願い致します
質問日時: 2024/04/01 17:53 質問者: エクセル小僧
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
下記のマクロを実行すると、作業シートの指定セル部分に文字があれば、自動で行調整が出来ます。 このマクロを指定シートの指定セル値に変更出来る方法を教えてください。 指定シート名「質疑」指定セル値同じく「Range("C26:C60")」です。 現状のマクロ Sub 行調整() Dim r As Range Dim tmp, n As Integer, i As Integer For Each r In Range("C26:C60") If WorksheetFunction.CountIf(r.Resize(, 4), "<>") > 0 Then r.Rows.AutoFit '折り返し設定とフォントサイズ For i = 0 To 3 If InStr(r.Offset(, i), vbLf) > 0 Then If n < UBound(Split(r.Offset(, i), vbLf)) Then n = UBound(Split(r.Offset(, i), vbLf)) + 1 End If End If Next If n > 0 Then tmp = r.RowHeight r.RowHeight = tmp * n '改行コード Alt+Enter n = 0 End If Else r.RowHeight = 27 End If Next End Sub 以上となります。 宜しくお願い致します。
質問日時: 2024/04/01 14:54 質問者: エクセル小僧
ベストアンサー
3
0
-
ExcelのVBAコードについて教えてください。
下記のコードを一つにまとめる方法を教えてください。 下記のコードはセル値「F3」に「札幌市」と表示されると マクロ Call 注意2表示 Call 札幌道路図形表示 Call 札幌開発資料図形表示 Call 札幌資料図形表示 が実行されます。 このコードを一つにまとめる方法を教えてください。 現状のコード If Range("F3").Value = "札幌市" Then Call 注意2表示 End If If Range("F3").Value = "札幌市" Then Call 札幌道路図形表示 End If If Range("F3").Value = "札幌市" Then Call 札幌開発資料図形表示 End If If Range("F3").Value = "札幌市" Then Call 札幌資料図形表示 End If 以上となります。 よろしくお願いいたします。
質問日時: 2024/03/28 13:38 質問者: エクセル小僧
ベストアンサー
1
0
-
Word VBA MSGBOX 内で降順表示
下記のVBAはWORDファイル内の青文字で書かれた登録日を検索し、MSGBOXに表示するもので、正常に使えています。 しかし、MSGBOX内の表示がファイル内での順番になっています。昇順または降順表示にしたいのですが、 ネット検索してトライしましたが結果が得られていません。ご指導いただければ大変たすかります。よろしくお願いします。 Sub TEST() '検索 青文字「ABC」+ 日付 Dim vv As Variant Dim i As Integer i = 0 ReDim vv(i) ActiveDocument.Range(0, 0).Select With Selection.Find .Font.Color = wdColorBlue .Text = "登録日 202[0-9]/[0-9]{1,2}/[0-9]{1,2}" .MatchFuzzy = False .MatchWildcards = True Do While Selection.Find.Execute vv(i) = Selection i = i + 1: ReDim Preserve vv(i) Loop End With MsgBox "登録日" + vbCrLf + vbCrLf + Join(vv, vbCrLf) End Sub
質問日時: 2024/03/28 13:12 質問者: oldhidesan
ベストアンサー
3
0
-
エクセルのマクロについて教えてください。
下記のマクロを実行すると 指定フォルダ内の指定ファイルを開く事が出来ますが、 マクロを実行すると、PDFファイルが、Excelシートの呼び込みされてしまします。 マクロを実行した時に、PDFそのままの状態で開く事が出来る方法を教えてください。 現状のマクロ Sub 道路資料を開く() Dim alert As VbMsgBoxResult alert = MsgBox("道路確認照会確認をしますか?", vbYesNo + vbQuestion, "道路確認") If alert <> vbYes Then Exit Sub End If On Error Resume Next Workbooks.Open Filename:=" \\nas-sp01\share\確認部\■意匠\戸建\戸建て電子申請関連\ひな形\資料\道路開発照会資料\道路照会の要否.pdf" End Sub 以上となります。 よろしくお願いいたします。
質問日時: 2024/03/28 12:00 質問者: エクセル小僧
ベストアンサー
1
0
-
エクセルのマクロについて教えてください。
下記のマクロは以前教えて頂いたマクロで、マクロを実行すると、指定フォルダ内に指定セル値にて 保存されますが、 その時に指定の非表示シート 「List = Array("休日", "受付", "管理表", "300")」 が削除されますが、この部分の非表示シートを全て削除しないように変更出来る方法を教えてください。 現状のマクロ Sub 行政報告標準() Dim alert As VbMsgBoxResult alert = MsgBox("行政報告を保存します。", vbYesNo + vbQuestion, "行政報告確認") If alert <> vbYes Then Exit Sub End If Application.ScreenUpdating = False Dim folder As String folder = "\\Nas-sp01\share\確認部\行政報告フォルダ\☆確認済交付月別物件(完了検査対象)\" & Worksheets("選択シート").Range("E4").Text & " 【担当】確認番号 建物名称\" & Worksheets("選択シート").Range("E3").Text & "\" Dim initName As String initName = folder & Worksheets("【標準】第1号様式").Range("Z1").Value Dim newName As String newName = initName & ".xlsm" Dim thisBk As Workbook Dim copyBk As Workbook Set thisBk = ActiveWorkbook ThisWorkbook.SaveCopyAs newName Set copyBk = Workbooks.Open(newName) Dim ws As Worksheet Dim TargetCheck As String Dim List As Variant Dim i As Long Dim Chk As Boolean List = Array("休日", "受付", "管理表", "300") For Each ws In copyBk.Worksheets Chk = False If ws.Visible = False Then For i = 0 To UBound(List) If ws.Name = List(i) Then Chk = True Exit For End If Next i If Chk = False Then TargetCheck = TargetCheck & ws.Name & vbCrLf Application.DisplayAlerts = False ws.Delete Application.DisplayAlerts = True End If End If Next ws copyBk.Close SaveChanges:=True Application.ScreenUpdating = True End Sub 以上となります。 よろしくお願いいたします。
質問日時: 2024/03/27 14:27 質問者: エクセル小僧
ベストアンサー
1
0
-
Sub 要具ライフ() ActiveSheet.Cells.Find(what:="TOPゴム").
Sub 要具ライフ() ActiveSheet.Cells.Find(what:="TOPゴム").offset(0,3) = ActiveSheet.Next.Cells.Find(what:="TOPゴム").Offset(0, 3).Value + 1 End Sub 上記のコードで、選択している隣のシート中にある特定の文字の下のセル内の数値に加算した値を選択しているシート中の同じ文字の下のセルに入れたいのですが実行できません。 シートを新しく作った時、隣のシートの行数が挿入するなどで変更される場合があるため行位置が一定でありません。よって、特定の文字のセル位置から出力するセルを探したいです。 どなたか、教えていただけないでしょうか?
質問日時: 2024/03/27 11:57 質問者: かなもゆ
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
下記のマクロは以前教えて頂いたマクロを少しアレンジして設定しております。 マクロを実行すると、ダイアログが開き、指定フォルダに指定セル値名でマクロ有効ブックで保存できます。 保存後に、元のマクロ有効ブックが閉じるようになっております。 マクロ実行前のファイルもマクロ有効ブックです(マクロ有効テンプレートではありません) しかし、マクロを実行すると、画像のようなエラーメッセージが表示され、 コードの「For i = 0 To UBound(List)」部分が黄色くなっております。 この問題の解決方法を教えて 現状のマクロ Sub 昇降機青紙保存() Dim alert As VbMsgBoxResult alert = MsgBox("【青紙】保存を行いますか?", vbYesNo + vbQuestion, "【青紙】保存確認") If alert <> vbYes Then Exit Sub End If On Error Resume Next Application.DisplayAlerts = False Dim vDeleteSheet As Variant On Error GoTo 0 Application.ScreenUpdating = False Const folder As String = "\\nas-sp01\share\確認部\電子申請 関連\1.受付\1.確認申請\" Dim newName As Variant Dim initName As String initName = folder & Range("CQ1").Value newName = Application.GetSaveAsFilename(InitialFileName:=initName, FileFilter:="Excel マクロ有効ブック(*.xlsm), *.xlsm") If newName = False Then Exit Sub Dim ws As Worksheet Dim TargetCheck As String Dim List As Variant Dim i As Long Dim Chk As Boolean For Each ws In Worksheets Chk = False If ws.Visible = False Then For i = 0 To UBound(List) If ws.Name = List(i) Then Chk = True Exit For End If Next i If Chk = False Then TargetCheck = TargetCheck & ws.Name & vbCrLf Application.DisplayAlerts = False ws.Delete Application.DisplayAlerts = True End If End If Next ws ThisWorkbook.SaveAs newName, xlOpenXMLWorkbookMacroEnabled Application.ScreenUpdating = True Application.Quit With ThisWorkbook .Saved = True .Close False End With End Sub 以上となります。 よろしくお願いいたします。
質問日時: 2024/03/26 18:09 質問者: エクセル小僧
ベストアンサー
2
0
-
VBA listBoxについて
動作としてはTextBox1に検索対象(管理№例100053)を入力(完全一致ではなく一部入力でも)該当する№がリストボックスに表示します 表示したリストから該当の№をクリックしたらsheet1のB列にカーソルが移動した対象を確認、 その№行の指定したセルに転記させるというながれになります 検索対象の桁数があるので下桁でも表示はするのですが クリックしてカーソルがその対象とは違うところに移動してしまいます 問題なく動くときは頭の1桁検索しスクロールで対象をクリックした時になります 現状はこのようになってます どのようにしたら改善するのでしょうか?(´;ω;`) Private Sub TextBox1_Change() ' TextBox入力した時の処理 Dim i As Long Dim Mydata As Variant Dim lastRow As Long Dim Cnt As Long Dim searchTerm As String Dim listBoxIndex As Integer ' 配列カウント初期化 Cnt = 1 ' 最終行を取得 lastRow = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count, 2).End(xlUp).Row ' 2次元配列の要素数を変更 ReDim Mydata(1 To lastRow, 1 To 20) ' 検索対象が空の場合は処理を終了 searchTerm = Me.TextBox1.text If Len(searchTerm) = 0 Then Exit Sub For i = 1 To lastRow If InStr(1, Sheets("Sheet1").Cells(i, 2), searchTerm) > 0 Then ' 配列に列の値と、セル番号を格納 Mydata(Cnt, 1) = i + 1 Mydata(Cnt, 2) = Cells(i, 2) Mydata(Cnt, 3) = Cells(i, 3) Mydata(Cnt, 4) = Cells(i, 4) Mydata(Cnt, 5) = Cells(i, 5) Mydata(Cnt, 6) = Cells(i, 6) Mydata(Cnt, 7) = Cells(i, 7) Mydata(Cnt, 8) = Cells(i, 8) Mydata(Cnt, 9) = Cells(i, 9) Mydata(Cnt, 10) = Cells(i, 10) Mydata(Cnt, 11) = Cells(i, 11) Mydata(Cnt, 12) = Cells(i, 12) Mydata(Cnt, 13) = Cells(i, 13) Mydata(Cnt, 14) = Cells(i, 14) Mydata(Cnt, 15) = Cells(i, 15) Mydata(Cnt, 16) = Cells(i, 16) Mydata(Cnt, 17) = Cells(i, 17) Mydata(Cnt, 18) = Cells(i, 18) Mydata(Cnt, 19) = Cells(i, 19) Mydata(Cnt, 20) = Cells(i, 20) ' 他の列のデータも同様に追加 ' ... ' 配列カウント増加 Cnt = Cnt + 1 End If Next i ' 検索で一致したデータをリストボックスに表示 With ListBox1 .ColumnCount = 20 .ColumnWidths = "30;55;40;0;150;90;130;130;0;0;60;150;0;0;0;0;120,60,130,30" .List = Mydata End With End Sub Private Sub ListBox1_Click() ' リストボックス内をクリックして該当セルを選択 Dim rowIndex As Integer Dim targetCell As Range ' 選択された項目の行番号を取得 rowIndex = ListBox1.ListIndex + 2 ' 対応するセルを選択 Set targetCell = Sheets("Sheet1").Cells(rowIndex, 2) targetCell.Select End Sub Private Sub CommandButton1_Click() Dim selectedRow As Integer Dim r As Integer If Me.ComboBox6 = "" Then MsgBox "管理場所が入力されてません" Exit Sub End If If Me.ComboBox7 = "" Then MsgBox "担当者が入力されてません" Exit Sub End If ' リストボックス内で選択された行のインデックスを取得 selectedRow = ListBox1.ListIndex For r = 2 To Cells(Rows.Count, "B").End(xlUp).Row If ListBox1.ListIndex = r - 2 Then ' 選択された行が有効かどうかを確認 ' 選択された行に基づいてデータを転記 Cells(r, 18).Value = Me.TextBox4.Value Cells(r, 19).Value = Me.ComboBox6.Value Cells(r, 20).Value = Me.ComboBox7.Value Cells(r, 21).Value = Me.TextBox2.Value ' 選択された行をリストボックスから削除 ListBox1.RemoveItem r - 2 Exit For ' 処理が完了したらループを終了 End If Next r End Sub
質問日時: 2024/03/26 16:14 質問者: kacky76
ベストアンサー
2
0
-
VBAを使用した時間管理
ある列(例:C列)に文字列(例:開始、終了)が入力されたら右横のセルに入力された時間表示し、整数が入力された場合は左横のセルに日付を表示させたいです。開始、終了、整数はバーコードリーダーを使用してQR化した文字列、数字を取得する予定です。 ご回答よろしくお願いします。
質問日時: 2024/03/25 12:45 質問者: かずよこ
解決済
4
0
-
左右の表のキー位置を合わせたい
左表と右表がありますが、キーがあったりなかったりして行が ずれているのを一致させた表をつくろうとしています。 キーの有無を判定して相手方の表に空行を挿入する方法以外で もっと良い方法はありませんか?
質問日時: 2024/03/25 10:23 質問者: rexfan
解決済
4
0
-
エクセルVBAにて =A1=B1とすれば A1とB1のセル内容が一緒だった場合 TRUE 違っていれ
エクセルVBAにて =A1=B1とすれば A1とB1のセル内容が一緒だった場合 TRUE 違っていれば FALSE になる。 上と似たようにA列とB列が一緒だった場合 TRUE 違っていれば FALSE ←この列での判定はできるのでしょうか? また、あればVBAでこの列での判定があればコードを教えていだきたいです。
質問日時: 2024/03/24 19:05 質問者: 社畜お兄さん
ベストアンサー
2
0
-
エクセルの合計を自動で表示させたいです
1か月の合計を集計したセルの値をフォームのテキストにリンクさせて表示させていますが 此れですと 毎月リンクのセルを変えなければなりません 常に直近1カ月の集計を表示せせることは出来ないでしょうか ご指南頂ければ幸いです よろしくお願い致します
質問日時: 2024/03/23 22:20 質問者: tompapa2021
解決済
3
0
-
VBAの質問になります Userform内で
TextBoxに検索対象を入力しリストボックスに表示させているのですが 検索対象を1つ限定ではなく含む検索にしたいのですが可能でしょうか? 現状は下記になります 'B列に該当データがあったら If Cells(i, 2) = Me.TextBox1.Text Then せっかくリストボックスにしているのですから含む検索にして 該当する物も表示させたいと思いました 検索対象は管理№になります 100002や100002_1または1000021なども含みたいです
質問日時: 2024/03/22 16:40 質問者: kacky76
解決済
2
0
-
VBAの質問になります メッセージボックス
UserForm内で一つ一つのBOXに空白の場合ウィンドウ出るようにしてありますが まとめて"入力されていない箇所があります"にしたいのですが可能でしょうか? 現状はこのようになっています If Me.TextBox1 = "" Then MsgBox "入力されていません" Exit Sub End If BOX数が多くて面倒なので(;^_^A TextもComboもあります
質問日時: 2024/03/22 14:33 質問者: kacky76
解決済
1
0
-
Excelのマクロでワードのテキストボックスへデータをコピーする方法を教えてください
以下のようなExcelデータがあります。 AAA 3 BBB 1 CCC 0 ※AAAは本来は日本語の文字データで、連続性はありません。 B列の値が1以上のときにWordの任意のテキストボックスへその値を入力したいです。 AAAはテキストボックス1へ、BBBはテキストボックス2へというように入力していきたいです。 また、上記ではCCCまでですが下に100件ほどデータがあります。 どのようにマクロをかいてよいのかわからず、教えてください。 よろしくお願いいたします。
質問日時: 2024/03/22 11:51 質問者: neko9868
解決済
1
0
-
ExcelのVBAコードについて教えてください。
下記の2つのVBAコードを一つにまとめる方法を教えてください。 下記のコードは以前教えて頂いたコードを少しアレンジして作成しております。 1つ目のコードは セル「F18」に各「昇降機_エレベーター」「昇降機_エスカレーター」「昇降機_ダムウエーター」 「昇降機_いす式昇降機」のいずれかが表示された場合に、非表示シート「昇降機第2号様式」が表示又は、「F18」の各表示がなければ「昇降機第2号様式」が非表示となります。 2つ目のコードも同じく セル「F18」に各「昇降機_エレベーター」「昇降機_エスカレーター」「昇降機_ダムウエーター」 「昇降機_いす式昇降機」のいずれかが表示された場合に、非表示シート「昇降機第2号様式」が表示又は、「F18」の各表示がなければ「昇降機第5号様式」が非表示となります。 このコードを 「F18」に各「昇降機_エレベーター」「昇降機_エスカレーター」「昇降機_ダムウエーター」 「昇降機_いす式昇降機」のいずれかが表示された場合に、非表示シート「昇降機第2号様式」と「昇降機第5号様式」の2つのシートが表示又は、「F18」の各表示がなければが非表示となるように出来る方法を教えてください。 1つ目のコード Private Sub Worksheet_Change(ByVal Target As Range) If Range("F18") = "昇降機_エレベーター" Or _ Range("F18") = "昇降機_エスカレーター" Or _ Range("F18") = "昇降機_ダムウエーター" Or _ Range("F18") = "昇降機_いす式昇降機" Then Sheets("昇降機第2号様式").Visible = xlSheetVisible Else Sheets("昇降機第2号様式").Visible = xlSheetHidden End If 2つ目のコード If Range("F18") = "昇降機_エレベーター" Or _ Range("F18") = "昇降機_エスカレーター" Or _ Range("F18") = "昇降機_ダムウエーター" Or _ Range("F18") = "昇降機_いす式昇降機" Then Sheets("昇降機第5号様式").Visible = xlSheetVisible Else Sheets("昇降機第5号様式").Visible = xlSheetHidden End If End Sub 以上となります。 宜しくお願い致します。
質問日時: 2024/03/22 08:43 質問者: エクセル小僧
ベストアンサー
3
0
-
Excel マクロについての相談
お世話になっております。 マクロのコードについての相談です。 シート名を「リスト」シートから取得して同じシートを複数作成するマクロを作成していますが、 上手く動作しなかったため、ご教授頂きたく質問いたしました。 「1」シートを複製し、「リスト」シートから取得した値をシート名にするマクロを組んでいました。 「リスト」シートの最終行を取得させて繰返し処理をさせると、実行エラー「1004」アプリケーション定義またはオブジェクト定義のエラーが発生し、「1(2)」シートが作成されてしまいます。 この2つの問題を発生させないように改善したいため、お力添えいただいだけると幸いです。 よろしくお願いいたします。 下記現状のコードとなります。 Sub シート複製() Worksheets("リスト").Activate For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row Sheets("1 ").Copy after:=Sheets(Sheets.Count) Range("O5") = Sheets("リスト").Cells(i, "B") ActiveSheet.Name = Sheets("リスト").Cells(i, "C") Next i End Sub
質問日時: 2024/03/20 15:02 質問者: うらうらP
解決済
5
0
-
ExcelのVBAコードについて教えてください。
作業ブックのシート名「省エネ質疑」 に下記のコードを設定しております。 Private Sub Worksheet_Change(ByVal Target As Range) Sheets("F設計").Visible = [$F$18] = "フラット設計審査_標準計算" Sheets("F設計").Visible = [$F$18] = "フラット設計審査_仕様基準" End Sub セル「F18」に"フラット設計審査_標準計算"又は"フラット設計審査_仕様基準" が表示されると 非表示シート名「"F設計"」が表示されるように設定しておりますが、 セル「F18」に"フラット設計審査_仕様基準"を表示させたときは非表示シート「"F設計"」が表示されますが セル「F18」に"フラット設計審査_標準計算"を表示させたときは非表示シート「"F設計"」が表示されません。 文字等の確認は全て問題ありません、 又、 一つ一つ Private Sub Worksheet_Change(ByVal Target As Range) Sheets("F設計").Visible = [$F$18] = "フラット設計審査_標準計算" End Sub 又は Private Sub Worksheet_Change(ByVal Target As Range) Sheets("F設計").Visible = [$F$18] = "フラット設計審査_仕様基準" End Sub を設定するとそれぞれ上手、非表示シートが表示されます。 両方のコードを設定すると上手く行きません。 この問題を解決できる方法を教えてください。 宜しくお願い致します。
質問日時: 2024/03/18 17:57 質問者: エクセル小僧
ベストアンサー
2
0
-
ExcelのVBAです。フォルダ内の全ファイルに、各ファイルの最初のシートを12か月分コピー
フォルダの中に入っている複数のエクセルファイルに、 各ファイルの一番左(または一番右)にあるシートをコピーし、 各ファイル内に12か月分のシート(12枚のシート)を追加で作成したいと思います。 202404、202405、202406・・・ のようにシート名を付けて、フォルダ内にあるすべてのファイルに対して 上記の処理を行うVBAは可能でしょうか。
質問日時: 2024/03/18 14:44 質問者: カチカチ山の狸
解決済
3
0
-
CADシステムに図面番号を入力してドキュワークスに落とす作業を行っています。 CADシステムには1個
CADシステムに図面番号を入力してドキュワークスに落とす作業を行っています。 CADシステムには1個ずつしか図面番号を入力できないため図面の数が多いと時間がかかってしまいます。これをエクセルに必要なデ-タを入力し自動化できないかと考えています。 PowerAutoMateDesktopというPPAツールを使ってできないか検討中です。 以下がこの作業の流れです。 1.エクセルファイルを開く(A1から下に順番に図面番号が記入してある) まずはA1をコピー 2.すでに開いているCADシステムのファイル名という項目をダブルクリック、その後そこに貼り付け 4.図面番号入力後、新規検索というボタンを左クリック 5.下の方にファイル名という項目がありそこに図面番号が表示されるのでここを右クリック 6.SXロードの項目が表示されるので左クリック 7.リボンに2D3D表示が出るので左クリック 8.ファイル範囲出力をクリック 9.プロッタ名ドキュワークスプリンターをクリック 10.用紙サイズ指定、倍率自動をクリック 11.印刷をクリック 12.エクセルファイルのA2をコピー 13.CADシステムのファイル名という項目をダブルクリック、その後そこに貼り付け 以上が大まかな流れで、A列の図面番号がなくなるまでの繰り返し作業です。 A列の図面番号の数は毎回バラバラなのでA列の最終行を拾うという条件にする。 毎日かなりの時間を要するので非常に困っています。 どなたかご教示願います。
質問日時: 2024/03/16 23:38 質問者: Wrangleruk
ベストアンサー
1
0
-
Excelについて
セルには入力規則があり、リストから選択して例えば”検査”等入力ができるのですが、その他で同じセルにリストからの選択ではなく”8”とか数値を入力しようとしてもできないのです。 調べるとできないようなのですが、VBAコードでなんとか入力できるようになるみたいなのですが、私にはコードがかけないです。 教えて頂けないでしょうか。
質問日時: 2024/03/16 20:07 質問者: Chiたん
ベストアンサー
1
0
-
IEを使わないでhtmlテキストを取得したい(VB.Net)
見たいサイトがIEに対応していないため、VB標準のWebbrowserが使えません。FireFoxなど他のブラウザでは見ることができるこのサイトをVB.Netを使って情報取得できるでしょうか。
質問日時: 2024/03/16 14:48 質問者: payphone
解決済
1
0
-
VBAで質問があります
ユーザーフォームで入力して転記はできているのですが 転記時に少々遅い気がするのですがコードに問題ありますでしょうか? Private Sub UserForm_Initialize() Me.TextBox1.Value = Format(Now(), "yyyy/m/d") End Sub Private Sub CommandButton1_Click() Dim I As Long Dim iCheck As Integer Dim r As Range Dim Ctrl As Control Set sht = ActiveSheet Set r = sht.UsedRange Cells(r.Row + r.Rows.Count, r.Column).End(xlDown).End(xlUp).Offset(1, 0).Select For I = 2 To 2000 If Cells(I, 2).Value = "" Then Exit For Next '連番 Cells(I, 1).Value = I - 1 '日付 Cells(I, 2).Value = Me.TextBox1.Value '分類 Cells(I, 3).Value = Me.ComboBox1.Value '品名 Cells(I, 4).Value = Me.ComboBox2.Value '個数 Cells(I, 5).Value = Me.TextBox2.Value '単価 Cells(I, 6).Value = Me.TextBox3.Value '合計 Cells(I, 7).Value = Me.TextBox2 * Me.TextBox3.Value '支払い方法 Cells(I, 8).Value = Me.ComboBox3.Value '備考 Cells(I, 9) = Me.TextBox4.Value Me.TextBox3.Text = "" Me.TextBox4.Text = "" Me.ComboBox2.SetFocus End Sub
質問日時: 2024/03/16 12:18 質問者: maniac
ベストアンサー
5
0
-
VBAの質問になります 行の非表示
あまり見ない行の非表示設定ができればと思います B列に日付はあります、その日付から2週間以前を自動で(エクセルを開いたら)非表示にしたいです 1行目は項目がありますので表示のままが良いです どこにどのようなコードで動くようになりますでしょうか?
質問日時: 2024/03/16 00:53 質問者: maniac
ベストアンサー
2
0
-
ExcelVBA シート名を複数セルから取得して変更
VBA超ビギナーです。 シート名をセルから取得して変更するVBAをご教授願えませんでしょうか...。 ①シート名「シート名変更」「日付変更」以外の全てのシートのシート名を変更 ②値はシート「シート名変更」のA2〜A16から取得
質問日時: 2024/03/15 16:08 質問者: kkkkk_99
ベストアンサー
6
1
-
ExcelのVBAコードについて教えてください。
作業ブックの作業シートに Private Sub Worksheet_Change(ByVal Target As Range) を設定しています。 このコードに下記のコードを追加したいのですが、教えてください。 セルC14 C16 C18にせれぞれプルダウンで選択した文字が表示されます 文字は固定文字で「審査」です 3つのセルには必ず1つだけ「審査」が表示されていれば良く 例えばC14に「審査」と表示し 次に16に「審査」を表示させると 最初のC14の「審査」は削除 同じく C18に「審査」を表示させると 次に表示させたC16の「審査」は削除です 例は順番をC14からにしてますが 順番は順不同です 各セルはセルを結合してますので 見た目は縦に3つ並んでます よろしくお願いします。 親切にコードを全て教えてください。 宜しくお願い致します。
質問日時: 2024/03/15 08:31 質問者: エクセル小僧
ベストアンサー
5
0
-
解決済
3
0
-
VBA UserFormからの転記で
画像のように一度にまとめて転記はできるのでしょうか? 参照は管理№の記載列B列になり、その該当した行の18=使用日・ 19=設置または搭載先・20=登録者・21=メモになります 該当する行にそれぞれ転記したいのですが可能でしょうか? 現状このような感じです(中略) 1行だけだと転記できましたが複数になるとダメでした(´;ω;`) '該当管理№があったらを複数作成すればよいのでしょうか? If Cells(iCheck, 2).Value = Me.TextBox2.Text Then If Cells(iCheck, 2).Value = Me.TextBox5.Text Then この場合、Exit SubとEnd Ifを書くコードに追加ですかね? Private Sub CommandButton1_Click() Dim i As Integer Dim iCheck As Integer For i = 2 To 20000 If Cells(i, 2).Value = "" Then Exit For Next '重複チェック iCheck = i For iCheck = 1 To i '該当管理№があったら If Cells(iCheck, 2).Value = Me.TextBox2.Text Then '出荷されてなかったら 'If Cells(iCheck, 23).Value = "" Then '使用日 Cells(iCheck, 18).Value = Me.TextBox1 Cells(iCheck, 18).Value = Me.TextBox1 '使用先/搭載埼 Cells(iCheck, 19).Value = Me.TextBox3 Cells(iCheck, 19).Value = Me.TextBox6 '担当 Cells(iCheck, 20).Value = Me.ComboBox1 Cells(iCheck, 20).Value = Me.ComboBox1 'メモ Cells(iCheck, 21).Value = Me.TextBox4 Cells(iCheck, 21).Value = Me.TextBox7
質問日時: 2024/03/14 14:04 質問者: kacky76
ベストアンサー
3
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Visual Basic(VBA)】に関するコラム/記事
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでユーザーフォームを指定回数繰...
-
【ExcelVBA】5万行以上のデータ比...
-
VBAでCOPYを繰り返すと、処理が途中...
-
【VBA】 結合セルに複数画像とファ...
-
【マクロ】シートの変数へ入れるコ...
-
Excel VBA 選択範囲の罫線色の変更...
-
【マクロ】売上一覧YYYYMMDDHHSS.xl...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教えてく...
-
Excelのマクロについて教えてくださ...
-
Vba Array関数について教えてください
-
Vba セルの4辺について罫線が有るか...
-
改行文字「vbCrLf」とは
-
ダブルクリックで貼り付けた画像か...
-
【マクロ】並び替えの範囲が、その...
-
【マクロ】開いているブックの名前...
-
エクセルの改行について
-
エクセルのVBAコードと数式について...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてくださ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有るか...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデータ比...
-
【マクロ】売上一覧YYYYMMDDHHSS.xl...
-
【マクロ】開いているブックの名前...
-
【マクロ】並び替えの範囲が、その...
-
エクセルの改行について
-
エクセルのマクロについて教えてく...
-
vb.net(vs2022)のtextboxのデザイン...
-
VBAでCOPYを繰り返すと、処理が途中...
-
VBA ユーザーフォーム ボタンクリッ...
-
エクセルのVBAコードと数式について...
-
エクセルのVBAコードについて教えて...
-
[VB.net] ボタン(Flat)のEnable時の...
-
【マクロ】変数を使った、文字の種...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく動作...
-
【マクロ】シートの変数へ入れるコ...
-
ワードの図形にマクロを登録できる...
-
算術演算子「¥」の意味について
おすすめ情報