回答数
気になる
-
ベストアンサー
1
0
-
ExcelのVBAコードについて教えてください。
マクロコードがあります。 このマクロをマクロ実行では無く、マクロを設定している作業ブックを開いたタイミングで実行出来るように VBAコードを「ThisWorkbook」に設定する方法を教えてください。 詳しいコード共に親切に教えて頂ける方、宜しくお願い致します。 マクロ Sub 番号コピー() With Application.FileDialog(msoFileDialogFolderPicker) If .Show = True Then GetIDNuber (.SelectedItems(1)) End If End With End Sub Function GetIDNuber(s As String) As String Dim temp Dim IDNumber As String temp = Split(s, "\") temp = Split(temp(UBound(temp)), "_") SetClipBoard (temp(0)) End Function Sub SetClipBoard(s As String) Dim buf As String, buf2 As String, CB As Object Set CB = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") With CB .SetText s ''変数のデータをDataObjectに格納する .PutInClipboard ''DataObjectのデータをクリップボードに格納する .GetFromClipboard ''クリップボードからDataObjectにデータを取得する End With End Sub このマクロ実行すると第が開き、指定したフォルダ名の「_」から前の番号をコピーできるようになっております。 宜しくお願い致します。
質問日時: 2023/09/21 13:01 質問者: エクセル小僧
ベストアンサー
1
0
-
Excel VBA素人です。VBAで図形のセンタリング方法ご教示下さい
Excel VBA素人です。VBAで図形をセンタリングする為のコードご存じの方教えてください。 C1:G8には文字(アルファベット)が入っています。 文字を検索し「A」のみの中央に図形の「〇」(※緑色)を付けたく、以下のコードを作ってみましたが、添付の写真のように、セルの中央に「〇」が付きません。Forループを使わない場合は上手くいくのですが。(尚、図形削除のボタンは無視してください) 図形を文字中央に移動するために必要なコード(Forループ内で)をご教示ください。 以下現状のコードです。 Sub まる() Dim n As Integer Dim d As Integer s = 0 For d = 1 To 5 For n = 3 To 8 If Cells(d, n) = "A" Then ActiveSheet.Shapes("まる").Copy Cells(d, n).Select ActiveSheet.Paste End If Next n Next d End Sub 素人ですので丁寧なご指導をお願いいたします。
質問日時: 2023/09/19 10:39 質問者: さつまいも----------。
ベストアンサー
2
0
-
エクセルのマクロについて教えてください。
エクセルのマクロについて教えてください。 印刷設定をマクロで設定することは可能でしょうか。 マクロを実行して 作業ブックの指定シートをページレイアウトが「2in1」「両面」に出来る方法があれば教えてください。 指定シート名は「1号確認」「4号完了」の2つです。 詳しいコード共に親切に教えて頂ける方、よろしくお願いします。
質問日時: 2023/09/15 09:38 質問者: エクセル小僧
ベストアンサー
1
0
-
Vba Cells.Findについて教えてください
いつもお世話になります 今、ひとつのシートにユーザ定義関数が二つ有って それぞれの関数は定義されているセルの下に表を持っています Application.Volatileを使って自動計算をさせ Row0 = Application.ThisCell.Row sht.Cells(Row0, 1).Activate Call FindColumnWhole("周期", Row1, Col1) その関数以下の行から検索させていますが どうしても上の表の文字を検索してしまいます Afterが機能しないので困っています もし分かりましたら教えてください なお、自動計算にはこんな定義もしています Dim targetCell As Range Set targetCell = Application.Caller Set sht = targetCell.Parent また、Findのサブルーチンは以下のようにしています Sub FindColumnWhole(ByVal SearchM As String, Findrow As Integer, Findcol As Integer) Dim FoundCell As Range, FirstCell As Range, Target As Range nError = True Set FoundCell = Cells.Find(what:=SearchM, After:=Cells(Row0, 1), LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _ MatchCase:=False, MatchByte:=False, SearchFormat:=False) If FoundCell Is Nothing Then 'MsgBox "検索文字(" + SearchM + ")が見つかりません" nError = False Exit Sub Else Set FirstCell = FoundCell Set Target = FoundCell Findrow = FoundCell.Row Findcol = FoundCell.Column End If End Sub いつもありがとうございます ちょっと分かりづらい説明になってしまいましたが よろしくお願い申し上げます
質問日時: 2023/09/13 19:47 質問者: 公共ごま
ベストアンサー
1
0
-
xmlドキュメントから別拡張子で保存したい
★以下エラー箇所★にて、エラーが発生してしまい修正ができず困っています。 エラー内容は、 「実行時エラー1004,SaveAsメソッドは失敗しました'_Workbook'オブジェクト] ファイルの種類は、xmlドキュメント(エクセル状態) Private Sub ファイル名作成() Dim lastRow As Long Dim supplierNames As Object Dim supplierName As Variant ' データの最終行を取得 lastRow = Cells(Rows.Count, "B").End(xlUp).Row ' 仕入先名称を格納するコレクションを作成 Set supplierNames = CreateObject("Scripting.Dictionary") ' データの重複を排除してコレクションに追加 For i = 2 To lastRow ' ヘッダー行を除外 If supplierNames.Exists(Cells(i, "B").Value) = False Then supplierNames.Add Cells(i, "B").Value, 1 End If Next i ' コレクションの要素をファイル名として連結 For Each supplierName In supplierNames.Keys fileName = fileName & supplierName & "," Next supplierName ' ファイル名の最後のカンマを削除 fileName = Left(fileName, Len(fileName) - 1) ' ファイル名に使用できない文字を削除する fileName = ReplaceInvalidFileNameCharacters(fileName) ' ファイルを保存 ' On Error Resume Next ' ActiveWorkbook.SaveAs fileName:=ActiveWorkbook.Path & "\" & "単価変更リスト_" & Format(Date, "yyyymmdd") & "_" & fileName, _ ' FileFormat:=xlOpenXMLWorkbook ★以下エラー箇所★ ActiveWorkbook.SaveAs fileName:=ActiveWorkbook.Path & "" & "単価変更リスト_" & Format(Date, "yyyymmdd") & "_" & fileName & ".xlsx", _ FileFormat:=xlOpenXMLWorkbook ' If Err.Number > 0 Then ' MsgBox ("ファイルを選択してください") ' End ' End If '単価リストブックアクティブ用 priceListBook = ActiveWorkbook.Name End Sub
質問日時: 2023/09/12 11:08 質問者: tanukiin
解決済
4
0
-
wordのマクロで思うように行きません(ファイル削除ができない)
wordの差し込み印刷で、PDFファイルで保存するマクロを作成したのですが、 保存先の「出力」フォルダーに、PDFファイルとワードファイルが作成されます。 不要なワードファイルを削除しようと、 Kill myMainDoc.Path & "\" & "出力\" & myFileName & ".docx" を入れているのですが、ワードファイルが削除できません。 なぜでしょうか? ------------------ Sub 差し込み印刷_レコード毎に別ファイルで保存() Dim myMainDoc As Document: Set myMainDoc = ActiveDocument With myMainDoc.MailMerge '------------------------------------------- 'ファイル名の指定 '------------------------------------------- Dim myFieldName As String myFieldName = "出力ファイル名" If IsValidFieldName(.DataSource.FieldNames, myFieldName) = False Then MsgBox "フィールド名が間違っています", vbExclamation Exit Sub End If '------------------------------------------- '差し込み印刷の設定 '------------------------------------------- '新規文書に書き出す .Destination = wdSendToNewDocument '空白の差し込みフィールドを印刷しない .SuppressBlankLines = True '------------------------------------------- '本処理 '------------------------------------------- Dim i As Integer 'レコード番号 Dim iMax As Integer '対象となる最終レコード番号(レコード数ではない) .DataSource.ActiveRecord = wdLastRecord iMax = .DataSource.ActiveRecord Dim j As Integer: j = 0 '作成したファイルの通し番号 For i = 1 To iMax '全レコードを対象にループ処理 'レコードの指定(1つのレコードに限定) With .DataSource .FirstRecord = i .LastRecord = i .ActiveRecord = i End With On Error Resume Next .Execute If Err = 0 Then '------------------------------------------- 'レコードが対象として選択されている場合:差し込み印刷を実行 '------------------------------------------- j = j + 1 Dim myFileName As String: myFileName = .DataSource.DataFields(myFieldName).Value If myFileName = "" Then myFileName = "★" & myFieldName & ":不明★" myFileName = myFileName 'ファイル名:通し番号+指定したフィールドの値 '新規文書に名前をつけてdocx形式で保存 Dim myNewDoc As Document: Set myNewDoc = ActiveDocument myNewDoc.SaveAs FileName:=myMainDoc.Path & "\" & "出力\" & myFileName & ".docx", _ FileFormat:=wdFormatXMLDocument, _ AddToRecentFiles:=False Dim myFilePath As String '保存先のフォルダパス Dim myDoc As Document Dim intPos As Integer 'ピリオドの位置 Set myDoc = ActiveDocument '拡張子のない名称を取得 myFileName = myDoc.Name intPos = InStrRev(myFileName, ".") myFileName = Left(myFileName, intPos - 1) 'PDFファイルで保存 myFilePath = myMainDoc.Path 'Wordファイルと同じフォルダ myDoc.ExportAsFixedFormat _ OutputFileName:=myFilePath & "\" & "出力\" & myFileName & ".pdf", _ ExportFormat:=wdExportFormatPDF Kill myMainDoc.Path & "\" & "出力\" & myFileName & ".docx" Set myDoc = Nothing myNewDoc.Close DoEvents Set myNewDoc = Nothing Else '------------------------------------------- 'レコードが対象として選択されていない場合:エラー発生 '------------------------------------------- Err.Clear End If Next i End With Set myMainDoc = Nothing End Sub Function IsValidFieldName(myFieldNames As Object, myFieldName As String) As Boolean IsValidFieldName = False Dim myName As Object For Each myName In myFieldNames If myName.Name = myFieldName Then IsValidFieldName = True Exit For End If Next End Function
質問日時: 2023/09/12 08:34 質問者: Ninjya2436
解決済
3
0
-
Vba ユーザ定義関数について教えてください
いつもお世話になります ユーザ定義関数は使ったことないので教えてください 今、他人がプログラムの修正に取り組んでいます 二つのシートにユーザ定義関数があり、 Application.Volatileを定義して自動再計算関数にしています さらに下記のような定義も行っています Dim targetCell As Range, sht As Worksheet Set targetCell = Application.Caller '...2個のシートのマクロを計算する Set sht = targetCell.Parent '...それぞれのマクロのシート名 さて、ユーザ定義関数は各シートのセル上で =@calc_myu_x(I39,J39) として使われているのですが、この@マークの意味が分かりません Webでいろいろ調べましたがどこにも出ていないのですが 何か意味が有るのでしょうか? 分かりましたら教えてください 以上、宜しくお願い申し上げます
質問日時: 2023/09/11 11:22 質問者: 公共ごま
ベストアンサー
1
1
-
【VBA】エクセルで最後の不要な改行コードを削除するコードについて
Excel(office365)を使っている者です。 以下はクリップボードに値のみをコピーするコードですが,範囲内に空白行があった場合,クリップボードには余計な改行が入ってしまいます。 最後の余計な改行を消したいため,ネットで調べて,For Each ary In Selection~nextを入れたのですが,型が一致しないということでエラーになってしまいます。どうすれば余計な改行を削除できるか,ご教示願います。よろしくお願いいたします。 --------------------------------------------------------------------------- Sub 値のみコピー() Dim ary As Variant ary = Range("A10:J30").Value Dim myDO As New DataObject Dim i As Long, j As Long Dim strBuf As String For i = 1 To UBound(ary, 1) For j = 1 To UBound(ary, 2) strBuf = strBuf & ary(i, j) Next strBuf = strBuf & vbCrLf '改行コードを付加 For Each ary In Selection If Len(ary.Value) > 0 Then Do While Right(ary.Value, 1) = vbLf ary.Value = Left(ary.Value, Len(ary.Value) - 1) Loop End If Next Next myDO.SetText strBuf myDO.PutInClipboard Set myDO = Nothing End Sub
質問日時: 2023/09/08 18:41 質問者: qazxcvfr4
ベストアンサー
3
1
-
【VBA】エクセルで値のみクリップボードにコピーするコードについて(貼り付け時の空白削除)
office365のExcelを使っている者です。 以前ここで,エクセルで選択した範囲の値のみをクリップボードにコピーする以下のコードを教えていただき,現在も使用しております。 適切に動いていると思いますが,一点気になることがあります。 クリップボードにコピーされたデータを貼り付けると,横方向のセルの区切り(エクセルをcsvにしたときのコンマ区切りに相当するもの)にスペースのような空白(以下「空白」)が入ってしまい、間延びした感じになってしまいます。 「空白が削除された状態でクリップボードにコピーされる」又は「クリップボードにコピーされたデータにつき空白が削除された状態にする」というコードにするには,どのようにしたら良いかご教示ください。 Sub 値のみコピー() Dim ary As Variant ary = Range("A10:J30").Value '選択範囲の値を一旦配列に格納 ' Dim myDO As New DataObject Dim myDO As Object Set myDO = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") Dim i As Long, j As Long Dim strBuf As String For i = 1 To UBound(ary, 1) For j = 1 To UBound(ary, 2) strBuf = strBuf & ary(i, j) & vbTab Next strBuf = Left(strBuf, Len(strBuf) - 1) '右のタブコードを削除 strBuf = strBuf & vbCrLf '改行コードを付加 Next myDO.SetText strBuf myDO.PutInClipboard Set myDO = Nothing End Sub
質問日時: 2023/09/06 23:37 質問者: qazxcvfr4
ベストアンサー
3
1
-
VBA 毎日取得するデータを反映させる方法 の応用
先日こちらで質問してすごくぴったりなVBA構文を教えていただきました! で、またもや問題が出てきました。 教えてもらってばかりで申し訳ないのですが、教えてください。 先日いただいた回答は Sub CSV入力1() Dim varFileName As Variant Dim intFree As Integer Dim strRec As String Dim strSplit() As String Dim i As Long, j As Long Dim maxrow As Long Dim wrow As Long varFileName = Application.GetOpenFilename(FileFilter:="CSV〇〇店売上日計(*.csv),*.csv", _ Title:="CSVファイルの選択") If varFileName = False Then Exit Sub End If maxrow = Cells(Rows.Count, "A").End(xlUp).Row '最終行取得 wrow = maxrow + 1 '書き込み開始行 intFree = FreeFile '空番号を取得 Open varFileName For Input As #intFree 'CSVファィルをオープン i = 0 Do Until EOF(intFree) Line Input #intFree, strRec '1行読み込み i = i + 1 '最初の1~14行はスキップする。15行以降を処理する If i > 14 Then strSplit = Split(strRec, ",") 'カンマ区切りで配列へ For j = 0 To UBound(strSplit) Cells(wrow, j + 1) = strSplit(j) Next wrow = wrow + 1 End If Loop Close #intFree End Sub 毎日送られてくるデータをコツコツ取得する分には十分なのですが、 例えば月曜日のデータを取得するのを忘れて火曜日に取得しようとするとできないようです。 (うちの会社が本社は日曜日が休みですが、営業所は日曜日開いているので、どうしても日曜のデータは月曜に取り込むことになります) 指定したファイルを順番に取得してけるような構文などありましたら教えてもらいたいです。どうぞよろしくお願いいたします。
質問日時: 2023/09/05 16:32 質問者: KYAC
ベストアンサー
2
0
-
xlsmファイルで、別名ファイルを保存する方法
Sub ファイル保存() 保存場所 = ActiveWorkbook.Path & "\" Application.DisplayAlerts = False Thisworkbook.SaveAs 保存場所 & "あたらしいファイル名称" & ".xlsm" End Sub このマクロを実行すると、マクロを含むファイルの名前が、あたらしいファイル名称という名前になってしまいます。 やりたいのは、マクロを含むファイルはそのままの名前で、あたらしいファイル名称.xlsm というファイルを作成することです。 どうすればよいか教えてください。
質問日時: 2023/09/04 21:25 質問者: Ninjya2436
解決済
1
0
-
Vba Windows上で開いているファイル名を取得したい
いつもお世話になります 今、廉価版のCadソフトをコントロールしたのですが、このソフト 立ち上げるとキーにな反応しないというか、どこかをクリックしないと うまくコントールしません 使う前にメッセージを出してどこかをクリックしてもらえれば問題ないのですが AppActivateで使うキャプション名もWebを参考に取得できるようにしましたが このプログラムは出来ませきゃぷちおんめいぷちおんめい キャプション名、"ARES Standard 2024”にしかならずエラーになります ちなみにキャプション名は 新規ファイルは、"ARES Standard 2024 - [NONAME_0.dwg]" 既存ファイルは、”ARES Standard 2024 - [C:/temp/F1階 D中間スラブ 抵抗モーメント図.dwg]" が正解です なんとかキャプション名が分かればコントロール出来るのです! (クラス名は分かっています) ShowWindowやSetForegroundWindowも使ってみましたが 立ち上げりのウインドウハンドルは目的ではないウインドウハンドルを持ってきて 真っ白な画面になってしまいます どこかクリックして動かせば正常なのですが、ファイル名(NONAMEも含めて)さえ分かれば この手間をなくせます そこで現在Windows上で開いているファイル名を拾え無いかと相談に伺いました ちょっと分かりづらい文章になってしまいました、分かりましたら是非教えてください 特定なオペレーションでのプログラムであれば「こうしなさい」で終わるのですが 不特定多数の人がどうのように使ってもある程度は許容出来るソフトを目指していますので どうかよろしくお願い申し上げます
質問日時: 2023/09/04 18:24 質問者: 公共ごま
ベストアンサー
1
0
-
教えて下さい!VBAで複数Excelを1つのブックにまとめたいです。
はじめまして。VBA初心者のため、お知恵を貸してください。 1つのフォルダの中に、いちご10月、いちご11月、みかん9月、なし8月、、という形で、月別のフルーツの売り上げデータが複数あります。 このExcelを、フルーツ別に1つのブックにまとめたいのですが、どのようなマクロにすればよいでしょうか。→例 いちご売上高 というExcelに、10月、11月というシートがついているイメージ 1、まとめたエクセルには、フルーツ名と売上高(例 いちご売上高.xlsx)というファイル名にしたいです。 2、月別のExcelに、シートは1つだけです。(月がシート名。例 10月) 3、フルーツによって、売上がない月もあります。 Excelの数が多く、手作業に時間がかかってしまうので マクロでの作業に変更したいです。 よろしくお願いします。。
質問日時: 2023/09/04 09:30 質問者: kappasan4646
ベストアンサー
3
0
-
基本情報技術者の擬似言語プログラム このプログラムの答えは(ウ)です。でも配列に格納されてる順番が良
基本情報技術者の擬似言語プログラム このプログラムの答えは(ウ)です。でも配列に格納されてる順番が良く分からなくて困ってます。 教えて頂けるととてもありがたいです。 array に 後ろから格納されて行く事が分かります。 例えばグラフ3の自分を始点となる辺が1つもない頂点 E を最初に選んだとすると,プログラムの9行目で array [グラフの項点の数ーcount+1]← curr.label を実行すると, array[6ー1+1]←E を代入することになりますが,そうすると array[4]←E になりますので 出力結果と異なります。 なぜでしょうか 分かる方がいたらよろしくお願いします。
質問日時: 2023/09/03 09:48 質問者: サノくん
解決済
2
1
-
入力した文字を全て自動で全角にしてくれるコード
エクセルで「指定した行」に「入力した文字」を『自動的に全角になる』ようにするVBAコードを教えて下さい 入力した文字:全ての文字(漢字、ひらがな、カタカナ、記号、英数字) 指定した行:B列全体 B列のどのセルにおいても、画像1-カ-Aをと入力したら入力したセルに「画像1-カ-A」と全て全角に変換されて入力されるようにしたいです。 行いたいシートの名前を右クリックしてコードの表示 左側の一覧から行いたいシートをダブルクリック コードをコピペ でよいのですか? VBAは覚えて多少なりとも使えるように理解できれば便利でしょうが、 難しくてなかなか理解できません。
質問日時: 2023/09/03 07:16 質問者: satopower
ベストアンサー
3
0
-
離れた複数のセルのどこかに文字が入った場合に、⚫が表示されるようにしたいです
資格の有無と有効期限管理をするにあたり、 有効期限を入力すると、資格の有無を表すセルに●が表示されるように設定したいです。 現状、A1(←資格の有無を表示するセル)には =IF(DG17<>"","●","") と入力しうまく反映できていますが(←DG17は有効期限を入れるセル) とある資格は細かい分類があるため有効期限を入力するセルが複数存在します。 例えば、BE17に●を表示させたいのですが 有効期限を入力するセルは FV17・FZ17・GD17 の3か所に点在しています。 このいずれかに有効期限をいれた場合、●がつくようにしたいのです。 このような場合に使用できる数式はありますでしょうか。 よろしくお願いいたします。
質問日時: 2023/09/01 11:06 質問者: ちきぽん
ベストアンサー
3
0
-
シートモジュールを複数作成することはできるのでしょうか?
全く詳しくないので上手く質問できるか分からないのですが… 1つのシートの中で、かつ、別のエリアで ダブルクリックで記号を表示させたいです。 ①AK6からCG6 間の行に対して、ダブルクリックで○が表示されるようにしたい。 ②AK17からCG500のすべてのセルに対して、ダブルクリックで⚫と◎が表示されるようにしたい 今自分なりに下記をコード?に入れてみたところ、②についてはクリアできたのですが①について追加できず困っています。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("AK17:CG500")) Is Nothing Then Exit Sub With Target Select Case .Value Case "" .Value = "●" Case "●" .Value = "◎" Case "◎" .Value = "" End Select End With End Sub ご教授いただけますでしょうか?
質問日時: 2023/08/30 18:48 質問者: ちきぽん
ベストアンサー
2
0
-
合計数量から引いていく
vbaをネットで検索しながら作成しているのですが、うまくいかず困っています。 お助けいただけたら嬉しいです。 やりたいことは、Y列「複数ロットNo」が空白ではない場合、Q列の「合計数量」を分割していく。 言い換えると、同じ入荷NO(F列)のものを、予定使用数(Z列)に合わせて実際使用数(AA列)に分割していく。 ※添付図面の左から右にしたいです。右図に追加したものは、わかりやすく赤字にしてあります。 ①Y列が「1」の場合、Q列とZ列を比較する。Z列が大きければ、Q列の値をAA列に転記。 ②Y列が「1」で、Q列とZ列を比較してQ列が大きければ、Z列の値をAA列に転記する。 ③1行下がって、Y列が「2」のZ列と、1行上のY列が「1」の「Q列-Z列」を比較する。 Z列が大きければ、Y列が「1」の「Q列-Z列」を転記。 ④Z列が小さければ、Y列が「1」の「Q列-Z列」からY列が「2」のZ列を引く。 合計数量が0になるまで繰り返し。数が余った場合は、同じ入荷NOの最終列に加算。 IFを使用して、作成してみたのですがIFだらけになり非常にわかりにくくなってしまいました。 複数ロットNOは1~5まであり、3まで作成した段階で断念しました。 いい方法があれば、ご教示いただけると助かります。 ----------------------------------------------------------------- Dim m As Long Dim i As Long Dim wSG As Worksheet With wSG For i = 2 To lRowG If .Cells(i, "Y").Value <> "" Then If .Cells(i, "Y").Value = 1 Then If .Cells(i, "Z").Value <= .Cells(i, "Q").Value Then .Cells(i, "AA").Value = .Cells(i, "Z").Value m = .Cells(i, "Q").Value - .Cells(i, "Z").Value If .Cells(i, "H").Value = 2 Then .Cells(i + 1, "AA").Value = m ElseIf .Cells(i, "H").Value = 3 Then If .Cells(i + 1, "Z").Value <= m Then .Cells(i + 1, "AA").Value = .Cells(i + 1, "Z").Value .Cells(i + 2, "AA").Value = m - .Cells(i + 1, "AA").Value Else .Cells(i + 1, "AA").Value = m End If Else .Cells(i + 1, "AA").Value = m End If End If Else .Cells(i, "AA").Value = .Cells(i, "Q").Value End If End If End If Next i End With
質問日時: 2023/08/29 19:53 質問者: tatituteto7410
ベストアンサー
1
0
-
A2~I4179列にあるリストを支社名ごとにシートに分けたいです。 各シート名はA列にある支社名とし
A2~I4179列にあるリストを支社名ごとにシートに分けたいです。 各シート名はA列にある支社名としたい。 各シートごとに分けたリストにはリストの見出しをつけたい。 以下VBAコードで実施するとリストの見出しに該当するA2~I2が支社名シートとして1つのシートになり他のシートのリストに付与されないです。 どこを修正したら良いかご教示お願いします。 Sub SheetSeparation() Dim lastRow As Long Dim i As Long Dim sheetName As String ' シート名「元データ」にデータがある前提 sheetName = "元データ" ' 元データの最終行を取得 lastRow = Sheets(sheetName).Cells(Rows.Count, "A").End(xlUp).Row ' 支社名ごとにシートを作成 For i = 2 To lastRow ' B列の値を取得 Dim companyName As String companyName = Sheets(sheetName).Cells(i, "A").Value ' 支社名のシートが存在しなければ作成 If Not WorksheetExists(companyName) Then Sheets.Add(After:=Sheets(Sheets.Count)).Name = companyName End If ' データをコピーしてシートに貼り付け Sheets(sheetName).Rows(i).Copy Destination:=Sheets(companyName).Cells(Rows.Count, "A").End(xlUp).Offset(1) Next i End Sub Function WorksheetExists(sheetName As String) As Boolean On Error Resume Next WorksheetExists = Not Sheets(sheetName) Is Nothing On Error GoTo 0 End Function
質問日時: 2023/08/29 16:46 質問者: HS83als
解決済
3
1
-
VBA 毎日取得するデータを順番に反映していく方法
1週間程ずっと調べているのですがどうしてもわからず質問させていただきます。 システムから売上日計を集計するとCSVファイルとして出力されます。 ファイル名は20230826160630(西暦年月時分秒)_general_purpose.csvとなります。 そのファイルをエクセルに取込み、毎月の集計を行いたいのです。 例えば 集計するエクセルのSheet1(”データ”と名前を設定しています)に月曜日の日計を取り込むところまではできましたが、火曜日のCSVファイルを取り込もうとしたら月曜日の日計が上書きされてしまいます。 私としては、月曜日のデータの下の行に火曜日のデータ、水曜日のデータが取り込めたらいいなと思っています。 ちなみに売上日計ですので月曜日が10行分のデータだったり、火曜日は15行分のデータだったりします。 例)A1~A10は月曜日のデータが反映 A11~A25は火曜日のデータが反映 A26~A37は水曜日のデータが反映 ▽ ▽ ▽ 1か月分すべてSheet1(”データ”)に反映 わかりにくいかもしれませんが、ご教示お願いいたします。
質問日時: 2023/08/26 16:22 質問者: KYAC
ベストアンサー
6
0
-
vba GetAsyncKeyState関数について
いつもお世話になります 昨日の質問は、fujillinから教わったGetAsyncKeyState関数でうまく行きました ありがとうございました ところでもう一つ質問 下記のようにマウス左クリックとEnterキーでチェックしたところ GetAsyncKeyState(vbKeyReturn)は最初 1 が入ってきます そこでカウントを取ってプログラムは実行していますが何故だか教えていただけると 幸いです errCount = 0 Do If GetAsyncKeyState(vbKeyLButton) <> 0 Then Exit Do ElseIf GetAsyncKeyState(vbKeyReturn) <> 0 Then If errCount > 0 Then Exit Do Else errCount = errCount + 1 End If End If Loop DoEvents 以上、宜しくお願い申し上げます
質問日時: 2023/08/24 12:08 質問者: 公共ごま
ベストアンサー
1
0
-
VBA 「,」・空白・カタカナ等の複数条件のマクロ
いつも皆様ありがとうございます。 前回、VBAで質問させて頂いた内容なのですが条件が変わったところ VBAがエラーとなりました。 理由は空白等複数の条件が変更となったためだと思われます。 やりたいことは ①同じシートのA列にデータを表示させたい ②「,」より前を表示させたい ③文字間に空白がある場合は削除 ④空白セル、ひらがな、漢字、カタカナ(全角半角英数字)はそのまま表示 どなたかよろしくお願いします。
質問日時: 2023/08/23 11:57 質問者: mihomiho34
ベストアンサー
2
0
-
★お手上げ状態です。助けてください。ActiveReportについて
ActiveReportのサブレポート機能で最初のサブレポートエリアだけ何も表示されない ActiveReportのサブレポート機能を利用して会社の社員毎の情報を6件1ページに表示 させようとしています。デザイナの問題かと思い6件から5件に件数を減らしサブレポートの領域を十分にとって 確実に表示できるように変更しましたが1件目のサブレポートのエリアだけ真っ白で何も表示されません 2ページ目以降は設定したサブレポートの数だけちゃんと表示されます。 ★デザイナの領域の問題では無いのかなと思っています。 次にイベントの問題 pageのフッターヘッダーのイベント全て削除。 グループフッター、ヘッダーのイベント全て削除。 ★pageとグループのヘッダー、フッターイベントではない事を確認 次にSQLの確認 1件目からデータが取得できていることを確認 detailのbeforeプリントでme.XXXX.txtに1件目からデータがバインドされていることを確認 ★データはちゃんとバインドされている 以上のことからもう、お手上げ状態です。
質問日時: 2023/08/20 04:27 質問者: 39OK
解決済
1
1
-
VBSでフォルダ内のエクセルデータ削除
いつもお世話になっております VBSでフォルダ内のエクセルデータ削除だけ 全て削除したいのでずが わかる方おしえてくれませんでしょうか
質問日時: 2023/08/19 20:00 質問者: りんごプリン
解決済
1
0
-
ActiveReportのサブレポート機能を利用したときに1ページ目の1サブレポート目が表示されない
ActiveReportのサブレポート機能を利用して会社の社員毎の情報を6件1ページに 表示させようとしているのですが1ページ目の1件目のデータだけタイトルとかバインドデータ とか何も表示されませ。2ページ目以降は6件きちんと表示されます。 ※1.SQLでは1件目もちゃんとデータとってこれています。 ※2.サブレポートはdetailセクションで利用しております ★サブレポートの1ページ目の1件だけ表示されない理由として何か考えられる事ありますか?
質問日時: 2023/08/19 06:10 質問者: 39OK
解決済
1
0
-
VBE でスペースと改行を見えるように設定することって可能でしょうか?Excel です。 カーソルを
VBE でスペースと改行を見えるように設定することって可能でしょうか?Excel です。 カーソルを上下移動する際移動先に行末のスペースがあるのか、すでに改行され何もないのか 見えたら便利だと思うのですがそれらしき設定が見当たらず、、 詳しい方、何卒 お願い申し上げます。
質問日時: 2023/08/19 04:49 質問者: g2saru
解決済
3
0
-
Vba UserFormを前面に出す方法を教えてください
いつもお世話になります 今、Vbaを使ってAutoCad LTに作図(Scriptファイルを使う)するプログラムを作成中ですが 終了後にUserformを前面に出したいと思っています 先日は作図前にAutoCAdを前面に出す方法を教わったのですが今度はExcelのUserformを 前面に出して次のステップに行けるようにしたいと考えています 今のプログラムは Me.Hide '...Excelを最小化 Application.WindowState = xlMinimized Application.Wait [Now() + "00:00:02"] '...2秒待つ '...AutoCadを前面に AppActivate "Autodesk AutoCAD" check = ShowWindow(dwghwnd, 3) SetForegroundWindow dwghwnd '...最前面表示 (作図) Me.Show になっています Me.ShowのところでUserFormを前面に出したいのですが 分かりましたら教えてください 以上、よろしくお願い申し上げます
質問日時: 2023/08/17 11:08 質問者: 公共ごま
ベストアンサー
1
2
-
ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。
VB.netでActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 例 SQL select id,name,add1,add2,tel from table 帳票 detailセクションに txtId(テキストボックス)⇒txtIdのプロパティのデータフィールドにidを設定してバインド txtName(テキストボックス)⇒txtNameのプロパティのデータフィールドにnameを設定してバインド add1 add2も同様にテキストボックスのプロパティ、データフィールドにSQLのカラム名を設定してバインド ★ここで「tel」だけ使わなかったのですが、帳票に非表示にしてtxtTel(テキストボックス)を配置してあげれば すむ話なのですが、detailセクションにそんな余白領域がありませんし管理が大変です。 ※detailには例に挙げた項目よりものすごい量のデータが配置されていて余白がありません。 ★質問detailのbefore_print?イベントでコードで「tel」を取得したいのですが サンプルコードを記載願いませんでしょうか
質問日時: 2023/08/16 07:16 質問者: 39OK
ベストアンサー
1
0
-
ExcelのVBAコードについて教えてください。
下記のコードをマクロに設定しております。 Sub ファイル名変更() Call 青紙 Call エジソン Call エジソン審査資料 With ThisWorkbook .Save .ChangeFileAccess Mode:=xlReadOnly Kill .FullName .Close (False) End With End Sub 上記のマクロを実行すると上から順番に Call 青紙 Call エジソン Call エジソン審査資料が実行されて マクロを設定しているブックを削除出できますが With ThisWorkbook .Save .ChangeFileAccess Mode:=xlReadOnly Kill .FullName .Close (False) End With のコードだと、作業中のブックは削除されるのですが、エクセルが開いたままになっております。 With ThisWorkbook .Save .ChangeFileAccess Mode:=xlReadOnly Kill .FullName .Close (False) End With の部分を変更して、作業中のブックを削除して、Excelも閉じるようにできる方法を教えてください。 よろしくお願いいたします。
質問日時: 2023/08/10 14:24 質問者: エクセル小僧
ベストアンサー
1
0
-
エクセルのマクロについて教えてください。
マクロを実行して、マクロを設定している ThisWorkbookを削除出来る方法を教えてください。 このブックは作業フォルダ内にコピーして使用しており、 作業(他のマクロを実行)した後に不要になりますので、 作業フォルダから削除したいのですが 下記のマクロを設定して、実行すると別添画像のエラーが出てしまいます。 解決方法を教えてください。 マクロを設定しているブック自体をマクロで削除が無理な事でしょうか。 重ねて教えてください。 マクロを設定しているファイル名「再修正(決済者).xlsm」 詳しいコード共に親切に教えてください。 よろしくお願いいたします。 設定マクロ Sub ファイル削除() Dim filePath As String filePath = ThisWorkbook.Path & "" Kill filePath & "再修正(決済者).xlsm" End Sub 以上です。 よろしくお願いいたします。
質問日時: 2023/08/10 11:34 質問者: エクセル小僧
ベストアンサー
1
0
-
ExcelのVBAコードについて教えてください。
同じフォルダ内にあるテキストファイルを監視し更新があった場合に指定セルに「更新」と表示出来るコードを設定しましたが、別添のようなエラーメッセージが出てしまします。 コード内(fileDateTime)が変色しております。 詳しいコード共に解決方法を教えてください。 このコードは作業ブックの「Sheet1」に設定しております。 コード Option Explicit Private Sub Worksheet_Activate() ' シートがアクティブになるたびに監視を開始する StartFileMonitoring End Sub Private Sub Worksheet_Deactivate() ' シートが非アクティブになったら監視を停止する StopFileMonitoring End Sub Private Sub StartFileMonitoring() Application.OnTime Now + TimeValue("00:00:02"), "CheckForFileUpdate" End Sub Private Sub StopFileMonitoring() On Error Resume Next Application.OnTime Now + TimeValue("00:00:02"), "CheckForFileUpdate", , False End Sub Private Sub CheckForFileUpdate() Dim folderPath As String Dim fileName As String Dim filePath As String ' 作業フォルダのパスを取得 folderPath = ThisWorkbook.Path ' 監視対象のテキストファイル名を設定(ここでは"sample.txt"としますが、実際のファイル名に合わせてください) fileName = "23079238-1_再修正依頼.txt" ' ファイルのフルパスを取得 filePath = folderPath & "\" & fileName ' ファイルが存在し、前回の更新日時と異なる場合、セルに「更新」と表示する If FileExists(filePath) And FileUpdated(filePath) Then ThisWorkbook.Sheets("再修正").Range("A1").Value = "更新" End If ' 監視を再開する StartFileMonitoring End Sub Private Function FileExists(filePath As String) As Boolean On Error Resume Next FileExists = (Dir(filePath) <> "") On Error GoTo 0 End Function Private Function FileUpdated(filePath As String) As Boolean Dim fileDateTime As Date Dim prevFileDateTime As Date Static prevFilePath As String ' 前回のファイルパスが設定されていない場合、または前回と異なるファイルを監視する場合 If prevFilePath = "" Or prevFilePath <> filePath Then prevFileDateTime = #1/1/1601# ' 初期値は1601年1月1日(ファイルが存在しないことを示す) prevFilePath = filePath End If ' ファイルの更新日時を取得 fileDateTime = fileDateTime(filePath) ' 前回の更新日時と異なる場合、ファイルが更新されたと判定する If fileDateTime <> prevFileDateTime Then prevFileDateTime = fileDateTime FileUpdated = True End If End Function
質問日時: 2023/08/09 10:33 質問者: エクセル小僧
ベストアンサー
1
0
-
VBA横に並んでいるデータを縦に並ぶデータにしたいです。
添付した画像のような9列、285行で一組(ピンクから黄色まで)の横に並んでいるデータを右のように表頭ごと縦につないでいきたいです。 データは、AからCTH列まで284組、285行まであるものが10シートあります。 本日中にやってほしいと依頼され、手作業でできる自信がありません。 どなたかお知恵をかしていただけないでしょうか。 どうぞよろしくお願いいたします。
質問日時: 2023/08/09 08:53 質問者: achuex
解決済
4
0
-
VBA横データを縦にしたいです
元のVBAコードは3列の小さな表が3つ横に並んでいたものを縦につなげるために使用していました。 今回は9列の表が横に200以上あり、修正して使用したいと思いましたが、 ここでエラーが出て止まってしまいます。 InputData(Z, Q) = Cells(i, Q + j) どのように直すと使用することが出来ますでしょうか。どなたか知恵を貸してください。 どうぞよろしくお願いいたします。 Sub 横データを縦データに変換する() Dim i As Long Dim j As Long Dim Q As Long Dim Z As Long Dim YokoLoop As Long Dim TateLoop As Long Dim InputData(710000, 2) As String '横ループ回数 YokoLoop = Range("A1").End(xlToRight).Column '縦ループ回数 TateLoop = Cells(Rows.Count, 1).End(xlUp).Row Z = 0 '横ループ For j = 1 To YokoLoop Step 3 '縦ループ For i = 2 To TateLoop '9列分の値を配列に格納 For Q = 0 To 8 InputData(Z, Q) = Cells(i, Q + j) Next Q Z = Z + 1 Next i Next j ' 配列を一気にセル範囲に転記 Cells(2, 2560).Resize(710000, 9).Value = InputData '配列のクリア Erase InputData End Sub
質問日時: 2023/08/08 19:38 質問者: achuex
解決済
2
0
-
ExcelのVBAコードについて教えてください。
ThisWorkbookモジュールに下記のコードを設定しております。 このコードは同じフォルダ内にある、テキストファイルを編集し、再度保存した時の 日時を指定セルに表示出来るように設定しております。 このコードでは、テキストファイルを編集して、上書き保存をした時に マクロを設定しているブックを、一旦閉じて、再度、開いた時にテキストファイルの最終日時を表示できますが、 マクロ設定ブックを開いたままで、テキストファイルの最終日時をセルに表示出来る方法を教えてください。 例えば テキストファイルとマクロ設定ブックを同時に開いており、テキストファイルを編集し、上書き保存をしたタイミングで、マクロ設定ブックを開いたままで「更新」ボタン等をクリックすると セルに最終日時に変更されて表示される等 が希望です。 よろしくお願いいたします。 Private Sub Workbook_Activate() mystamp_update End Sub Private Sub Workbook_Deactivate() mystamp_update End Sub Private Sub mystamp_update() If mystamp > Sheets("青紙表").Range("AX75").Value Then Sheets("青紙表").Range("AX75").Value = mystamp Range("AX75").NumberFormatLocal = "yyyy/m/d h:mm:ss" End If End Sub Private Function mystamp() As Double Dim tDir As String Dim tName As String Dim fpName As String Dim fName As String tDir = ThisWorkbook.Path tName = "*_再修正依頼.txt" fpName = tDir & "\" & tName fName = Dir(fpName) If fName <> "" Then fpName = tDir & "\" & fName mystamp = FileDateTime(fpName) End If End Function
質問日時: 2023/08/08 15:45 質問者: エクセル小僧
ベストアンサー
1
0
-
エクセルのマクロについて教えてください。
作業中のテキストファイルを上書き保存してクローズしたタイミングで指定したマクロを自動で実行出来る方法を詳しいコード共に教えてください。 (テキストファイルの時間が更新されたタイミングで指定マクロを実行出来る方法になると思います。) フォルダ及びファイル構成は下記のようになっております。 マクロ設定ブックとテキストファイルは同じフォルダ内にあります。 フォルダ内にマクロ設定ブックとテキストファイルは1つづつしかありません。 フォルダ名とマクロブック名及びテキストファイル名は物件毎に名前が変更になりますが、 マクロを設定しているブックのファイル名の一つのルールとして ファイル名の先頭に必ず【青紙】はつきます。拡張子は「.xlsm」になります。例:【青紙】○○ ○○ 様邸.xlsm 又、 テキストファイル名はファイル名の後半に必ず「再修正依頼」が付きます。 例:●●●●●●●●-●_再修正依頼.txt(●)は半角英数字 物件によって最初の「●●●●●●●●」が「●●●●●●●●●」の場合があります。 マクロブックとテキストファイルは同時に開いて作業をしております。 実行したい指定マクロ名は「電子システム」となります。 親切に教えて頂ける方何卒よろしくお願いします。
質問日時: 2023/08/08 11:02 質問者: エクセル小僧
ベストアンサー
1
0
-
VBAのフィルター操作
下記のコードはArrayが2つですが、Arrayの部分に別シートのC1からC30セルを参照したい場合 どのようなコードにすればいいですか? またそのようにした場合 ActiveSheet.Range("A2").AutoFilter Field:=6, Criteria1:= _ "*" & Target_Word(0) & "*", _ Operator:=xlOr, Criteria2:="*" & Target_Word(1) & "*" の部分はどのように変更すればいいですか? Sub オートフィルタで複数条件を含むリスト抽出() Dim Target_Word() As Variant Target_Word = Array("川", "福") ActiveSheet.Range("A2").AutoFilter Field:=6, Criteria1:= _ "*" & Target_Word(0) & "*", _ Operator:=xlOr, Criteria2:="*" & Target_Word(1) & "*" End Sub
質問日時: 2023/08/08 09:48 質問者: 優也。
ベストアンサー
5
1
-
Edge スクレイピング
エクセル&VBA&SeleniumBasic&Webdriverで,Edgeを動かしています。 Edgeで,タブを複数枚,開いているとき,現在,焦点があたっているタブを,一発で,取得する方法がわかりません。Driver.handle あたりのような気がしますが,やり方がわかりません。よろしくお願いします。
質問日時: 2023/08/07 19:36 質問者: なか_なか_なか_なか
解決済
3
0
-
iphoneに入ったスイカの情報をICカードリーダーで読み取る方法
現在エクセル内でICカードリーダーを使用し情報の読み取りはできているのですが iphoneに入ったパスモやスイカ等の情報は読み取れないのでしょうか? 拾える方法ないでしょうか? カードリーダーをこれにするとカードもiphoneも読み取れるとか どうしても無理ですかね? リーダーは非接触ICカードリーダー/ライター PaSoRi(パソリ)RC-S300になります あとはRC-S330は手元にあります
質問日時: 2023/08/07 14:17 質問者: ka-.-ji
解決済
2
0
-
VBA B列にある前から10文字のみ表示
関数でなくマクロでのコードはどうなりますでしょうか? A列に「,」で区切られている文字があります。 「,」より前の文字を同じシートのA列に表示 「,」より前の桁数は決められています。(左からアルファベット2文字と数字8) 「,」より後ろの文字数は変動します。 どなたかよろしくお願いします。
質問日時: 2023/08/07 11:24 質問者: mihomiho34
解決済
3
0
-
Excelマクロでセルに値が入力されたら実行する
添付図、納入日から本日8/6迄の月数を表示します。 Cells(1,1)に日付が入力されている時はCells(6,9)に月数が計算され表示されますが Cells(1,1)をDeleteして空欄にすると「実行時エラー'13'型が一致しません」とエラーになってしまいます。以下のコードをどのように修正したらいいでしょうか宜しく御願いします。 Private Sub Worksheet_Change(ByVal Target As Range) Dim 行 As Long 行 = Cells(Rows.Count, 1).End(xlUp).Row Cells(6, 9) = (Date - Cells(行, 1)) / 30 End Sub
質問日時: 2023/08/06 11:03 質問者: qq4w2299
ベストアンサー
5
0
-
Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim
Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim destSheet As Worksheet Dim lastRow As Long Dim srcData As String Dim dataArray() As String ' Sheet1を参照 Set srcSheet = ThisWorkbook.Sheets("Sheet1") ' Sheet2を参照 Set destSheet = ThisWorkbook.Sheets("Sheet2") ' Sheet1の最終行を取得 lastRow = srcSheet.Cells(srcSheet.Rows.Count, "A").End(xlUp).Row ' Sheet1のA列をソート srcSheet.Range("A1:A" & lastRow).Sort Key1:=srcSheet.Range("A1"), Order1:=xlAscending, Header:=xlNo ' A列のすべてのセルに対して処理を行う For i = 1 To lastRow ' A列のデータを取得 srcData = srcSheet.Cells(i, 1).Value ' データを「_」を基準に分ける dataArray = Split(srcData, "_") ' 分けたデータをSheet2のA2セル、B2セル、C2セルに貼り付ける destSheet.Cells(i + 1, 1).Value = dataArray(0) destSheet.Cells(i + 1, 2).Value = dataArray(1) destSheet.Cells(i + 1, 3).Value = dataArray(2) ' 拡張子を削除 Dim lastDotIndex As Long lastDotIndex = InStrRev(dataArray(2), ".") If lastDotIndex > 0 Then dataArray(2) = Left(dataArray(2), lastDotIndex - 1) destSheet.Cells(i + 1, 3).Value = dataArray(2) End If Next i End Sub
質問日時: 2023/08/04 19:57 質問者: ケイ0000
解決済
6
0
-
Powerpointでランダムな数字の結果を表示するマクロ
よろしくお願いいたします。 パワーポイントのマクロを使って添付画像にある3つの数字(number1,2,3)を ボタン(兜のイラスト)を押した後に5回シャッフルしてランダムな数字を表示したいと考えております。 ボタンを押したらランダムに数字を表示させることは出来たのですが、 5回シャッフルした後に表示させるマクロの書き方が分からなかったので教えてください。 下記が現在のマクロです。 Sub Test() Randomize With ActivePresentation.Slides(1).Shapes("number1") .TextFrame.TextRange.Text = Int((10 * Rnd) + 1) End With With ActivePresentation.Slides(1).Shapes("number2") .TextFrame.TextRange.Text = Int((10 * Rnd) + 1) End With With ActivePresentation.Slides(1).Shapes("number3") .TextFrame.TextRange.Text = Int((10 * Rnd) + 1) End With End Sub またシャッフル中の数字も見えるようにしたいです。 イメージ的にはこの方のYouTube動画のような数字の動きです。 https://youtu.be/MAL_iEI_ZRI よろしくお願いいたします。
質問日時: 2023/08/04 10:04 質問者: くりすとふぁ
ベストアンサー
2
0
-
VBA・LOGの取り方で質問です
https://way2se.ringtrees.com/excel_vba-011/ こちらに記載しているコードでログはとれるのですが 履歴を消したときにパスワード要求してきますが パスの入力をキャンセルをするとパスが正しくありませんと表示します ですが履歴消した後なので全く意味がないように思えます 本来なら消そうとした時点でパスの要求で削除できないように ならないとおかしいと思うのですが・・・ その場合、コードはどのようにすればよいのでしょうか?
質問日時: 2023/08/03 15:30 質問者: ka-.-ji
解決済
2
0
-
エクセルのマクロについて教えてください。
マクロ Sub Macro1() Workbooks(1).Worksheet("青紙表").Range("CE51") = Workbooks(2).Worksheet("FDデータ").Range("K51") End Sub を設定して、 このマクロを実行すると マクロを設定しているファイルをコピー先に 一般のエクセルファイルをコピー元にして 指定シートの指定セル値をコピー&ペースト出来るようにしましたが 実行時エラー インデックスが有効範囲内にありません。 とエラーメッセージが出てしまい マクロを実行できませんでした 解決方法を教えてください。 マクロの目的は 作業開始でxlsmファイル(マクロを設定しているファイル.xlsm)を開いて準備します。 このファイルは、ThisWorkbookであり、先に開いたのでWorkbooks(1)になります。 次に顧客から送られてきたファイル(一般のエクセルファイル.xlsx)を開きます。 送られてきたファイルは2番目に開いたので Workbooks(2)になります。 コピー元「Workbooks(2)」の指定シート名「FDデータ」指定セル「K51」を コピー先「Workbooks(1)」の指定シート名「青紙表」指定セル「CE51」にコピーできるようにしております。 尚、コピー元「Workbooks(2)」の指定シート名「FDデータ」は非表示となっております。 親切にコード等を教えてください。 よろしくお願いします。
質問日時: 2023/08/03 12:30 質問者: エクセル小僧
ベストアンサー
1
0
-
エクセルのマクロについて教えてください。
エクセルのマクロについて教えてください。 マクロを設定し、マクロを実行すると マクロを設定しているファイルをコピー先に 一般のエクセルファイルをコピー元にして 指定シートの指定セル値をコピー&ペースト出来る方法を教えてください。 作業開始でxlsmファイル(マクロを設定しているファイル.xlsm)を開いて準備します。 このファイルは、ThisWorkbookであり、先に開いたのでWorkbooks(1)になります。 次に顧客から送られてきたファイル(一般のエクセルファイル.xlsx)を開きます。 送られてきたファイルは2番目に開いたので Workbooks(2)になります。 コピー元「Workbooks(2)」の指定シート名「FDデータ」指定セル「K51」を コピー先「Workbooks(1)」の指定シート名「青紙表」指定セル「CE51」にコピーできる方法を教えてください。 尚、コピー元「Workbooks(2)」の指定シート名「FDデータ」は非表示となっております。 親切にコード等を教えてください。 よろしくお願いします。
質問日時: 2023/08/03 11:27 質問者: エクセル小僧
ベストアンサー
1
0
-
ご教授願います PC初心者です。 下のVBAで「エラー424」が出ます。 どこが悪いのでしょうか?
ご教授願います PC初心者です。 下のVBAで「エラー424」が出ます。 どこが悪いのでしょうか? Sub 印刷 () Dim ObjTest ActiveSheet.PrintOut From:1,To:=3 ActiveSheet.PrintOut Copies:=6 PageSetup.PaperSise = xlPaperA4 PageSetup.Orientation = xlLandscape End Sub
質問日時: 2023/08/03 07:45 質問者: 303www
解決済
2
0
-
シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。
シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 テストで作った下記マクロで、「ブロック」の前のセルを「ブロック」の後へ移すところまではできたのですが、 ①「出」の条件と ②入れ替える「休」の条件、 ③検索する範囲の指定 が解らずできません。 どのように指定したら良いか教えてください。 (実行例) Range("C5")の「出」は「ブロック」の前にあるのでRange("C9")の「休」と入れ替える。 Sub test() Dim fnd As Range Dim key As String Dim v As Variant key = "ブロック" Set fnd = Range("C:C").Find(key, LookAt:=xlWhole) If fnd Is Nothing Then Exit Sub v = fnd.Offset(-1).Value fnd.Offset(-1).Value = fnd.Offset(1).Value fnd.Offset(1).Value = v End Sub
質問日時: 2023/08/02 18:49 質問者: momo_2123
ベストアンサー
2
0
-
VBAのエラーについて
突然スクレイピングが止まってしまいます。実行時エラー4004と表示されます。今まできちんと稼働していたのでコードが原因ではないと思います。2つあるプログラムとも起動させると同じエラーが出ます。ネットワーク環境の問題でしょうか?当方全くの素人なので何から手を付けていいのかわかりません。質問の仕方すらよくわかりません、日本人なのに(泣)VBAコードは人に書いてもらいました。今のところこれだけしか書けませんがよろしくお願いします。取って来るデータはJRAのオッズです。 使用環境:WIN10 Exle365 Seleniumbasic Catch: If fso.FileExists(fso.BuildPath(folder_temp, "\webdriver.exe")) Then fso.CopyFile fso.BuildPath(folder_temp, "\webdriver.exe"), WebDriverPath(browser), True fso.DeleteFolder folder_temp End If If IsOnline Then Err.Raise 4004, , "ブラウザのオープンに失敗しました。原因:" & Err.Description Else Err.Raise 4005, , "オフラインのため更新できません。インターネットに接続してください。" End If
質問日時: 2023/08/02 17:46 質問者: 玄界灘太郎
解決済
2
0
-
VBAとマクロについての質問です。
VBAとマクロについての質問です。 VBAで記述された事によって生まれた,ある機能の事を「マクロ」と言う。 で合っていますか?
質問日時: 2023/08/01 23:04 質問者: kirakira_star_
解決済
2
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Visual Basic(VBA)】に関するコラム/記事
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】5万行以上のデータ比...
-
VBAでCOPYを繰り返すと、処理が途中...
-
【マクロ】並び替えの範囲が、その...
-
vbsでのwebフォームへの入力制限?
-
VBAの「To」という語句について
-
算術演算子「¥」の意味について
-
【ExcelVBA】値を変更しながら連続...
-
【マクロ】開いているブックの名前...
-
Vba セルの4辺について罫線が有るか...
-
【マクロ】シートの変数へ入れるコ...
-
エクセルのマクロについて教えてく...
-
エクセルのVBAコードと数式について...
-
ワードの図形にマクロを登録できる...
-
Vba FileSystemObject オブジェクト...
-
ダブルクリックで貼り付けた画像か...
-
エクセルVBA 段落番号自動取得方法
-
エクセルのマクロについて教えてく...
-
VBAでユーザーフォームを指定回数繰...
-
Excel VBA 選択範囲の罫線色の変更...
-
vbaにてseleniumを使用したedgeスク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba Array関数について教えてください
-
VBAでCOPYを繰り返すと、処理が途中...
-
【ExcelVBA】5万行以上のデータ比...
-
【マクロ】シートの変数へ入れるコ...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教えてく...
-
【マクロ】並び替えの範囲が、その...
-
Vba セルの4辺について罫線が有るか...
-
【マクロ】売上一覧YYYYMMDDHHSS.xl...
-
VBAでユーザーフォームを指定回数繰...
-
【マクロ】開いているブックの名前...
-
エクセルの改行について
-
vb.net(vs2022)のtextboxのデザイン...
-
エクセルのVBAコードと数式について...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてくださ...
-
改行文字「vbCrLf」とは
-
ワードの図形にマクロを登録できる...
-
VBAの「To」という語句について
-
【マクロ】変数を使った、文字の種...
おすすめ情報