回答数
気になる
-
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
0
-
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
-
ExcelのVBAコードについて教えてください。
作業ブックのシートに下記のコードを設定しております。 セル「C12」に「審査」と表示されると非表示シート「確認質疑」と「行政回答確認」 が表示出来るようになっております。 この2つのコードを1つのコードにまとめる方法を教えてください。 現状のコード Private Sub Worksheet_Change(ByVal Target As Range) Sheets("確認質疑").Visible = [C12] = "審査" Sheets("行政回答確認").Visible = [C12] = "審査" End Sub 以上となります。 宜しくお願い致します。
質問日時: 2024/03/13 09:23 質問者: エクセル小僧
ベストアンサー
1
0
-
【ExcelVBA】インデックスが有効範囲にありません。の理由が分かりません
下記、VBAソースの一部ですが、やりたい処理は、 本体のマクロブックのSheet1のA2セルにフォルダのパスが、 C2、D2セルにセル位置が記載されています。 そのフォルダ内のすべてのエクセルを順番に開いて指定シートの指定範囲をコピーしたいのです。 各ブックのシート名は異なるのですが、VBAエディタから見たシートの番号はすべて同じなので、シート番号から特定して処理しようと考えました。 開いたブックのSheetIDが28のシートに対して、LeftUp(左上)から右下(RightDown)の範囲をコピーしたいのですが、 「インデックスが有効範囲にありません。」というエラーでストップしてしまいます。 LeftUp = Cells(2, 3).Value ' C2 RightDown = Cells(2, 4).Value ' D2 buf = Dir(Sheets("Sheet1").Range("A2").Value & "*.xlsm") Workbooks.Open Worksheets("Sheet1").Range("A2").Value & "\" & buf, UpdateLinks:=0 Worksheets(28).Range(LeftUp & ":" & RightDown).Copy 原因を教えて頂けると助かります。
質問日時: 2024/03/13 00:34 質問者: tanapyondai
解決済
3
1
-
PDF出力マクロについて。マクロ初心者です。 エクセルで、アクティブシートを指定したフォルダに保存す
PDF出力マクロについて。マクロ初心者です。 エクセルで、アクティブシートを指定したフォルダに保存するマクロを組んだのですが、ドライブが違う人でも作動するようにするにはどうしたら良いでしょうか?そもそも不可能なのでしょうか。 コードは以下になります ……………………………………………………………………… Sub アクティブシートPDF出力() Dim strPath As String strPath = "V\○○○○"(指定フォルダのフルパス) Dim ShName As String ShName = ActiveSheet.Name With ActiveSheet.PageSetup Zoom = False FitToPagesWide = 1 FitToPagesTall = 1 End With If MsgBox(ShName &"シートをPDF形式で出力します。よろしいですか?", vbQuestion + vbYesNo) = vbNo Then MsgBox "中止しました。"Exit Sub End If ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=strPath &"\"&ActiveSheet.Range("B8").Text &"_"&Sheets(ShName).Name &".pdf"End Sub ……………………………………………………………………………… また、無駄な部分や追加した方がいいもの等ありましたらアドバイスいただけたらと思います。
質問日時: 2024/03/11 12:44 質問者: chuntarosa__n
ベストアンサー
1
0
-
Excelで「Ctrl+c」、「Ctrl+v」等をまとめた物
Excelで「Ctrl+c,v」はよく使います。同様に「Ctrl+a」等もあればと思います。まとめて発表されておればそのアドレスを教えてください。
質問日時: 2024/03/11 06:23 質問者: aerio
ベストアンサー
5
0
-
VBAコードについて
Sub setData() Dim hitCol As Long Dim i As Long, j As Long Dim errDays() As Long, errCnt As Long '入力データチェック If Not chkData Then End Application.ScreenUpdating = False 'データ登録 With Sheets(strSheet) For i = 1 To 5 If days(i) <> 0 Then Err.Clear hitCol = WorksheetFunction.Match(days(i), .Rows(7), 0) If Err.Number = 0 Then For j = 1 To 27 '組立・行程 .Cells(hitRow + j, hitCol).Value = Cells(j + 9, i * 2 + 2).Value Next j .Cells(hitRow + 30, hitCol).Value = Cells(39, i * 2 + 2).Value '生産数 .Cells(hitRow + 32, hitCol).Value = Cells(40, i * 2 + 2).Value '作業工数 .Cells(hitRow + 33, hitCol).Value = Cells(41, i * 2 + 2).Value 'ケース数 Else errCnt = errCnt + 1 ReDim Preserve errDays(errCnt) errDays(errCnt) = i End If End If Next i End With ThisWorkbook.Save If errCnt = 0 Then Application.ScreenUpdating = True MsgBox "データを[" & strSheet & "]シートにセットしました。", vbInformation Else For i = 1 To errCnt Cells(8, errDays(i) * 2 + 2).Interior.Color = vbYellow Next i Application.ScreenUpdating = True MsgBox "[" & strSheet & "]シートに該当する日が無かったため、データをセットできませんでした。" & vbCrLf & "シートを確認してください。", vbExclamation End If Sheets(strSheet).Activate Application.GoTo Cells(hitRow, "C"), True End Sub のようなコードがあります。 セルC19、C20、D30、D31のデータはセットしないようにしたいのですがどうしてもわかりません。 教えて頂けないでしょうか。お願い致します。
質問日時: 2024/03/10 12:41 質問者: Chiたん
ベストアンサー
2
0
-
解決済
2
0
-
解決済
2
0
-
VBAのコードを教えてください
昨日からVBAを始めた初心者です。 どなたか助けて頂けないでしょうか…。 sheet1からsheet5まであるExcelです。 バージョンは2021 sheet1に集計シートを作っています。 sheet1のC2からC149まで社員番号があり sheet2からsheet5はA2からA41まで それぞれ社員番号があります。 やりたいことは sheet2からsheet5の社員番号が sheet1の社員番号に一致したら sheet2からsheet5のE.F.G.H.I.J列を E.G.I.F.H.J列の順でコピーし sheet1の一致した社員番号のE.F.G.H.I.J列に貼り付けたいです。 更にsheet2からsheet5のD列を sheet1のM列に貼り付けたいです。 sheet1は A1:M149の大きさ sheet2からsheet5は A1:J42の大きさ セルの結合は無しです。 1行目に項目名がある感じで作っています。 文字だけでは伝わりにくいかもしれませんが わかる方、よろしくお願い致します。
質問日時: 2024/03/08 14:15 質問者: いぬ1230
ベストアンサー
5
0
-
以下のコードを実行しても、オブジェクト変数または、withブロック変数が設定されていませんとエラーが
以下のコードを実行しても、オブジェクト変数または、withブロック変数が設定されていませんとエラーが発生します。ネットで解決策を色々と試してみましたが、どうしても実行できません。 VBA初心者です。どなたか、助けて頂けないでしようか? Option Explicit Sub ガントチャート描画() Dim al As Range Dim org As Range Dim dst As Range For Each al In Range("al7:al29") If al.Value <> "" Then Call MyFind(al.Value, org) Call MyFind(al.Offset(0, 3).Value, dst) If al.Offset(0, 7).Value = "H" Then With ActiveSheet.Shapes.AddLine(org.Left + 0, _ al.Top + 10, dst.Left + 0, al.Top + 10).Line .EndArrowheadStyle = msoArrowheadTriangle .ForeColor.RGB = RGB(250, 8, 8) .Weight = 3 End With ElseIf al.Offset(0, 7).Value = "A" Then With ActiveSheet.Shapes.AddLine(org.Left + 0, _ al.Top + 10, dst.Left + 0, al.Top + 10).Line .EndArrowheadStyle = msoArrowheadTriangle .ForeColor.RGB = RGB(51, 255, 0) .Weight = 3 End With ElseIf al.Offset(0, 7).Value = "K" Then With ActiveSheet.Shapes.AddLine(org.Left + 0, _ al.Top + 10, dst.Left + 0, al.Top + 10).Line .EndArrowheadStyle = msoArrowheadTriangle .ForeColor.RGB = RGB(51, 255, 0) .Weight = 3 End With Else: With ActiveSheet.Shapes.AddLine(org.Left + _ 0, al.Top + 10, dst.Left + 0, al.Top + 10).Line .EndArrowheadStyle = msoArrowheadTriangle .ForeColor.RGB = RGB(0, 0, 128) .Weight = 3 End With End If End If Next End Sub Private Sub MyFind(ByVal src As String, ByRef rng As Range) Dim r As Range Set rng = Nothing For Each r In Range("at5:lu5") If r.Value = src Then Set rng = r Exit Sub End If Next End Sub
質問日時: 2024/03/07 16:21 質問者: かなもゆ
ベストアンサー
1
0
-
【ExcelVBA】VBA実行でダイアログメッセージを無視する方法はありますか?
VBAの処理で、フォルダ内のブックを順番に開きながらコピーしていくといった処理をしてるのですが、 ブックの中には、他のブックを参照する式が入っていた場合、 「更新する」「更新しない」といった問い合わせが表示されてしまい、 いちいちクリックする必要があります。 全て「更新しない」選択を自動化して中断させない方法はありますか?
質問日時: 2024/03/07 11:23 質問者: tanapyondai
解決済
1
0
-
VBAコードについて教えてください、 下記のコードを一つにまとめる方法を教えてください セルF18に
VBAコードについて教えてください、 下記のコードを一つにまとめる方法を教えてください セルF18に "フラット設計審査_標準計算" が表示され 又は セルF18に"フラット設計審査_仕様基準" が表示されると マクロ フラットシート表示が実行出来る方法を教えてください 現状の別々のコードです If Range("$F$18").Value = "フラット設計審査_標準計算" Then Call フラットシート表示 End If If Range("$F$18").Value = "フラット設計審査_仕様基準" Then Call フラットシート表示 End If よろしくお願いします
質問日時: 2024/03/06 20:11 質問者: エクセル小僧
ベストアンサー
2
0
-
ExcelのVBAコードについて教えてください。
先日来より、ここで質問をさせて頂いておりますが、皆様の回答を頂きましたが、 解決に至っておりませんので、改めて質問をさせて頂きます。 作業ブックのシート名「審査」に下記のコードを設定しております。 このブックを使用する手順として、一番産所にセル「F18」をプルダウン選択し、文字を表示させて、作業を進めておりますが、「F18」に「確認申請」を選択するとその後、コードの内、下記のコードが実行できません。 If Target.Address = "$F$15" Then Call 担当者情報総合 End If If Target.Address = "$D$18" Then Call 審査保存1 End If 「F18」に「確認申請」以外を選択するとシートに設定しているすべてのコードが順調に実行できます。 「F18」に「確認申請」を選択すると If Range("$F$18").Value = "確認申請" Then Call 確認シートコピー End If が実行されますが、このコードに問題があるのでしょうか。 マクロ「確認シートコピー」は Sub 確認シートコピー() Call 確認用シート表示 Dim i As Integer i = 1 Do While i > 0 i = i + 1 If i > 1 Then Exit Do End If Debug.Print i Loop Sheets("確認申請シート").Select Range("B1:I52").Select Selection.Copy Sheets("質疑").Select Range("B1:I52").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=0 Sheets("確認申請シート").Select ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 10 ActiveWindow.ScrollColumn = 13 ActiveWindow.ScrollColumn = 14 ActiveWindow.ScrollColumn = 15 ActiveWindow.ScrollColumn = 16 ActiveWindow.ScrollColumn = 17 ActiveWindow.ScrollColumn = 18 ActiveWindow.ScrollColumn = 20 Range("AC24:AC52").Select Selection.Copy Sheets("質疑").Select ActiveWindow.SmallScroll ToRight:=21 Range("AC24:AC52").Select ActiveSheet.Paste ActiveWindow.ScrollColumn = 21 ActiveWindow.ScrollColumn = 14 ActiveWindow.ScrollColumn = 12 ActiveWindow.ScrollColumn = 1 Call 確認用シート非表示 Call F行調整 Range("F15").Select End Sub です。 シート名「審査」の全体のコードは Private Sub Worksheet_Change(ByVal Target As Range) If Range("$F$18").Value = "フラット設計審査_標準計算" Then Call フラットシート表示 End If If Range("$F$18").Value = "フラット設計審査_仕様基準" Then Call フラットシート表示 End If If Target.Address = "$F$18" Then Call 担当者メッセージ End If If Target.Address = "$F$15" Then Call 担当者情報総合 End If If Range("$F$18").Value = "確認申請" Then Call 確認申請関係シート表示 End If If Range("$F$18").Value = "確認申請" Then Call 確認シートコピー End If If Range("$F$18").Value = "確認申請" Then Call 電子行政選択表示 End If If Range("$F$18").Value = "確認申請" Then Call 行政メッセージ End If If Target.Address = "$D$18" Then Call 審査保存1 End If End Sub 以上となります。 「F18」に「確認審査」を表示させても全てのコードが上手く行くように解決できる方法を教えてください。宜しくお願い致します。
質問日時: 2024/03/06 13:07 質問者: エクセル小僧
ベストアンサー
1
0
-
ExcelのVBAコードについて教えてください。
作業ブックのシートに下記のコードを設定しております。 If Target.Address = "$F$15" Then Call 担当者情報総合 End If このコードは、セルF15に不特定の文字が表示されるとマクロ「担当者情報総合」が実行されますが、 このコードに「指定シート名」を追加できる方法を教えてください。 指定シート名は「質疑」としてください。 同じく If Range("$F$18").Value = "確認申請" Then Call 確認申請関係シート表示 End If このコードは、セルF18に「確認申請」と文字が表示されるとマクロ「確認申請関係シート表示」が実行されますが、 このコードに「指定シート名」を追加できる方法を教えてください。 指定シート名は「質疑」としてください。 以上となります。 宜しくお願い致します。
質問日時: 2024/03/05 09:03 質問者: エクセル小僧
ベストアンサー
4
1
-
エクセルVBAの配列について
VBA初心者です。 ワークシートのリストを配列に取り込むに当たって 特定の列を一挙に取り込むにはどうすれは良いでしょうか。 Array_data(,3)=range(cells(1,7),range(cells(rows.count,7).end(xlup).row,7) とか Array_data.columns(3)=range(cells(1,7),range(cells(rows.count,7).end(xlup).row,7) を試してみたのですがうまくいきません。 よろしくお願いします。
質問日時: 2024/03/04 16:21 質問者: eHiro401
解決済
1
0
-
エクセルvbaについて
tatsumaru77様 以前投稿した内容で転記の追加をしたいのですが、内容は別ファイルへの転記をB列の1行目から添付の内容をお願いします。A列の転記内容はそのままでいいです。 AA0000Z00001* B列にはS列とU列の転記はなしです。 それとこのコードだと転記した後に、もう一度転記処理を行うと最初に転記したものが消えてしまいます。一度転記したものは消さずにその下から転記されるようにしたいです。A列B列も同じようにです。 自分で変更してみましたが、うまくいきません。 申し訳ありませんが、よろしくお願いいたします。 Public Sub 別ファイルへ転記() Dim fpath As String Dim wb As Workbook Dim ws1 As Worksheet Dim wb2 As Workbook Dim ws2 As Worksheet Dim maxrow1 As Long Dim row1 As Long Dim row2 As Long Set ws1 = ActiveSheet fpath = "C:\Users\t-tai\OneDrive\デスクトップ\図番\図番転記.xlsx" Set wb2 = Nothing For Each wb In Workbooks If wb.Name = "図番転記.xlsx" Then Set wb2 = wb Exit For End If Next If wb2 Is Nothing Then Set wb2 = Workbooks.Open(fpath) End If Set ws2 = wb2.Worksheets(1) ws2.Cells.ClearContents row2 = 1 maxrow1 = ws1.Cells(Rows.Count, "C").End(xlUp).Row For row1 = 13 To maxrow1 If ws1.Cells(row1, "A").Value = "○" Then ws2.Cells(row2, "A").Value = ws1.Cells(row1, "C").Value & ws1.Cells(row1, "E").Value & ws1.Cells(row1, "K").Value & _ ws1.Cells(row1, "O").Value & ws1.Cells(row1, "S").Value & ws1.Cells(row1, "U").Value & "*" row2 = row2 + 1 End If Next or row1 = 13 To maxrow1 If ws1.Cells(row1, "A").Value = "○" Then ws2.Cells(row2, "B").Value = ws1.Cells(row1, "C").Value & ws1.Cells(row1, "E").Value & ws1.Cells(row1, "K").Value & _ ws1.Cells(row1, "O").Value & "*" row2 = row2 + 1 End If Next End Sub
質問日時: 2024/03/02 01:11 質問者: Wrangleruk
ベストアンサー
6
0
-
エクセルのマクロについて教えてください。
シート名「審査」に下記のコードを設定しておりますが、 下記のコードが上手く実行されない原因の解決方法を教えてください。 下記のコードは指定セル値の変更により指定マクロが実行されますが、 例えば 一番最初に セルF15を変更すると上手く指定マクロが実行されます、その後、セルF18を変更した場合は、指定マクロが実行されません、同じくセルD18を変更した場合もマクロが実行されません。 違うパターンで 最初にF18を変更するとマクロが実行され、その後、F15や D18を変更してもマクロが実行できません。 もう一つ違うパターンで 最初にD18を変更するとマクロが実行され、 その後、F15やF18を変更するとマクロが実行されません。 結論として、F15・F18・D18のどれか一つを変更した後は、残りのセルを変更してもマクロが実行されないのです。 解決方法を教えてください。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$F$15" Then Call 担当者情報総合 End If If Target.Address = "$F$18" Then Call 担当者メッセージ End If If Target.Address = "$D$18" Then Call 審査保存1 End If End Sub 上記のコードは指定セル値に不特定の文字が表示された時に指定マクロが実行出来るようにしてますが、上手く実行できません。 その他のコードは上手く実行できます。 原因は上手く実行されないコードは不特定の文字の表示 上手く実行できるコードは特定の文字の表示にあるのでしょうか? 宜しくお願い致します。 以上となります。 宜しくお願い致します。 Visual Basic | Excel・163閲覧・25
質問日時: 2024/03/01 17:04 質問者: エクセル小僧
ベストアンサー
2
0
-
Excel関数またはVBAでの質問になります
セル内の文章内で"[説明]"を先頭に空白までを抜粋して別のセルに表示できませんか? LEFT・MID・RIGHT・FIND関数は試しました =MID(B2,FIND("[説明]",B2),60) =LEFT(B2,60) 表示させる文字数が各セルでまちまちなので指定ができません 指定してしまうと他の項目まで表示してしまうためできれば説明文のみが希望です なので最後の空白または次の[]手前までで〆れば 説明文章のみ表示できるかなと思ったのですが(;^_^A ちなみに関数では表示のみですがVBAでは転記できるのでしょうか? B列に貼り付けたらC列に[説明]から空白までまたは次の[]手前までが転記出来たらありがたいです
質問日時: 2024/02/29 16:06 質問者: kacky76
解決済
5
1
-
VBA 複数の各シートに行を追加したいです
お世話になっております。 複数の各シートに行を追加したいです。 コードを考えてみました。 以下のコードで相違ないでしょうか。 Sub Test2() Dim Wb1 As Workbook, Wb2 As Workbook Dim Ws1 As Worksheet, Ws2 As Worksheet Dim LastRow1 As Long, LastRow2 As Long Dim sheetNames As Variant Dim i As Integer ' ソースのWorkbookを定義 Set Wb1 = Workbooks("Book1.xlsm") ' ターゲットのWorkbookを定義 Set Wb2 = Workbooks("Book2.xlsm") ' シート名の配列を定義 sheetNames = Array("Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6", "Sheet7", "Sheet8", "Sheet9", "Sheet10", "Sheet11", "Sheet12", "Sheet13", "Sheet14") ' 各シートにループ For i = LBound(sheetNames) To UBound(sheetNames) ' ソースのWorksheetを定義 Set Ws1 = Wb1.Sheets(sheetNames(i)) ' ターゲットのWorksheetを定義 Set Ws2 = Wb2.Sheets(sheetNames(i)) ' 最終行を見つける LastRow1 = Ws1.Cells(Ws1.Rows.Count, "C").End(xlUp).Row LastRow2 = Ws2.Cells(Ws2.Rows.Count, "C").End(xlUp).Row ' コピーと挿入 Ws1.Rows("2:" & LastRow1).Copy Ws2.Rows(LastRow2 + 1).Insert Shift:=xlDown ' クリップボードをクリア Application.CutCopyMode = False ' オブジェクト参照を解放 Set Ws1 = Nothing Set Ws2 = Nothing Next i ' オブジェクト参照を解放 Set Wb1 = Nothing Set Wb2 = Nothing End Sub ご回答をお待ちしております。 どうぞ宜しくお願い申し上げます。
質問日時: 2024/02/28 22:09 質問者: yuri_7
解決済
2
0
-
VBA 別ブックからコピペしたいのですが、軽くしたいです
VBAかなり初心者です。 シンプルなVBAのフォーマットを作成してみましたが、とっても遅いです。 色々調べたものの、自分でやりたいことが軽いコードでできませんでした…。 1.別のブックは毎回ブックネームが異なるため、ファイルから選択する形式を希望 (今回はREPORT.xlsxのFinal Dataシートより) 2.そのブックの列ごとコピーして、このVBAが入っているブック(Book1.xlsm)のDataシートに貼付けをしたい ************************************************************************* Sub Sample2() '別ブックを開く Dim OpenFileName As String OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") If OpenFileName <> "False" Then Workbooks.Open OpenFileName End If 'データをコピー 上記で選択して開いた別ブック Windows("REPORT.xlsx").Activate a = Sheets("FinalData").Select Columns("A:A").Select Application.CutCopyMode = False Selection.Copy 'データをペースト Windows("Book1.xlsm").Activate Sheets("Data").Select Columns("A:A").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1").Select Application.CutCopyMode = False Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove End Sub ************************************************************************ いくつか速くできるようなQ&AのWEBページがあったのですが、なかなかうまく回りませんでした…。 コードを教えていただけると大変助かります。 何卒よろしくお願いいたします。
質問日時: 2024/02/26 18:41 質問者: Sakokosan
解決済
3
0
-
VBA 別ブックから条件に合うものを転記したいです
上の表を埋めるため、別ブックの下の表から条件に合うセルを転記し、また、空白のセルに[x]を入れたいです。 東京-りんご セルB2に入るのはa(B4) セルC2、D2はx VBA初心者の為、なかなか上手く行かず、、、 ご教授よろしくお願いします。
質問日時: 2024/02/25 21:39 質問者: moff12010816
ベストアンサー
3
0
-
配列のペースト出力結果の書式について
配列のペースト出力結果の書式について、どうも書式が反映されなくて困っております。 dim AllmydataArr as Variant dim SourceRng as range, TargetRng as range wbとmbは それぞれのBookのパス先です Set SourceRng = Wb.Worksheets("sheet5").UsedRange AllmydataArr = SourceRng Set TargetRng = mb.Worksheets("sheet1").Range("A1") TargetRng.Resize(UBound(AllmydataArr, 1), UBound(AllmydataArr, 2)) = AllmydataArr と現在このようにResizeとUBoundをつかって配列AllmydataArrのペースト出力結果を出しております。 このままでは値貼り付けで終わってしまい、書式の移動ができておりません。 NumberFormat を使おうにもエラーがでてしまいます。 どのようにVBAを表現すると元のSheetにある書式が反映されるようになるのでしょうか。 教えていただけると幸いです。よろしくお願いいたします
質問日時: 2024/02/25 14:50 質問者: ひかりりあ
ベストアンサー
3
0
-
for 文の 繰り返し処理に使えるのかどうかについて
ExcelのVBA について質問があります。 1つのブックの4つのシートに対して4回違うブックのシートからコピぺを繰り返そうと思っております。 Dim Wb1 As Workbook, Wb2 As Workbook, Wb3 As Workbook, Wb4 As Workbook Dim FullPath1 As String, FullPath2 As String, FullPath3 As String, FullPath4 As String Dim SourceRng1 As Range, SourceRng2 As Range, SourceRng3 As Range, SourceRng4 As Range Dim TargetRng1 As Range, TargetRng2 As Range, TargetRng3 As Range, TargetRng4 As Range Worksheets("kyu").Cells.Clear Worksheets("nyu").Cells.Clear Worksheets("gai").Cells.Clear Worksheets("sesho").Cells.Clear と、dimでの設定が4種類が4回、元のシートのクリアが4回なので、悩んだ挙句 Dim i As Integer For i = 1 To 4 SourceRng(i).Copy TargetRng(i).PasteSpecial Paste:=xlPasteColumnWidths TargetRng(i).PasteSpecial Paste:=xlPasteValues TargetRng(i).PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False i = i + 1 Next としました。 .PasteSpecial Paste:=pasteall ではないのは、行うと図にされて貼り付け先に貼り付けされてしまうからです。 結局のところ、Dimで指定した数字は(i)としてfor文で可能なのか Worksheetsは.Cells.Clearでまとめて表現できるのか .PasteSpecial Paste も短く表現できないか 浅学なので、全く解決策が見いだせません。現在は1から4まで直線的にコピペをVBAで行っております。 簡略化できると嬉しいです。 まずは可能かどうか、そして解決方法を教えていただけると嬉しいです よろしくお願いいたします。
質問日時: 2024/02/25 09:52 質問者: ひかりりあ
ベストアンサー
10
1
-
Excelで画像URLを1つずつセルに振り分けたい
ExcelのA1に下記のような画像URLが複数あり、改行された状態で保存されています。 B1,B2,B3,B4,B5に、画像URLを1つずつセルに振り分けたいです。 下記のようにB1に関数を入れ、B1はうまくいきましたが、 B2,B3,B4,B5に繰り返しが出来ていません。 =FILTERXML("<t><s>" & SUBSTITUTE(A1, CHAR(10), "</s><s>") & "</s></t>", "//s") どのように書き替えれば良いでしょうか? よろしくお願いいたします。 https://yahoo.co.jp/images/I/51zE4g7B3XS._AC_.jpg https://yahoo.co.jp/images/I/51mw3kiGQHL._AC_.jpg https://yahoo.co.jp/images/I/518nTESXpUL._AC_.jpg https://yahoo.co.jp/images/I/51s7tENUsoL._AC_.jpg https://yahoo.co.jp/images/I/51Ka9evm3CL._AC_.jpg https://yahoo.co.jp/images/I/51GPh29MXzL._AC_.jpg https://yahoo.co.jp/images/I/51r0QUBwEVL._AC_.jpg"
質問日時: 2024/02/24 01:59 質問者: tutuu
ベストアンサー
2
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Visual Basic(VBA)】に関するコラム/記事
-
日常会話の「結構です」「大丈夫です」は否定・肯定どっちの意味?言葉遣いの注意点
日常会話で使うことが多い「結構です」や「大丈夫です」という言葉。複数の意味を持つため、自分の意図と異なる内容で相手に伝わってしまったり、相手がどんな意味で言っているのかはっきりせず困った経験がある人も...
-
自宅かお店か…気になる「保管付き宅配クリーニング」のクオリティや保管状況の実態
このところ、クリーニングに出した布団や衣類を一定期間店舗で預かる「保管クリーニング」というサービスが注目されている。実店舗での依頼のみならず、最近ではネット注文すると、回収・保管・配送まで行ってくれる...
-
メダロット:第234話「Vol.234※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
今さら聞けない物流の2024年問題とは?物流法の改正案はどんな内容?
2024年4月から、トラック運転手の時間外労働を年間960時間までとする規制が適用となる。違反した場合は30万円以下の罰金または6ヵ月以下の懲役が科せられる。働き方改革の一環として、労働基準法によって定められた...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロについて教えてく...
-
エクセルのマクロについて教えてく...
-
VBA listBoxについて
-
ExcelのVBAコードについて教えてく...
-
エクセルのマクロについて教えてく...
-
VBAを使用した時間管理
-
左右の表のキー位置を合わせたい
-
【VBA】マクロの入ったファイルと同...
-
エクセルの合計を自動で表示させた...
-
VBA 複数の各シートに行を追加した...
-
VB.netのADOってなんですか?
-
VBAコードについて教えてください、...
-
エクセルVBAの配列について
-
エクセルVBAにて =A1=B1とすれば A1...
-
ExcelのVBAコードについて教えてく...
-
VBAのコードを教えてください
-
Outlookの「受信日時」「件名」「本...
-
ユーザーフォームに別シートからデ...
-
VBAの質問になります Userform内で
-
ExcelのVBAコードについて教えてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA マクロ シート名を変えず...
-
VBA
-
VBA 指定した回数分、別シートにコピー
-
Outlookの「受信日時」「送信者アド...
-
Excelのマクロ(VBA)は、同じソー...
-
郵便番号検索APIにてget ElementByT...
-
outlookの受信日時、本文などをExce...
-
【マクロ】プルダウンが設定してあ...
-
引数に数値、文字列の混在
-
VBA実行後に元のセルに戻りたい
-
エクセルVBAでデータ転記
-
近似した文字列を置換するエクセル...
-
for 文の 繰り返し処理に使えるのか...
-
ユーザーフォームに別シートからデ...
-
Excel VBAで値を変えながら、pdf出...
-
Outlookにて既にウィドウ単体で開い...
-
【VBA】マクロの入ったファイルと同...
-
メールの件名をデコードしたい
-
Outlookの「受信日時」「件名」「本...
-
VBA 何かしら文字が入っていたら
おすすめ情報