Visual Basic

全22567件中181~200件表示
  • マクロを使った文字化けしないCSV取込について

    マクロを使って、csvをインポートしたいです。 しかし、csvを取り込むと、対象列が日付になってしまいます。 元データcsvには、とある一列の行毎に、0-3 10-1 22-5 0-1-2、11-14-0 などの数字と記号が並んでいます。 下記に意図したコードを入れたのですが、csvが変換されて、2022/1/3だとか、2011/1/14などとなります。 これを元のデータの通りに取り込むには、どのようなコードを差し込めば良いのでしょうか? ※設定(adodb.stream)は行わない想定です。 ご教示願います。 "Sub Csv_Import() Dim A_Sheet 'Excelファイルのシート名を入れ込む変数' Dim Csv_Import_File 'Excelファイルに取り込むCSVファイルの名前を入れ込む変数' A_Sheet = ActiveSheet.Name '現在アクティブなシート名を変数 A_Sheet に入れ込む' Csv_Import_File = Application.GetOpenFilename(""CSVファイル,*.csv"") 'CSVファイルを選択する' If Csv_Import_File = ""False"" Then Exit Sub 'キャンセルなら終了' ThisWorkbook.Sheets(""Import"").Range(""A1:OOO2000"").ClearContents '「CSVデータ取込み」シートのセル「A1~OOO2000」をクリアする' With Workbooks.Open(Csv_Import_File) .Sheets(1).Cells.Copy ThisWorkbook.Sheets(""Import"").Range(""A1"") '全てのデータをこのブックの「CSVデータ取込み」シートにコピー' .Close 'CSVファイルを閉じる' End With Worksheets(A_Sheet).Activate 'A_Sheet という名前のシートをアクティブにする' End Sub

  • 選択範囲のセルを結合して、値を代入

    画像のような工程表を、作成しております。 4行目のセルを結合して、〇月と表示させたいのですが、可能でしょうか。 5行目の日付は、yyyy/mm/dd で入力しており、表示をddとしております。 この画像ですとG4~AA4、AB4~AW4、AX4~BT4を結合して、5行目の日付から月を参照して、結合したセルに表示させたいです。 4行目の結合範囲は、都度変わるので、選択範囲で結合して、5行目の月を参照させたいのですが、可能でしょうか。

  • Excel VBA クリップボードの画像貼り付け

    こんにちは。 Excel VBAで次のようなことをしたいのですが、少し特殊な手順のため皆様のお知恵とお時間をお貸しいただけないでしょうか。 以下の作業をVBAで自動化したいと考えています。 ①クリップボードの画像を貼り付け  画像サイズを1.8cm×1.8cmに変更し、画像右角がセル『T66』に合うよう貼り付け位置を調整する ②これをExcelファイルの全てのワークシートに行う  (ワークシートのファイル名はすべて異なる) 作成したレポートに電子印を押印するのに、かなり時間がかかっているのでVBAで自動化したいと考えている次第です。 『パソコンに保存された画像』ではなく『クリップボードの画像を貼り付け』で自動化できれば、かなり時間短縮できるので上記の手順にてVBAを組んでいただけないでしょうか。 何卒、ご協力をお願い致します。

  • セルの結合後、値を代入したいです

    下のような表を作成しています 1行目  2行目・・・日付(yyyy/mm/dd)表示はdd 月ごとに1行目のセルを結合して、〇月と自動で入るようにしたいのですが、VBAで作成できますでしょうか。 2行目の日付は、1日から31日まであるわけではなく、月によって日付の数が違います。 選択した範囲のセルを結合して、下の行の日付から、月を参照して結合したセルにその月を代入することは可能でしょうか。

  • VBAでの計算式のコピーの方法

    VBA初心者です。 ExcelのVBAで例えばE3に入っている数式をコピーしておいて、数行プログラムの処理をしてから、この数式をE4に入力するにはどのようなVBAにすればよいでしょうか? すぐに貼り付ければ(.PasteSpecial (xlPasteAll))できますが、間の他の処理が入るとエラーになってしまいます。 よろしくお願いします。

  • マクロが上手く組めない

    各シートの特定のセル(1,25)にINDEXシートのハイパーリンクを 設定したいのですが、「オブジェクトが存在しません」 とエラーが表示されてしまっており、どのように修正すればいいのか 分からず、困っております。何故エラーが出たのかについてご教授頂けると幸いです。 私の書いたソースコード ********************************** ********************************** Sub INDEXLINK() Dim w As Worksheet Set w = Sheets("INDEX") Dim i As Long For i = 1 To ActiveWorkbook.Worksheets.Count Worksheets(i).Hyperlinks.Add Anchor:=Worksheets(i).Cells(1,25), Address:="", SubAddress:=w & "!c1", TextToDisplay:=w.Name Next End Sub

  • ピボットテーブルのバグ? Excel 2019

    Windows10 64ビット Excel 2019 32ビット 最新バージョン 添付画像㊧のピボットテーブルは、「計算種類:計算なし、集計方法:個数」の正常結果です。添付画像㊨のピボットテーブルは、「計算種類:親行集計に対する比率、集計方法:個数」の異常結果(最右端の総計が100%にならない)です。 何か解決策があるでしょうか? それとも、バグ修正を待つしかないのでしょうか? 心当たりのある方、教えてください!

  • ExcelVBAで特定ファイル名以外削除したい

    特定ファイルの特定ファイル名以外のCSVを削除したいのですが うまく行きません。 filePath = "\\〇〇金属csvダウンロードファイル\Pt・Pd・Rh" & "" Kill filePath & "DAILY_AverageAcrossAllTimeZone" & "*.csv" 元のファイル名 DAILY_AverageAcrossAllTimeZone_5_20_2022.csv 今日の日付 → 「_5_23_2022」以外は削除したい 宜しくお願い致します。

  • vba:セル内変更文字列の色付け

    vbaにて別ブックの一覧を参照し、 指定範囲に検索文字列が含まれる場合 文字列の置換&対象セルの色付け& 件数の表示を行うコードから、 文字列の置換&セル内の変更した文字列のみ 色付け&件数の表示を行うコードに変更したいです。 変更した文字列のみ文字色を変更したい場合、 どのようなコードに書き換えればよろしいでしょうか。 なお、現在のコードは以下の通りです。 ============================ Sub 複数条件で一括置換する() Dim 範囲 As Object Dim 対象 As Object Dim 一覧 As Variant Set 範囲 = Selection 一覧 = Workbook("確認.xlsm").Sheets("複数条件").Range("A1:B7") Dim tmp As Variant Dim mCnt As Long 中略 mCnt = 0 For Each 対象 In 範囲 For i = LBound(一覧, 1) To UBound(一覧, 1) tmp = 対象.Value 対象.Value = Replace(対象.Value, 一覧(i, 1), 一覧(i, 2)) If tmp <> 対象.Value Then 対象.Interior.Color = vbRed mCnt = mCnt + 1 End If Next Next MsgBox mCnt & "件置換しました" Set 範囲 = Nothing Set 対象 = Nothing End Sub

    • ベストアンサー
    • noname#254533
    • Visual Basic
    • 回答数12
  • 【VBA初心者】検索して行頭移動後に行末までコピー

    ユーザーの出席表の一覧があり、出席した人別に検索した結果を、別のシートの固定セルから下方向に順番に張り付けて、ユーザー単位で出席日数の合計を出したいと思っています。 VBA初心者でRangeの使い方がよく分かっておらず、以下の手順をしてみたのですが、定義エラーになってしまいうまくいきません。 ①別の表に日付順で複数人の出席状況の表があります。 ②ピポットテーブルで、出席日数が20日以上の人、5日未満の人用の集計シートに集計を、それぞれしています。 ③vbaでピポットテーブルの更新をした後、ピポットテーブルの表全体を、他のセルにコピーします。 ④その後で、出席日数が20日以上の人、5日未満の人にフラグとして1をつけて、2次元テーブルを作成します。 ⑤作成した2次元テーブルを元に、①の表から名前で該当者を検索して、該当者が見つかったら先頭列に移動して、先頭列から最後の列まで選択して、出席日数が20日以上の人、5日未満の人用それぞれの表にコピーしたいと思っています。 今回、⑤の選択を以下の様にしてみたのですが、以下だと該当者が多いと重くなってしまうので、範囲選択にしたいのですが、うまくいかないのでアドバイスいただけませんでしょうか。 If Member(Count1, 1) = b Then ActiveSheet.Cells(ActiveCell.Row, 1).Select For a = 1 To 25 ActiveCell.Copy Sheets("20日以上の人").Select ActiveCell.PasteSpecial (xlPasteValues) ActiveCell.Offset(0, 1).Activate Sheets("メンバー一覧").Select ActiveCell.Offset(0, 1).Activate Next Sheets("20日以上の人").Select ActiveCell.Offset(1, -25).Activate '先頭の列まで戻す Sheets("メンバー一覧").Select ActiveCell.Offset(1, -9).Activate 'ユーザーの列まで戻す end if 長文で申し訳ありませんがアドバイスいただけたら幸いです。よろしくお願いいたします。

  • HTMLのテーブルタグでCSVデータ表示

    HTML素人です。 色々参考にしていますが、どうしてもわからず困っています。 もし分かる方がいましたら、ご教示お願い致します。 見よう見まねで下記のようなHTMLのテーブルを作成したのですが、 この見出しの下のデータ部分から、指定の格納フォルダに保存しているCSVデータを読み込んで表示させるといったことがしたいです。 (できれば、フォルダ内に新たにCSVデータが保存されたとき、 一度読み込んだファイルの次から表示されるようにしたいです。) 大変恐縮ですが、ご教示お願い致します。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>発注書</title> </head> <body> <header> <h1>発注書</h1> </header> </body> <table border> <tr> <th bgcolor="#00ffff">No</th> <th bgcolor="#00ffff">商品</th> <th bgcolor="#00ffff">商品名</th> <th bgcolor="#00ffff">数量</th> <th bgcolor="#00ffff">金額</th> <th bgcolor="#00ffff">合計金額</th> <th bgcolor="#00ffff">コメント</th> <th bgcolor="#00ffff">備考①</th> <th bgcolor="#00ffff">備考②</th> <th bgcolor="#00ffff">備考③</th> </tr> <tr> <td>2-1</td> <td>2-2</td> <td>2-3</td> <td>2-4</td> <td>2-5</td> <td>2-6</td> <td>2-7</td> <td>2-8</td> <td>2-9</td> <td>2-10</td> </tr> <tr> <td>3-1</td> <td>3-2</td> <td>3-3</td> <td>3-4</td> <td>3-5</td> <td>3-6</td> <td>3-7</td> <td>3-8</td> <td>3-9</td> <td>3-10</td> </tr> </table> </html>

  • VBA/HTML連携について困っております

    業務の中で、下記のようなスキームのツール作成を取り組んでいます。 エクセルデータの必要な部分を切り出してCSV形式で保存するというVBAまでは 完了したのですが、そこからフォルダ内の全CSVファイルを読み込み(吸い上げ)WEB上に表示するといったことが、どうしてもわかりません(※2番、3番)。 もし詳しい方がいましたら、ご教示お願い致します。 よろしくお願いいたします。 漠然とした質問内容で申し訳ございません。 【作成したい内容】 1.エクセルデータをCSV形式で指定のサーバーフォルダに保存 ←完了 2.サーバーフォルダ内のCSVデータを読み込みWEB上に表示 3.WEBからCSVデータをダウンロード

  • WPF コントロールの参照

    Visualbasic 2010 を利用してWindows Formアプリケーションを開発しております。 Form上にWPF互換のためElementHostを配置し、その中にUserControlを配置しUserControl内にWPFのDataGridを配置しております。 CellTemplateを利用して1つのセル内に複数のTextBoxを配置しております。 ★Main.xaml 抜粋 <DataGridTemplateColumn > <!-- 表示時のセルのテンプレートを指定 --> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <local:Sien_Detail /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> ★Sien_Detail.xaml 抜粋 <TextBox x:Name="Label_0" Text="4/29(金)" HorizontalAlignment="Left" Margin="65,1,0,-19" TextWrapping="Wrap" Width="57" Background="{x:Null}" FontFamily="Arial" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontWeight="Bold" Foreground="Black" BorderBrush="#FFABADB3" IsReadOnly="True" IsTabStop="False" Height="18" /> <TextBox x:Name="Label_1" Text="4/30(土)" HorizontalAlignment="Left" Margin="127,1,0,-19" TextWrapping="Wrap" Width="57" Background="{x:Null}" FontFamily="Arial" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontWeight="Bold" Foreground="Black" BorderBrush="#FFABADB3" IsReadOnly="True" IsTabStop="False" RenderTransformOrigin="1.061,0.622" /> ★Sien_Detail.xaml.vb エラー箇所 Me.Controls("Label_0").Text = "ああ" そのTextBoxをプログラム側で制御したいと考えております。 Windows Formであれば[Me.Controls("TextBox1")]のようなコーディングで参照できるのですが、上記の場合、「Controlsはメンバーではありません」が表示されてしまいます。 どなたか改善策が分る方がいらっしゃいましたらご教授頂けますと幸いです。 以上です。

  • VBA別シートの同じ日付に値を転記したいのですが

    元データに日付・名前・開始時間・終了時間が入力されていて、人数が150人ほどいます。画像のように元データから別シートの同じ日付に開始時間と終了時間を個人別に転記したいのですが、どうすればいいか悩んでいます。 元データから転記したいデータが1つであれば下記URLを参考にできたのですが、転記したいデータが3つあり、Aさんの4/1~4/30までのあとにBさんの4/1~4/30まで…のように転記したいと思っています。 大変伝わりにくい文章で申し訳ないうえの、VBA初心者のためコピペできる形でお答えいただけると大変助かります。 どなたかご教授いただけないでしょうか…よろしくお願い致します。 参考URL:https://kirinote.com/excelvba-sheet-samedate/

  • エクセルのマクロを教えてください。

    マクロの初心者です。 特に変数が全く使えず、下記もどのように記載していいのかわからないため教えていただけないでしょうか。 ユーザーフォームのtextbox2に開始番号があります。 textbox3に本数があります。 sheet1のB12セルには開始番号が入ります。 開始番号から本数分+1したものを順番にセルに入っていくようにしたいです。 ただ、入れたいセルが横→左下(開始番号の列)→横→左下(開始番号の列)・・・としたいため、どのように書いていいのかわかりません。 地道に書くのであれば、下記のようになると思うのですが、変数を使って書く場合はどのようになるのか教えていただけないでしょうか。 Worksheets("Sheet1").Range("B12").Value = TextBox2.Value If TextBox3.Value = 2 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 ElseIf TextBox3.Value = 3 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 ElseIf TextBox3.Value = 4 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 Worksheets("Sheet1").Range("G13").Value = TextBox2.Value * 1 + 3 ElseIf TextBox3.Value = 5 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 Worksheets("Sheet1").Range("G13").Value = TextBox2.Value * 1 + 3 Worksheets("Sheet1").Range("B14").Value = TextBox2.Value * 1 + 4 ・ ・ ・ End If

  • VBAでのセルの罫線を残す

    ExcelVBAで外枠罫線の入った表の最終行のセル範囲をDeleteで削除すると下罫線も消えてしまいます。 罫線を消さないように削除できませんか? 削除後下罫線を引きなおさないとだめでしょうか?

  • 条件に一致するセルのカウントと色付けと置換

    こんにちは。 指定した文字列を選択範囲から検索し、 文字列を含むセルの個数のカウント& セルの色付け&文字列の置換ができる コードを教えてください。 <シート1> A列:検索文字列 B列:置換後の文字列 <対象範囲> 別ブックの指定した範囲のみ 文字列の置換のみであればエラーなく 実行することができたのですが、 個数のカウントとセルの色付け方法が いまいちわかりません。 vba初心者のため、簡単な解説を つけていただけると嬉しいです。 なお、文字列の置換は以下のサイトを参考に しています。 http://extan.jp/?p=5749

    • ベストアンサー
    • noname#254533
    • Visual Basic
    • 回答数2
  • VBA サブフォルダ内のエクセルファイル転記

    VBAについてお尋ねします。 当方VBA初心者です。 やりたい事は下記です。 ・サブフォルダ(2階層目)に入っているエクセルファイルからマクロ実行ファイルにセルデータを転記 ・全てのサブフォルダを網羅 サブフォルダに対しての扱いが難しくて理解に困ってます。 サルプルなどありましたらいただけると幸いです。 よろしくお願いします。

  • 至急お願いします。vbaでxmlファイルを読み込み

    【Excel マクロ】xmlファイルを読み込み、一覧形式で出力ファイルを作成したいです。有識者の方、ご教示いただけますと幸いです。 ◆やりたいこと①:指定したフォルダ内(C:/属性一覧)にxmlファイルが複数格納されています。(例:文書①.xml、文書②.xml…) このxmlファイルを読み込みたいです。 ◆やりたいこと②:①で読み込んだxmlファイルのデータの中身は下記のとおりです。 こちらから、"Path"と"Property Display"を出力するファイルを作成したいです。 下記にxmlファイルの中身を記載します。 <PropertiesInfo> <Documrent ="123456---------"> <DocumentKind = "abcde-----------" Path = "/階層1/階層2/階層3"> <FolderName = "\^-)('&%$#"-----------------------------------------------"> <System> <Property Display = "文書名" Value = "〇〇〇" ListPath = "---------------------------" > <Property Display = "作成日時" Value = "2021/12/31" ListPath = "---------------------------"> <Property Display = "作成者" Value = "▲▲" ListPath = "---------------------------"> <Property Display = "更新日時" Value = "2022/2/1" ListPath = "---------------------------"> <Property Display = ............ <Property Display = ........... ・ ・ ・ ・ ・ ◆やりたいこと③:②で取得したPathとProperty Displayを、出力ファイルの中に記載したいです。セルの区切りを「-」で表してみます。 1行目(ヘッダ):Path-文書名-作成日時-作成者-更新日時…… 2行目(文書①のデータ): 〇〇〇-2021/12/31-▲▲-2022/2/1… 3行目(文書②のデータ): …………… 4行目(文書③のデータ): …………… としたいです。 どうか有識者の方々、よろしくお願いいたします。

  • VBA ステータスバーの色

    いつからかわかりませんが、気づいたときにステータスバーの色が背景緑、前掲黒になり文字が見えにくくなりました。ググったところ同じような人がい、その方はOfficeテーマで白を選択したら直ったようです。 http://bubble2sei.blog69.fc2.com/blog-entry-4470.html?sp しかし、私の場合、白でも改善されずに困っています。 Statusbar=Falseとすれば元のグレー地に黒字に戻ります。 色の管理はどこで行っているのでしょうか?