回答数
気になる
-
エクセルの数式で教えてください。
エクセルの数式が2つあります。 2つの数式を1つに出来る方法を教えてください。 数式-1 =REPT(LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),10),AND(MID(LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),10),9,1)="-",LENB(LEFT(LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),10),8))=8,COUNT(MID(LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),10),ROW(1:8),1)*1)=8)) この数式はExcelのファイル名の先頭から「半角英数字8文字」+「-」+「半角英数字1文字を」数式を設定しているセルに表示できます。 数式-2 =REPT(LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),11),AND(MID(LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),11),10,1)="-",LENB(LEFT(LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),11),9))=9,COUNT(MID(LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),11),ROW(1:9),1)*1)=9)) この数式はExcelのファイル名の先頭から「半角英数字9文字」+「-」+「半角英数字1文字を」数式を設定しているセルに表示できます。(例:12345678-1) ファイル名が物件によって先頭の「半角英数字8文字」時もありますし「半角英数字9文字」の時もあります。(例:123456789-1) どちらかの場合でも数式を設定したセルに先頭文字を表示出来る方法を教えてください。 尚、ファイル名の先頭に(例:12345678-1)又は(例:123456789-1)が無い場合は 数式を設定したセルには数字は表示されません。 よろしくお願いします。 詳しく教えて頂ける方、よろしくお願いします。
質問日時: 2023/07/31 15:49 質問者: エクセル小僧
ベストアンサー
1
0
-
VBA 時間について
いつもお世話になっております c列に下記のように時間を入力しています。 現在の時間と下記の時間が同じになりましたら となりの列に 開始と表示させることは 可能でしょうか 20:20 21:10 22:15
質問日時: 2023/07/29 21:54 質問者: りんごプリン
解決済
1
1
-
貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ
貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファイルの"売上予測推移"シートのB6から最終行を取得 その中に同じ値があったら、ソースファイルの2番目のシートの同じ値があったセルの同じ行のC列~J列の5つのセルの値をコピーして ターゲットファイルの同じ値のセルの隣のC列に貼り付けるものです。 複数のソースファイルを取り込むと、なぜか最後に取り込んだソースファイルの値だけターゲットファイルに貼りついています。 つまり以前に貼りついた値が丸々消えてます。 どうすれば解決できますでしょうか?お詳しい方宜しくお願い致します。 Sub 同じ値で貼り付け() Dim sourcePath As String Dim targetPath As String Dim targetFileNamePart As String Dim targetFile As String Dim wbSource As Workbook Dim wsSource As Worksheet Dim wbTarget As Workbook Dim wsTarget As Worksheet Dim sourceValue As Variant Dim targetValue As Variant Dim lastRowSource As Long Dim lastRowTarget As Long Dim i As Long Dim j As Long Dim foundRow As Long Dim fileName As String ' ソースファイルのパス sourcePath = "C:\Users\225\Desktop\テスト\" ' ターゲットファイルのパス targetPath = "C:\Users\225\Desktop\管理ファイル\" ' ターゲットファイルを探す部分文字列 targetFileNamePart = "営業用" ' 警告メッセージを非表示にする Application.DisplayAlerts = False ' ソースフォルダ内のすべてのExcelファイルに対して処理を実行 fileName = Dir(sourcePath & "*.xlsx") Do While fileName <> "" ' ソースファイルを開く(外部リンクが含まれている場合、リンクを更新せずに開く) Set wbSource = Workbooks.Open(sourcePath & fileName, UpdateLinks:=False) ' ターゲットファイルを探す targetFile = Dir(targetPath & "*" & targetFileNamePart & "*.xlsx") ' ターゲットファイルを開く(外部リンクが含まれている場合、リンクを更新せずに開く) Set wbTarget = Workbooks.Open(targetPath & targetFile, UpdateLinks:=False) ' ソースファイルの2番目のシートを取得 Set wsSource = wbSource.Sheets(2) ' ターゲットファイルの"売上予測推移"シートを取得 Set wsTarget = wbTarget.Sheets("売上推移") ' ソースファイルの2番目のシートのB6から最終行を取得 lastRowSource = wsSource.Cells(wsSource.Rows.Count, "B").End(xlUp).Row ' ターゲットファイルの"売上予測推移"シートのB6から最終行を取得 lastRowTarget = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Row ' ソースファイルの2番目のシートのB6から最終行までループ For i = 6 To lastRowSource sourceValue = wsSource.Cells(i, "B").Value foundRow = 0 ' ターゲットファイルの"売上予測推移"シートのB6から最終行までループして、同じ値があるか確認 For j = 6 To lastRowTarget targetValue = wsTarget.Cells(j, "B").Value If sourceValue = targetValue Then foundRow = j Exit For End If Next j ' 同じ値が見つかった場合は、コピーして貼り付け If foundRow > 0 Then wsSource.Range("C" & i & ":J" & i).Copy wsTarget.Range("C" & foundRow).PasteSpecial xlPasteValues End If Next i ' コピー元のシートとファイルを閉じる wbSource.Close SaveChanges:=False ' ターゲットファイルを保存して閉じる wbTarget.Close SaveChanges:=True ' 次のファイルを取得 fileName = Dir Loop ' 警告メッセージを再度表示させる Application.DisplayAlerts = True End Sub
質問日時: 2023/07/27 12:23 質問者: さわ子
解決済
2
1
-
同一列で連続した「出」を2コマ以上空けて「休」と入れ替えたい。
先週こちらで教えていただいたシフト振り分けの続きななります。 ①9:00~13:00の間で、 Range("C5")とRange("C6")のように連続した場合、 時間の遅いRange("C6")を2コマ以上開けた14:00の「休」と入れ替えたい。 ②14:00~19:00の間で、 Range("D10")とRange("D11")のように連続した場合、 時間の早いRange("D10")を2コマ以上開けた12:00の「休」と入れ替えたい。
質問日時: 2023/07/25 06:39 質問者: momo_2123
ベストアンサー
1
0
-
VB.netのコンテナークラスとはなんですか
VB.netのコンテナークラスとはなんですか?データを格納する入れものみたいなものと聞きましたが WEBアプリだと入力フォームのデータの受け皿としてのアクセサメソッドが書かれているクラスがあったりしますが
質問日時: 2023/07/22 03:54 質問者: 39OK
解決済
2
0
-
VBプロジェクトでのフォルダ構成について
VB.netにて作業をしているのですがプロジェクトのフォルダ構成について教えてください まず、機能毎のプロジェクトがあります 例えばA001機能のフォルダ その中に下記2つのフォルダがあります。 ①slnとvbクラス等が格納されているフォルダ ②slnがなくvbクラス等が格納されているフォルダ ★質問:①のslnを起動すると②のフォルダも一緒に表示されます。 これはどういう仕組みなのでしょうか A001フォルダがプロジェクトで①と②は同一のディレクトリ階層 そして、この様なフォルダ構成にするにはどうすればいいのでしょうか 参考サイトでもなんでもいいので、ご教授願います。
質問日時: 2023/07/22 03:49 質問者: 39OK
解決済
1
0
-
シフトの「出」と「休」を入れ替えたい
「出」が3回ある列の真ん中の「出」と「出」が1回の列の「休」を入れ替えたい。 下表の「出」が3回あるD列の真ん中の「出」Cells(7,4)と「出」が1回だけのE列Cells(7,5)を入れ替えてD列、E列とも「出」を2回にしたい。 同様にH列の「出」とG列の「休」も入れ替えたいのですが、どのような方法があるか教えてください。
質問日時: 2023/07/22 00:22 質問者: momo_2123
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
下記のマクロをを設定しており、 順番にマクロが実行されるようになっております。 最初に再修正テキストを実行し、作業ブックのセル値をファイル文章に指定してテキストファイルを作成します。 その次に "テキストファイルを開く"を実行し、物件毎にテキストファイルの文章を編集して保存 次に"電子管理システム"を実行し、編集したテキストファイルをWebにアップします。 Sub テキストファイル統合() Application.Run "再修正テキスト" Application.Run "テキストファイルを開く" Application.Run "電子IDコピー" Application.Run "電子管理システム" Sheets("青紙表").Select Range("AA27").Select Application.Run "上書保存" End Sub 上記のマクロの内、Application.Run "再修正テキスト"でテキストファイルが作成されてそのファイルをApplication.Run "テキストファイルを開く"で開き、テキストファイルの内容を変更し、 そのテキストファイルを保存する(S)で保存後に Application.Run "電子管理システム"を実行できる方法を教えてください。 現状では、テキストファイルを開いた状態で、次のマクロ"電子管理システム"が実行されてしまい、 編集が上手く行きません、解決方法を教えてください。 尚、作業フォルダ内には"再修正テキスト"で作成したテキストファイルが一つしかありません。 よろしくお願いいたします。
質問日時: 2023/07/21 09:42 質問者: エクセル小僧
ベストアンサー
2
0
-
Visual Basic : ImageListの画像がそろったときにメッセージを表示
添付した画像のように三つのImageList1,2,3に含まれている9つの画像のうち、三つの画像がそろったときに”おめでとう!”と表示するスロットのようなものを作りたいです。以下のソースコードで三つの画像がそろわなかったときに、”残念!”は表示されるのですが、そろった時には、”おめでとう!”は表示されません。どこを直せばよいのでしょうか。 Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Timer3.Enabled = False Static ct As Integer = 0 ct = ct + 1 If ct = ImageList1.Images.Count Then ct = 0 ' ImageList1,2,3の画像が一致するかどうかを判定する If ImageList1.Images(ct).Equals(ImageList2.Images(ct)) And ImageList2.Images(ct).Equals(ImageList3.Images(ct)) Then ' 一致するなら「おめでとう!」と表示する MessageBox.Show("おめでとう!") Else MessageBox.Show("残念!") End If End Sub
質問日時: 2023/07/20 13:53 質問者: tec0621
解決済
1
0
-
該当セルに行替えを含むデータを命令文に入れて、2行に表示したい。
該当セルに改行コードを入れて、"YカミS1" を”Yカミ"と"S1"と行替えして表示させたい。 dim 分類 as string 分類="Yカミ"+chr(13)+char(10)+"S1" range("B3")=分類 を実行しますと、そのまま表示されて改行されません。 入力操作では Alt+Enter ですがデータとして命令文に入れたい。 ____ |Yカミ | |S1 | ーーーー
質問日時: 2023/07/20 11:51 質問者: Dory-R
ベストアンサー
5
0
-
このVBAでExcelアプリケーションを作成は必要ですか?
Sub GetExcelFileNamesAndDates() Dim folderPath As String Dim searchDate As Date Dim folder As Object, subFolder As Object, file As Object Dim excelApp As Object Dim rowNum As Integer Dim pasteRange As Range ' フォルダーパスと検索日付を設定 folderPath = "C:\Users\kes1o\Desktop\新しいフォルダー" searchDate = Sheets("Sheet1").Range("A1").Value ' Excelアプリケーションを作成 Set excelApp = CreateObject("Excel.Application") excelApp.Visible = False ' フォルダー内のサブフォルダーとファイルを検索 Set folder = CreateObject("Scripting.FileSystemObject").GetFolder(folderPath) ' 結果をシート1のA3セルから貼り付け Set pasteRange = Sheets("Sheet1").Range("A3") rowNum = 0 ' 貼り付ける行番号を初期化 For Each subFolder In folder.SubFolders For Each file In subFolder.Files ' ファイルがExcelファイルかつ更新日が検索日付以降の場合、ファイル名と更新日時を表示 If (Right(file.Name, 5) = ".xlsx" Or Right(file.Name, 4) = ".xls") And file.DateLastModified >= searchDate Then pasteRange.Offset(rowNum, 0).Value = file.Name pasteRange.Offset(rowNum, 1).Value = file.DateLastModified rowNum = rowNum + 1 End If Next file Next subFolder ' Excelアプリケーションを終了 excelApp.Quit End Sub ChatGPTで作成しましたがExcelアプリケーションを作成の部分は必要でしょうか?
質問日時: 2023/07/19 21:13 質問者: ケイ0000
解決済
3
0
-
チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が
チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が入ってます。チームは全部で50チームですので、いくつか重複するチーム名が存在します。 D列(D2~D265)にはそれぞれ商品名が入ってます。 『りんご』『みかん』『ぶどう』の3種類がD列セルに入ってます。 この場合、各チームがりんご、みかん、ぶどうをそれぞれいくつずつ希望しているか算出する関数式またはVBAコードをご教示頂けますと幸いです。 E列に各チームが50対象あり、横のF列に対象チームの各商品の数を表示させたいです。 E列のチーム名はF列3セル分で結合してます。
質問日時: 2023/07/18 18:46 質問者: HS83als
ベストアンサー
3
0
-
vbaで条件付き書式を設定したときの適用範囲について
vbaについて詳しくないのですが、ご相談させてください。 条件付き書式をvbaにて設定しようとして、その適用先(適用範囲)がずれてしまっているのですが、現在のマクロの記述のどこが原因なのでしょうか。 Excelにてプライベートの出納帳を作成しており、支払方法(プルダウンリストから選択)によって、同じ行の関連項目のセルをまとめて色付けしようとしています。(条件付き書式は手動でもできますが、勉強と手抜きを兼ねてvbaで設定しようとしています。) 出納帳には各日付ごとに「支払方法」、「品名」、「金額」のセルがあり、 これが1日~31日まで続いています。 (支払方法で「クレカ①」を設定すれば、同じ行にある同じ日付のこれら3列分の項目のテキストが色付けされる。) R列(18列目)~T列(20列目) ⇒1日 U列(21列目)~W列(23列目) ⇒2日 : DA列(105列目)~DC列(107列目) ⇒30日 DD列(108列目)~DF列(110列目) ⇒31日 これを同じ日付では一つの条件付き書式を設定したい(=18列目から3列ごとに条件付き書式を設定し、各書式の設定範囲は3列分としたい)のですが、適用先が上手く反映されません。 このマクロの実行後の条件付き書式の設定を確認すると、「適用先」が思うようになっていません。 「ルール」の$R8,$U8,$X8,…は自分が設定したかったルールになっているのですが、 「適用先」はそれぞれ自分が設定したかった=$R$8:$T$49,=$U$8:$W$49,=$X$8:$Z$49,という適用先からずれてしまっています。 コードは以下の通りです。自分なりにwebで調べた中で継ぎ接ぎしたものですが、「適用先」の修正ができれば、自分がやりたいことはできると考えています。 駄文ですが、お詳しい方がいらっしゃいましたら、お力添えいただけないでしょうか。 Sub 条件付き書式_支払方法() Dim Row_Start As Long Dim Row_Last As Long Dim Line_Start As Long Dim i As Long Row_Start = 8 Line_Start = 18 For i = 0 To 108 Step 3 Row_Last = Cells(Rows.Count, 8).End(xlUp).Row If Range(Cells(Row_Start, Line_Start + i), Cells(Row_Last, LineStart + i + 2)).FormatConditions.Count <> 0 Then Range(Cells(Row_Start, Line_Start + i), Cells(Row_Last, LineStart + i + 2)).FormatConditions.Delete End If Dim exp As String exp = Cells(Row_Start, Line_Start + i).Address(0, 1) With Range(Cells(Row_Start, Line_Start + i), Cells(Row_Last, LineStart + i + 2)).FormatConditions.Add(Type:=xlExpression, Formula1:="=" & exp & "=""クレカ①""") .Font.ThemeColor = xlThemeColorAccent5 .StopIfTrue = False End With Next End Sub
質問日時: 2023/07/17 23:14 質問者: 曇りのち雨ところによっては雷雨
ベストアンサー
1
0
-
エクセルのマクロについて教えてください。
エクセルのマクロについて教えてください。 マクロを実行し、同じフォルダ内に保存されているテキストファイルの日時(秒まで) を指定セルに表示させる方法を詳しいコード共教えてください。 作業ブックのシート名「青紙表」セル「AX75」に表示 でお願いします。 テキストファイルは作業ブックと同じフォルダ内に一つしかありません。 又、テキストファイル名は 物件管理番号+再修正依頼.txtとなり 例えば 「1234678_3_再修正依頼.txt」となっております。 親切に教えて頂ける方、よろしくお願いします。
質問日時: 2023/07/16 14:36 質問者: エクセル小僧
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
エクセルのマクロについて教えてください。 マクロを実行し、マクロを設定しているブックと同じフォルダ内にある テキストファイルを「PDF」に変更出来る方法を詳しいコードで教えてください。 テキストファイル名は必ず半角の英数字「8」+「_」+「1」「_」再修正依頼 となってます。 例えば 「12345678_5_再修正依頼.txt」です。前半の英数字「12345678_5」は物件毎に変更されます。 後半の「再審査依頼」は固定です。 変更したいテキストファイルはフォルダ内に一つしかありません。 よろしくお願いします。
質問日時: 2023/07/15 16:33 質問者: エクセル小僧
ベストアンサー
4
0
-
エクセルのマクロについて教えてください。
マクロを実行して マクロブックがある、同じフォルダ内のテキストファイルを開く事が出来るマクロを作成しましたが、 上手く実行出来ません、 解決方法を教えてください。 Sub テキストファイルを開く() Dim cdir As String Dim tdir As String Dim tfi As String Dim filenum As Integer cdir = ThisWorkbook.Path tfi = "########_#_再修正依頼.txt" tdir = cdir & "\" & tfi filenum = FreeFile Open tdir For Input As #filenum End Sub 上記のマクロを実行すると実行時エラー53 「ファイルが見つかりません」と出て 「Open tdir For Input As #filenum」の部分が黄色くなっております。 テキストのファイル名は物件毎に変更になる半角の英数字「8」+「_」+半角「1」+「_」と 固定文字の「再修正依頼」です。 尚、作業フォルダ内にはテキストファイルが一つしか有りません。 よろしくお願いします。
質問日時: 2023/07/15 15:48 質問者: エクセル小僧
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
マクロを実行して、作業ブックのシートやセル値をファイル名にしたり、テキストファイルの文章を構成出来るマクロを先日教えて頂きました。 テキストファイルの一番最初の相手先を シート審査、セルB1を参照するようにしておりますが、 現状のマクロでは、セルB1では無く担当者のセル13が相手先になってしまっております。 解決方法をよろしくお願いいたします。 マクロ Option Explicit Public Sub テキストファイル作成() Dim ws1 As Worksheet Dim ws2 As Worksheet Dim fname As String Dim result As Boolean Dim err_str As String Dim atesaki As String Dim tanto As String Dim text_path As String Set ws1 = Worksheets("青紙表") Set ws2 = Worksheets("審査") fname = ws1.Range("CK1").Value If fname = "" Then MsgBox ("ファイル名が空白です") Exit Sub End If result = CheckFileName(fname, err_str) If result = False Then MsgBox ("ファイル名として使用できない文字[" & err_str & "]があります") Exit Sub End If atesaki = ws2.Range("B1").Value If atesaki = "" Then MsgBox ("宛先が空白です") Exit Sub End If tanto = ws2.Range("G13").Value If tanto = "" Then MsgBox ("担当者が空白です") Exit Sub End If text_path = ThisWorkbook.Path & "\" & fname & ".txt" Open text_path For Output As #1 '宛先 Print #1, tanto '固定文字 Dim fstr1 As String Dim fstr2 As String Dim fstr3 As String fstr1 = "お世話になっております、回答書を確認いたしましたが、下記の内容を再度ご確認ください。" fstr2 = "修正図書をWebにアップをお願いします。" fstr3 = "以上です。 よろしくお願いします。" Print #1, fstr1 Print #1, fstr2 Print #1, fstr3 '担当者 Dim vstr1 As String vstr1 = "担当者:" & tanto Print #1, vstr1 Close #1 End Sub 'ファイル名として使用できない文字が含まれているかチェックする Public Function CheckFileName(ByVal fname As String, ByRef err_str As String) As Boolean Dim estrs As Variant Dim i As Long Dim estars As Variant CheckFileName = False estars = Array("\", "/", ":", "*", "?", "<", ">", "|", """") For i = 0 To UBound(estars) If InStr(fname, estars(i)) > 0 Then err_str = estars(i) Exit Function End If Next CheckFileName = True End Function 以上です。 よろしくお願いします。
質問日時: 2023/07/15 15:12 質問者: エクセル小僧
ベストアンサー
2
0
-
Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。
VBA超初心者です。 UserForm2のTextBox1に顧客IDを入力し、ListBox1に検索結果を表示。ListBox1の結果をダブルクリックしてUserForm1の入力画面で修正や追記を行いたいです。 UserForm1の項目は43項目あり、Excel sheet1 に反映します。ID検索でUserForm2のListBox1に表示させた項目は、sheet1からID、名前、性別、日付、担当者のみ表示しました。 修正が必要なListBox1の値をDoubleClickし、UserForm1のTextBoxに値を転記しデータを修正し、再登録ボタンを押して再度Sheet1の同じ箇所に収めたいです。 UserForm2で Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) UserForm1.Text End Sub ・・・でわからなくなってしましました。 どうかよろしくお願いします。
質問日時: 2023/07/14 14:06 質問者: myuku
解決済
2
0
-
エクセルのマクロについて教えてください。
エクセルのマクロについて教えてください。 マクロを実行して、テキストファイルを作成、そのテキストファイル名及び テキストファイルの内容をマクロを設定しているシートとセル値を設定できますでしょうか。 私の希望が叶うようであれば、詳しいい内容を補足させていただきます。 よろしくお願いいたします。
質問日時: 2023/07/14 12:49 質問者: エクセル小僧
ベストアンサー
5
0
-
C3とC4のセルに、Visual basicで実行した時入力した値をC3に表示させ、その後に、C3に
C3とC4のセルに、Visual basicで実行した時入力した値をC3に表示させ、その後に、C3に表示された値によって80点以上ならA 60点以上ならB それ以外ならCとC4のセルに表示させる式を入れたいです。 Sub プロジーシャ名() Range(“C3”).Value = InputBox(“数値を入力し てください) If Range(“C3”) => 80 Then Range(“D3”).Value = A Elseif Range(“C3”) => 60 Range(“D3”).Value = B Else Range(“D3”).Value = C End Sub これでお手上げです。どういう風に打ち込めばいいですか?そしてプラスでA B Cを赤色で表示したいです。 お時間取らせますが教えていただきたいです
質問日時: 2023/07/14 09:43 質問者: 教えてよー
ベストアンサー
1
1
-
祝日を除いた月曜から土曜までの1週間分の日付行を選択し、別シートへカットアンドペーストしたい
sh1のB列に縦に最大31日分の曜日が並んでいます。この列から最初の1週間分の曜日を祝日を除いて切り取り、Sh2に貼り付けるコードを教えてください。 行を指定して貼り付ける下記コードだと、例として火曜日が祝日だった場合、次の1週間分のシートが月曜始まりにならないため、月曜から土曜までの行を指定し、無い曜日があっても次の1週間分のシートができるようにしたいのですが、、、 findを使って検索し、切り取っていくようなイメージにするには、どのようなコードになるか教えてください。 With Sheets("sh1") .Range(.Cells(1, "A"), .Cells(6, "AA")).Copy _ Destination:=Sheets("sh2").Range("A1") End With 2023/07/03 (月) 2023/07/05 (水) 2023/07/06 (木) 2023/07/07 (金) 2023/07/08 (土) 2023/07/10 (月) 2023/07/11 (火) 2023/07/12 (水) ・・・・・ ・・・・・ _______________ 【Sh1】 2023/07/03 (月) 2023/07/05 (水) 2023/07/06 (木) 2023/07/07 (金) 2023/07/08 (土) ________ 【Sh2】 2023/07/10 (月) 2023/07/11 (火) 2023/07/12 (水) ・・・・・ ・・・・・ _______ 【sh3】
質問日時: 2023/07/13 22:46 質問者: momo_2123
ベストアンサー
13
0
-
エクセルのマクロについて教えてください。
Excelのマクロについて教えてください。 マクロを実行した後に、マクロを設定している作業ブックを削除出来る方法を詳しいコード共、教えてください。 下記のマクロがあります。 Sub ファイル名変更() Application.Run "青紙" Application.Run "エジソン" Application.Run "エジソン審査資料" End Sub マクロを実行すると順番に「青紙」「エジソン」「エジソン審査資料」のマクロが実行されます。 上記のマクロが実行された後には、マクロを設定している作業ブックが不要になります。 マクロ実行後に、作業ブックを削除出来る方法を教えてください。 ちなみに、一番最後のマクロは Sub エジソン審査資料() Dim parentFolderPath As String parentFolderPath = ThisWorkbook.Path Dim fso Dim orgFileName As String orgFileName = Dir(parentFolderPath & "\" & "*.eds") '該当するファイルが1つしかないという前提のようなので。 Dim f, flag As Boolean For Each f In CreateObject("Scripting.FileSystemObject").GetFolder(parentFolderPath).Files If f.Name Like "##############.eds" Then f.Name = "前審査資料.eds" flag = True Exit For End If Next If flag = False Then MsgBox ".edsはありません" End If End Sub となります。 よろしくお願いします。
質問日時: 2023/07/13 12:31 質問者: エクセル小僧
ベストアンサー
1
0
-
改行ごとに行を追加し、数量を分割
vbaをネットで検索しながら作成しているのですが、うまくいかず困っています。 お助けいただけたら嬉しいです。 やりたいことは、①アクティブシートをコピーし、新しく追加したシートに貼り付ける。→○ ②F列の納期が複数ある場合は、改行されている毎に分ける→○ ③納期を分ける際に、下に行を追加する。その際、列をコピーし貼り付けて、分離された納期を記載する→× ④納期が複数ある場合、合計数量をロット単位に分ける。分けきれなかった場合は、残った数量をその品目の最後に記載。(右図 E列、15行目参照)→× ③、④が分からずご教示いただけると助かります。 ---------------------------------------------------------------------------------- Sub 納期分割() Dim a As Variant Dim i As Long Dim j As Long ActiveSheet.Copy after:=ActiveSheet ActiveSheet.Name = "New Sheet" For j = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 With ActiveSheet '改行区切りで分割 a = Split(.Cells(j, "F"), vbLf) '配列の大きさの分だけループ For i = 0 To UBound(a) .Cells(j + i, "F") = a(i) 'セルへ入力 Next i End With Next j End Sub
質問日時: 2023/07/11 16:39 質問者: tatituteto7410
ベストアンサー
4
0
-
翌日にお休み予定の従業員がいる場合にアラートを出したい
エクセルで作成したシフト管理表で、翌日にお休み予定の人がいる時、 Bookを開いた際メッセージボックスを表示し「明日は休み予定の人がいます」のようなアラートを表示できるVBAを作成したいのですがどなたかご教示ください。 ブックの構成は、シート1に従業員1か月の○、×形式シフト表で、 シート2に休み希望表(F11:AI100まで)があり、各人の希望日を入力(例:7/11などの月/日形式)しています。 そのため、休み希望表の中に翌日の日付があればアラートが出るようにしたいです。
質問日時: 2023/07/11 11:18 質問者: res1112
ベストアンサー
1
0
-
エクセルでフォームのチェックボックスを使用した日付表示切替を作りたい
VBAでチェックボックスにチェックが入ると和暦表示に、 チェックを外すと西暦に切り替わるVBAを組みたいのですがどなたかご教示ください。 ※列はK列の8行目から同列100行目までを対象と考えております。
質問日時: 2023/07/11 10:47 質問者: res1112
ベストアンサー
3
0
-
日別の時間割を週別に分割して貼り付けたい Sheet1に日別で1ヶ月分縦に並んだ時間割を週別にシート
日別の時間割を週別に分割して貼り付けたい Sheet1に日別で1ヶ月分縦に並んだ時間割を週別にシートを5週に分けたいのですがどのような方法が良いか教えてください。 日別の日付セルと週別の日付を一致させて貼り付けるイメージはあるのですが何から手をつけたら良いか迷っています。
質問日時: 2023/07/10 16:01 質問者: momo_2123
ベストアンサー
1
0
-
Outlook VBAについて
OutlookのVBAについて質問です。 現在添付画像のコードで 選択しているメールから指定のExcelのB2に受信日時 C2に件名を書き出しております。 このコードを 1、選択しているメールが複数でも書き出す 2、選択しているメールをmsgファイルとしてExcelにリンクを貼り付け(ALのセルに)エクセル上からクリックでメールを開けるようにする この2つの処理を追加できる方がおりましたら、是非コードを教えて頂きたいです。
質問日時: 2023/07/10 12:41 質問者: いさ4584269
ベストアンサー
1
1
-
Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA
Excelで、ファイル内にシートを統合するVBAを書いてみたいと思うのですが、ネットなどでは同一のファイル内にVBEを書き実行するものがほとんどのようにお見受けします。 すなわち、VBAのあるファイル(マクロファイル)にシートが5枚あれば5つドラッグしてくる、10枚あらえば10枚、100枚あれば100枚ドラッグするということになります。 スタート(統合)ボタンなどを付けることを考えると、どのみちマクロ用に準備というか統合用のシートは必要なので、そこでパスとファイル名を指定すれば、当該Excelファイル内のシートを全部統合してくれるというVBAが理想的なのですが、どなたかそういうコードをご教授いただけないでしょうか。 よろしくお願い申し上げます。
質問日時: 2023/07/10 10:09 質問者: Ultra-maline
ベストアンサー
8
0
-
エクセルのマクロについて教えてください。
Excelのマクロについて教えてください。 マクロを実行して 作業フォルダ内にあるファイルの名前を変更するマクロがあります。 拡張子の前部分が専用ソフトからダウンロードした時に自動でつく半角数字「14桁」になります。例えば「20230710082524.eds」です。 上記のファイル名の「20230710082524」はダウンロードの都度変更になります。 下記のマクロを設定したのですが、「.edS」が見つかりません、と表示が出て上手くファイル名を変更できませんでした。解決方法をお願いします。 マクロ Sub エジソン審査資料() Dim parentFolderPath As String parentFolderPath = ThisWorkbook.Path Dim orgFileName As String orgFileName = Dir(parentFolderPath & "\" & "##############.eds ") If orgFileName = "" Then MsgBox ".edsはありません" Exit Sub End If Dim newFileName As String newFileName = "審査資料.eds" Name parentFolderPath & "\" & orgFileName As parentFolderPath & "\" & newFileName End Sub よろしくお願いします。
質問日時: 2023/07/10 09:06 質問者: エクセル小僧
ベストアンサー
2
0
-
Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル
Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイルをファイルの「更新日時」によってファイル名を変更出来る方法を教えてください。 仕事上で使用する専用ソフトにてデータをダウンロードすると 「12345679.erirct」と「12345678.erirct」みたいに拡張子の前に物件毎に違う数字がファイル名となり作業フォルダ内に保存されます。(拡張子は専用のファイルの拡張子になります) ダウンロードをして保存された順番にファイル名を変更出来る方法を教えてください。 一番最初にダウンロードしたファイルを「申請書」にファイル名を変更 二番目にダウンロードしたファイルを「審査資料」にファイル名を変更 尚、ダウンロードは続けて行いますので、「更新日時」は秒単位になると思います。 又、作業フォルダ内には当該マクロを設定しているマクロ有効ブックも有ります。 詳しくコードを教えてください よろしくお願いします
質問日時: 2023/07/09 13:40 質問者: エクセル小僧
ベストアンサー
2
1
-
エクセルのマクロについて教えてください。
先日教えて頂けたマクロがあります、このマクロを実行すると作業ブック内の不要なフォルダを削除できます。 このマクロでは不要なフォルダを一つだけ選択して削除できますが、複数選択して削除出来る方法を詳しいコード共に教えてください。 よろしくお願いします。 マクロ Sub フォルダ削除() Dim InitialPath As String InitialPath = ThisWorkbook.Path Dim rs As Integer rs = MsgBox("フォルダを削除します。", vbCritical + vbOKCancel, "削除の確認") If rs = vbOK Then Dim folderPath As Variant With Application.FileDialog(msoFileDialogFolderPicker) .Title = "削除するフォルダを選択してください" .InitialFileName = InitialPath If .Show = -1 Then folderPath = .SelectedItems(1) Call MoveDustbox(folderPath) Else MsgBox "削除をキャンセルしました。", vbInformation Exit Sub End If End With End If End Sub よろしくお願いします。
質問日時: 2023/07/07 08:37 質問者: エクセル小僧
ベストアンサー
3
0
-
型が一致しませんとエラー
いつもお世話になっております 下記のコードは A B C のいずれかなら隣の列に1 D E F のいずれかなら隣の列に2 の値をいれたのですが、 型が一致しませんとエラーがでます。 まちがっているところ わかる方おしえてくれませんでしょうか a = Array("A", "B", "C") b = Array("D", "E", "F") Sub fe() Dim a, b Dim R As Range a = Array("A", "B", "C") b = Array("D", "E", "F") For Each R In Range("C2:C10") If R.Value = a Then R.Offset(, 1) = 1 If R.Value = b Then R.Offset(, 1) = 2 Else R.Offset(, 1) = "Nothing" End If End If Next End Sub
質問日時: 2023/07/06 20:14 質問者: りんごプリン
ベストアンサー
6
1
-
エクセルのマクロについて教えてください。
下記のマクロは作業ブック内の指定ファイルを削除出来るマクロになっておりますが、 このマクロを 作業ブック内の指定フォルダが削除を削除出来る方法を詳しいコードを教えてください。 マクロ Sub Macro1() ' メッセージボックスの表示 Dim result As VbMsgBoxResult result = MsgBox("不要ファイルを削除します", vbCritical + vbYesNo, "作業フォルダ削除") ' キャンセルがクリックされた場合、マクロの実行を終了 If result = vbNo Then Exit Sub ' ファイル選択ダイアログを開いてファイルを選択 Dim fileDialog As fileDialog Set fileDialog = Application.fileDialog(msoFileDialogFilePicker) ' 複数のファイル選択を許可 fileDialog.AllowMultiSelect = True ' ファイル選択ダイアログを表示 If fileDialog.Show = -1 Then ' 選択されたファイルを削除 Dim selectedFile As Variant For Each selectedFile In fileDialog.SelectedItems On Error Resume Next VBA.FileSystem.Kill selectedFile On Error GoTo 0 Next selectedFile ' メッセージボックスの表示 MsgBox "ファイルの削除が完了しました。", vbInformation + vbOKOnly, "作業フォルダ削除" End If End Sub よろしくお願いします。
質問日時: 2023/07/06 17:46 質問者: エクセル小僧
ベストアンサー
2
0
-
エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク
エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをクリックすると 作業フォルダのダイナログが開いて フォルダ内にあるフォルダやファイルをCtrlキーを押しながらマウスで指定したフォルダやファイルを削除出来る方法を教えて下さい メッセージボックスのアイコンは赤丸に✖️でメッセージは 回答フォルダ、不要ファイルを削除します。 okをクリックすると 作業フォルダのダイナログが開いて 削除したいフォルダやファイルを指定して 警告文なしで okで削除 その後 次の作業に進みます メッセージのキャンセルをクリックするとマクロは実行されず 次の作業に進めます 詳しいコードを教えてください よろしくお願いします
質問日時: 2023/07/05 19:32 質問者: エクセル小僧
ベストアンサー
4
0
-
vba 重複データ合算
vbaをネットで検索しながら作成しているのですが、うまくいかず困っています。 お助けいただけたら嬉しいです。 やりたいことは、A列、B列、C列が全て同じデータの場合、D列の個数を合算します。合算した場合、E列とF列の一番最初(行列の番号の低い)の値を転記します。取得結果を、H列以降に出力します。 E列とF列の値をL列とM列に転記する部分がどうしても分からず、ご教示いただけたら助かります。 ------------------------------------------------------------------------------------------------- Sub 重複データを削除し合算() Dim myDic As Object Dim myKey As Variant Dim myItem As Variant Dim i As Long Dim Target As String Dim tmp As Variant Set myDic = CreateObject("Scripting.Dictionary") For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row Target = Cells(i, 1) & "_" & Cells(i, 2) & "_" & Cells(i, 3) If Not myDic.exists(Target) Then myDic.Add Key:=Target, Item:=Cells(i, 4) Else myDic(Target) = myDic(Target) + Cells(i, 4) End If Next myKey = myDic.keys myItem = myDic.items Application.ScreenUpdating = False For i = 0 To UBound(myKey) tmp = Split(myKey(i), "_") Cells(i + 1, 8) = tmp(0) Cells(i + 1, 9) = tmp(1) Cells(i + 1, 10) = tmp(2) Cells(i + 1, 11).Value = myItem(i) Next Application.ScreenUpdating = True Set myDic = Nothing End Sub
質問日時: 2023/07/05 18:55 質問者: tatituteto7410
ベストアンサー
5
1
-
EXCELのVBAについて
このVBAをEXCEL起動=実行ではなく、セルの値が変わったら累計も変更と、前日までの累計しかでないのを当日か31シート分表示できるようにしたいです。 Private Sub Workbook_Open() Dim k As Long With Worksheets(1) '「1」Sheetのみの操作 .Range("R58") = .Range("R58") .Range("R73") = .Range("R73") End With For k = 2 To Day(Date) - 1 With Worksheets(k) .Range("R58") = Worksheets(k - 1).Range("R58") + .Range("I58") .Range("R73") = Worksheets(k - 1).Range("R73") + .Range("I73") End With Next k End Sub
質問日時: 2023/07/05 17:17 質問者: Piiiiiro
ベストアンサー
2
1
-
VBAでPowerPointからExcelにレイアウト通りに出力する
PowerPoint上の全文字列をExcelに出力するPowerPointマクロは作成できたのですが、シェイプのインデックス順に出力してしまいます。 レイアウト通りに貼り付ける際はどう変更すればいいのでしょうか Excel VBAでコードを入力しました こちらのHPを参考にしました [インストラクターのネタ帳]より PPTファイル上の全文字列をExcelに出力するPowerPointマクロ https://www.relief.jp/docs/018395.html
質問日時: 2023/07/05 12:22 質問者: おまるさん
解決済
4
0
-
エクセルのマクロについて教えてください。
セル値をコピーして別のシートのセルに貼り付けを行う時に、 コピー側がセルを統合していなく、コピー先がセルを統合しているので、 マクロを実行した時にエラーが出てマクロが実行できません。 解決方法を教えてください。 マクロ Sub 青紙日付() Sheets("審査").Range("H10").Copy Sheets("青紙表").Range("O27").PasteSpecial xlPasteValues End Sub です。 よろしくお願いします。
質問日時: 2023/07/05 09:30 質問者: エクセル小僧
ベストアンサー
5
0
-
エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間
エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間があったらお答えをおねがいします! 自分で色々検索して参考になるものがあったのですが 他のセル場所を指定しても反映されずどのように作れば良いか分からなくなってしまいました。 Private Sub Worksheet_Change(ByVal Target As Range) Dim myValue As Double Dim preVAlue As Double 'セルは、A1 If Target.Address <> "$A$1" Then Exit Sub With Application .EnableEvents = False .ScreenUpdating = False If VarType(Target.Value) = vbDouble Then myValue = Target.Value .Undo preVAlue = Target.Value If VarType(preVAlue) = vbDouble Then Target.Value = myValue + preVAlue Else Target.Value = myValue End If End If .ScreenUpdating = True .EnableEvents = True End With End Sub を使ってA1だけでなくA1からC3まで同じ動作がセルごとにできるようにしたいのですが分かる方がいらっしゃったら教えて頂きたいです。 よろしくお願いします。 作成はシートタブのコードの表示でつくていますが、 他に同じ動作で簡単にできるものがあれば教えて頂きたいです、、、
質問日時: 2023/07/05 06:13 質問者: asuty00
ベストアンサー
3
0
-
VBA リボンののリカバリーでオーバーフローエラーになります
いつもお世話になります 最近、Windows11およびExcel64ビット版に変更していろいろエラーが発生しています その中で今までWindows10およびExcel32ビット版では問題なかったリボンのリカバリーで オーバーフローエラーで悩まされています '***初期設定*** '...レジストリを使った、リボンコントロール用(イレギュラーに止まった時のカバー用) Public Declare PtrSafe Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSrc As Any, ByVal cbLen As Long) Public rbRibbon520 As IRibbonUI ' リボン Public rbCheckBox520 As Boolean Sub Ribbon_OnLoad520(ribbon As IRibbonUI) ' リボンの初期処理 Set rbRibbon520 = ribbon ' リボンの表示を更新できるようにするためにリボンをセットする SaveSetting "RibbonApp", "Main", "RibbonPointer520", CStr(ObjPtr(ribbon)) '...リボンのポインタをレジストリに記録 rbRibbon520.Invalidate ' リボンの描画を更新する End Sub '***エラー時*** If rbRibbon520 Is Nothing Then '...前回イレギュラーで終わったため、レジストリからチェックボックスの値を読み込む rbCheckBox520 = GetSetting("MyChkBox520", "Main", "IsCheckBox520") '...オブジェクトのリセット(レジストリからのリカバリー) Set rbRibbon520 = GetRibbon(CLng(GetSetting("RibbonApp", "Main", "RibbonPointer520"))) rbRibbon520.Invalidate ' リボンの描画を更新する のように作成しています プログラムは上記のチェックボックスを使って処理していますが デバッグ等で途中で止めた場合、再スタート時にエラーになってしまいます Windows11とWindows10の違いなのか、 Excel32版とExcel64版によるものかも分かっていません もし分かりましたら教えてください 以上、よろしくお願い申し上げます
質問日時: 2023/07/04 19:07 質問者: 公共ごま
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
Excelのマクロについて教えてください。 マクロ有効テンプレート方式のブックがあります。 最初にこのブックを開き、次に、顧客から送られてきた一般のExcelブック(物件によってファイル名は不特定です)を開き セル範囲を指定して、マクロ有効テンプレートに貼り付けます。 貼り付け後は、マクロ有効テンプレートのみで作業を行う為、コピー先の一般Excelブック は不要になります。 下記のマクロ実行後に コピー先のファイルを削除出来る方法を教えてください。 マクロ Sub 貼り付け() Application.DisplayAlerts = False Worksheets("受付").Range("B1:H47").PasteSpecial Paste:=xlPasteValuesAndNumberFormats Application.DisplayAlerts = True Sheets("受付").Range("Q8").Copy Sheets("受付").Range("F3").PasteSpecial xlPasteValues Sheets("受付").Range("H60").Copy Sheets("受付").Range("F24").PasteSpecial xlPasteValues Sheets("受付").Range("Q9").Copy Sheets("受付").Range("E12").PasteSpecial xlPasteValues Sheets("受付").Range("Q10").Copy Sheets("受付").Range("F12").PasteSpecial xlPasteValues End Sub 以上です。詳しくコードを教えてください。 よろしくお願いします。
質問日時: 2023/07/04 17:58 質問者: エクセル小僧
ベストアンサー
4
0
-
batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい
batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したいのですが、下記のバッチを実行したところ、 実行結果関係なく、EXEが実行できたら0を返すようなコードになってしまいました。 どこを直せば良いかご指摘お願いします。 EXEはVB6.0です。 【バッチ】 @ehco off Project.exe echo %errorlevel% ↓↓↓project.exe 【フォーム】 private sub form_load() 'ファイルの存在を確認する Dim fso As FileSystemObject Set fso = New FileSystemObject 'ファイルの存在を確認する If fso.FileExists("C:\Hoge.txt") Then Call MsgBox("ファイルはあります") Else Call MsgBox("ファイルはありません") End If 【標準モジュール】 Public Declare Sub ExitProcess Lib "kernel32"(ByVal uExitCode As Long) Public Sub Main() Dim filePath As String filePath = Split(Command)(0) Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(filePath) Then ExitProcess 0 Else ExitProcess -1 End If End Sub
質問日時: 2023/07/04 16:40 質問者: おらごくう12
解決済
1
0
-
batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ
batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッチを実行したところ、 バッチ側でエラーレベルが 成功したときも失敗したときも0で帰ってきました。 どこが誤っているかご指摘お願いします。 EXEはVB6.0です。 【バッチ】 @ehco off Project.exe echo %errorlevel% ↓↓↓project.exe 【フォーム】 private sub form_load() 'ファイルの存在を確認する Dim fso As FileSystemObject Set fso = New FileSystemObject 'ファイルの存在を確認する If fso.FileExists("C:\Hoge.txt") Then Call MsgBox("ファイルはあります") Else Call MsgBox("ファイルはありません") End If 【標準モジュール】 Public Declare Sub ExitProcess Lib "kernel32"(ByVal uExitCode As Long) Public Sub Main() Dim filePath As String filePath = Split(Command)(0) Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(filePath) Then ExitProcess 0 Else ExitProcess -1 End If End Sub
質問日時: 2023/07/04 15:13 質問者: おらごくう12
解決済
1
0
-
エクセルのマクロについて教えてください。
Excelのマクロの不具合について教えてください。 マクロを連続して実行すると一部のマクロがエラーが出て実行できません。 解決方法を教えてください。 マクロ Sub 審査結果3() Application.Run "行調整" Application.Run "青紙日付" Application.Run "審査結果" Application.Run "シート移動" If Worksheets("審査").Range("S19") = "計画変更" Then Application.Run "審査資料計変" End If Application.Run "上書き保存表示無し" End Sub があります。このマクロを実行すると上から順番にマクロが実行されます。 しかし、途中マクロ「Application.Run "審査資料計変"」にエラーが出てこのマクロだけ実行できません。 コードは Sub 審査資料計変() Dim TargetFile As String Dim fPath As String, fName As String Dim newfName As String newfName = ThisWorkbook.Sheets("審査").Range("S22").Value & ".pdf" newfName = NGNarrowToWide(newfName) ''メッセージを表示し、実施確認する。 If MsgBox(newfName & vbCrLf & vbCrLf & "審査資料(計変)を作成しますか。", vbExclamation + vbOKCancel) <> vbOK Then Exit Sub ' ファイルのパスを指定 fPath = ThisWorkbook.Path ' ダイアログを表示してファイルを選択 TargetFile = Application.GetOpenFilename("PDFファイル ,*.pdf", , "ファイルを選択", , False) If TargetFile = "False" Then Exit Sub ' ファイル名を変更 If TargetFile = fPath & "\" & newfName Then MsgBox "同名ファイルを選択しています" Exit Sub End If If Not Dir(fPath & "\" & newfName) <> "" Then Name TargetFile As fPath & "\" & newfName Else Dim rc As Integer rc = MsgBox("既に存在する名前です" & vbCrLf & "はいを押すと既存ファイルは削除され" & vbCrLf & "リネームファイルに置き換えられます", 52, "置き換え確認") If rc = vbYes Then Application.DisplayAlerts = False Kill fPath & "\" & newfName Name TargetFile As fPath & "\" & newfName Application.DisplayAlerts = True Else MsgBox "処理を中止しました" End If End If End Sub Public Function NGNarrowToWide(ByVal stg As String) As String stg = Replace(Replace(Replace(Replace(stg, "\", "¥"), "/", "/"), ":", ":"), "*", "*") stg = Replace(Replace(Replace(Replace(stg, "?", "?"), "<", "<"), ">", ">"), "|", "|") stg = Replace(stg, """", Chr(&H8168)) NGNarrowToWide = stg End Function になっており、画像のようなエラーメッセージが出て、 コードの内「Name TargetFile As fPath & "\" & newfName」の部分が黄色くなっております。 このマクロの前の「Application.Run "審査結果"」のマクロを実行したPDFファイルを Application.Run "審査資料計変"マクロを使用してファイル名を変更するようになっております。 解決方法を教えてください。 よろしくお願いします。
質問日時: 2023/07/04 09:18 質問者: エクセル小僧
ベストアンサー
7
0
-
次のソースコードの意味を教えてください form.show vbmodel vbmodelというもの
次のソースコードの意味を教えてください form.show vbmodel vbmodelというものがどういうものなのかよく分かっていません。上のコードはフォームを表示するという意味でしょうか? visual basic 6.0です。
質問日時: 2023/07/03 19:17 質問者: おらごくう12
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
Excelのマクロについて教えてください。 PDFファイル名をマクロを実行してセル値をファイル名に変更できますが、 変更するファイルがある場所を指定するダイナログが開きますが、 そのダイナログの先を変更出来る方法を詳しいコードで教えてください。 現状ではダイナログを開くと違うフォルダを指定しておりますので、 マクロが設定しているExcelファイルとファイル名を変更したいファイルは同じフォルダ内にありますので、このフォルダを指定する方法を教えてください。「ThisWorkbook.Path」 マクロ Sub 交付用名前変更() Dim TargetFile As String Dim fPath As String, fName As String Dim newfName As String newfName = ThisWorkbook.Sheets("青紙表").Range("CH2").Value & ".pdf" newfName = NGNarrowToWide(newfName) TargetFile = Application.GetOpenFilename("PDFファイル ,*.pdf") If TargetFile = "False" Then Exit Sub fPath = Left(TargetFile, InStrRev(TargetFile, "\") - 1) ' ファイル名を変更 If TargetFile = fPath & "\" & newfName Then MsgBox "同名ファイルを選択しています": Exit Sub If Not Dir(fPath & "\" & newfName) <> "" Then Name TargetFile As fPath & "\" & newfName Else Dim rc As Integer rc = MsgBox("既に存在する名前です" & vbCrLf & _ "はいを押すと既存ファイルは削除され" & vbCrLf & _ "リネームファイルに置き換えられます", 52, "置き換え確認") If rc = vbYes Then Application.DisplayAlerts = False Kill fPath & "\" & newfName Name TargetFile As fPath & "\" & newfName Application.DisplayAlerts = True Else MsgBox "処理を中止しました" End If End If End Sub Public Function NGNarrowToWide(ByVal stg As String) As String stg = Replace(Replace(Replace(Replace(stg, "\", "¥"), "/", "/"), ":", ":"), "*", "*") stg = Replace(Replace(Replace(Replace(stg, "?", "?"), "<", "<"), ">", ">"), "|", "|") stg = Replace(stg, """", Chr(&H8168)) NGNarrowToWide = stg End Function です。 よろしくお願いいたします。
質問日時: 2023/07/03 09:11 質問者: エクセル小僧
ベストアンサー
4
0
-
エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル
エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォルダを作成して 審査 検査 の2つのフォルダがあり 審査フォルダ内にマクロを設定しているファイルがあります マクロを実行して審査フォルダの中にあるファイル 〇〇新築(交付用).pdfを 検査フォルダ内にコピー出来る方法を教えてください 以前教えていただき マクロ Sub ファイルコピー() Dim myPath(2) As String Dim FileName As String ' ファイル元保管場所 myPath(1) = ThisWorkbook.Path & "\審査\" ' ファイル貼り付け先 myPath(2) = ThisWorkbook.Path & "\審査\" FileName = Dir(myPath(1) & "*(交付用).pdf") Do While FileName <> "" FileCopy myPath(1) & FileName, myPath(2) & FileName FileName = Dir Loop End Sub を設定しましたが このマクロだと 審査 検査 があるフォルダ内にマクロを設定したファイルが無ければマクロが実行できません 先に書きましたように 物件フォルダ内に審査フォルダ 検査フォルダがあり 審査フォルダ内にマクロファイルがある場合にマクロを実行できる方法をを教えてください 詳しくコードを教えてください よろしくお願いします
質問日時: 2023/07/02 17:58 質問者: エクセル小僧
ベストアンサー
2
0
-
マクロについて教えてください 作業中のフォルダを ThisWorkbook.Path と表示しますが
マクロについて教えてください 作業中のフォルダを ThisWorkbook.Path と表示しますが 例えば 一番初めのフォルダがあり(名前は任意) 次にその中にいくつかのサブフォルダがあるとします(名前は任意)作業中のフォルダ以外のフォルダをコードでは 何と表示するかを教えてください よろしくお願いします
質問日時: 2023/07/02 15:44 質問者: エクセル小僧
ベストアンサー
6
1
-
エクセルのマクロについて教えてください。
マクロコードを作業中のフォルダに変更する方法を教えてください。 マクロ Sub ファイルコピー() Dim myPath(2) As String Dim FileName As String ' ファイル元保管場所 myPath(1) = "C:\Users\Desktop\テスト物件\審査\" ' ファイル貼り付け先 myPath(2) = "C:\Users\Desktop\テスト物件\検査\" FileName = Dir(myPath(1) & "*(交付用).pdf") Do While FileName <> "" FileCopy myPath(1) & FileName, myPath(2) & FileName FileName = Dir Loop End Sub が有ります。 このコードでは ' ファイル元保管場所 myPath(1) = "C:\Users\Desktop\テスト物件\審査\" ' ファイル貼り付け先 myPath(2) = "C:\Users\Desktop\テスト物件\検査\" になっておりますが、「審査」「検査」それぞれのフォルダは作業フォルダ内になります。 例えば作業フォルダ名「北海 太郎邸新築工事」や「北海 花子邸新築工事」等々その各作業フォルダ内に必ず「「審査」「検査」があります。 ファイル元保管場所とファイル貼り付け先の指定フォルダを作業中のフォルダに変更する方法を教えてください。 よろしくお願いします。
質問日時: 2023/07/02 11:48 質問者: エクセル小僧
ベストアンサー
4
1
-
エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を
エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名をセル値にて 変更できる方法を教えてください 作業フォルダ内にはいくつかのPDFファイルがあります マクロを実行し いくつかあるPDFファイルをマウスで一つだけ指定して 作業ブックのシート名青紙(表) のセル値A1をファイル名に変更できる方法を教えてください 詳しくコードを教えていただける方 よろしくお願いします
質問日時: 2023/07/01 15:16 質問者: エクセル小僧
ベストアンサー
3
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Visual Basic(VBA)】に関するコラム/記事
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のExcelファイルをマージするマ...
-
VBAでCOPYを繰り返すと、処理が途中...
-
【ExcelVBA】5万行以上のデータ比...
-
【マクロ】並び替えの範囲が、その...
-
VBAの「To」という語句について
-
vbsでのwebフォームへの入力制限?
-
Vba セルの4辺について罫線が有るか...
-
【マクロ】変数を使った、文字の種...
-
Vba FileSystemObject オブジェクト...
-
エクセルのマクロについて教えてく...
-
VBAでユーザーフォームを指定回数繰...
-
【ExcelVBA】値を変更しながら連続...
-
【マクロ】シートの変数へ入れるコ...
-
エクセルのVBAコードと数式について...
-
ワードの図形にマクロを登録できる...
-
改行文字「vbCrLf」とは
-
エクセルVBA 検索結果を隣のシート...
-
【マクロ】モジュール変数の記述時...
-
Excelのマクロについて教えてくださ...
-
ダブルクリックで貼り付けた画像か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba Array関数について教えてください
-
VBAでCOPYを繰り返すと、処理が途中...
-
【ExcelVBA】5万行以上のデータ比...
-
【マクロ】シートの変数へ入れるコ...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教えてく...
-
【マクロ】並び替えの範囲が、その...
-
Vba セルの4辺について罫線が有るか...
-
【マクロ】売上一覧YYYYMMDDHHSS.xl...
-
VBAでユーザーフォームを指定回数繰...
-
【マクロ】開いているブックの名前...
-
エクセルの改行について
-
vb.net(vs2022)のtextboxのデザイン...
-
エクセルのVBAコードと数式について...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてくださ...
-
改行文字「vbCrLf」とは
-
ワードの図形にマクロを登録できる...
-
VBAの「To」という語句について
-
【マクロ】変数を使った、文字の種...
おすすめ情報