Visual Basic

全22573件中241~260件表示
  • VBA データを戻すコード

    おはようございます。 データを戻すコードが分からない為質問させていただきます。 やりたいこと 前提として シート2やシート3は A1からC100セルまで文字が書かれています。 シート1に A1からC200セルまで文字が書かれています。 そのセルのAセル以外の範囲(B1:C200)のどれか が変更が有れば(例:B110セルが変更なら110行目をコピーする) その変更された行をコピーし シート2やシート3内をAセルの行(1から100行まで)検索し シート1の110行目のAセルの文字とAセルの文字が当てはまったら (例A30セルに同じ文字が有れば) シート1でコピーしたセル (上の例であれば110行目コピーされたもの) を30行目に貼り付けを行う。 といった処理をしたいのですが 出来ましたらコードを記載していただきたいです。 すいませんが回答よろしくお願いいたします。

  • ExcelVBAでオプションボタンの選択状態を取得

    ActiveXコントロールのオプションボタンをエクセルのシート上に作成しました。 標準モジュールの中からこのオプションボタンの選択状態を取得したいと思い、下記のようなコードを書きました。 opt1の中身を見たところValueプロパティがなくオプションボタンの選択状態をどう判別すればよいかわかりません。教えていただけますでしょうか。 Set mainSheet = Worksheets("main") Set opt1 = mainSheet.OLEObjects("OptionButton1") ※シート名:main オブジェクト名:OptionButton1

  • VBA初心者です.文字を抽出しファイルを移動したい

    セルA1に表示された文字(例,CK001など)の右から3番目までの文字を拾って,その文字を含むファイルをAからBに移動したいのですが,上手く作動しませんでした.パス内に変数は使用できないのか(ここではZ)「ファイルが見つかりません」となってしまいます.良い方法をご教授いただければ幸いです.下記は自分が作成したプログラムです. Sub Sample() Dim fso As Object Set fso = CreateObject("scripting.filesystemobject") Dim A As String Dim B As String Dim Z As Variant Z = Right(Range("A1"), 3) A = "C:\Users\abc\Documents\test\*Z*" B = "C:\Users\abc\Desktop\1\2\" fso.MoveFile A, B End Sub

  • VBA リストボックスの選択対象の移動

    現在VBAでユーザーフォームを使った入力作業簡素化のプログラムを作っています。 その中でリストボックス内にある人名を選択するという動作が発生するのですが、大量の人名の中から名前を選ぶので名前を探すためにスクロールする必要が出てきます。 クリックしてキーボードの矢印キーで移動すればいいんですができればマウスだけで入力をスムーズに完遂したい思いがあります。 ユーザーフォーム上でスクロールホイールを使えるように挑戦しましたが難しく断念し、↑と↓の矢印ボタンを作成しボタンのクリックで選択している名前を移動していく方法を考えました。 Private Sub CommandButton1_Click() Dim NowInd As Long NowInd = Namelst.ListIndex Namelst.ListIndex = NowInd + 1 End Sub 自分なりに色々とコードを考えてみたのですが上のような形などですとボタンの長押しで一気に移動ができなかったり、素早く2回押したいだけなのにダブルクリックになってしまうなど直感的な操作とは程遠いものとなってしまいます。 初心者の質問で申し訳ありませんが希望の動作をさせるボタンを作成するにはどうすればいいのか教えていただきたいです。

  • Visualbasic2010 WPF データ更新

    VisualBasic 2010 を利用してWindowsアプリケーションを行っております。 Form上にElementHostを配置し、データベースより抽出した結果をWPFで作成したグリッド(DataGrid)に表示しております。 以下の点について分る方がいらっしゃいましたらご教授頂けますと幸いです。 DataGridでデータを更新した場合にDataTableも更新したい ソースは以下の構成となります。 ★Item_Main.xaml <UserControl x:Name="UserControl1" x:Class="Item_Main" xmlns:local="clr-namespace:TEST" mc:Ignorable="d" d:DesignHeight="200" d:DesignWidth="300" Height="Auto" Width="Auto" GotFocus="UserControl_GotFocus"> <DataGrid x:Name="DataGrid_1" ItemsSource="{Binding}" ScrollViewer.CanContentScroll="True" VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Standard" ScrollViewer.IsDeferredScrollingEnabled="True" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" HeadersVisibility="None" Margin="0,0,0,0"> <DataGrid.Columns> <DataGridTemplateColumn> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <local:Item_Detail /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </UserControl> ★Item_Detail.xaml <UserControl x:Name="UserControl2" x:Class="Item_Detail" mc:Ignorable="d" d:DesignHeight="136" Width="1090" Loaded="UserControl_Loaded"> <UserControl.Background> <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.WindowColorKey}}"/> </UserControl.Background> <Grid Name="GP_Panel" KeyboardNavigation.TabNavigation="Local"> <Grid.ColumnDefinitions> <ColumnDefinition Width="69*"/> <ColumnDefinition Width="151*"/> </Grid.ColumnDefinitions> <TextBox x:Name="Text_Pre_CS" Text="{Binding 数量, Mode=TwoWay, TargetNullValue=0}" HorizontalAlignment="Left" Height="22" Margin="161,102,0,12" TextWrapping="Wrap" Width="60" Background="White" FontFamily="Arial" HorizontalContentAlignment="Right" VerticalContentAlignment="Center" FontWeight="Bold" Foreground="Black" Grid.Column="1" TabIndex="1" FontSize="15" /> </Grid> </UserControl> ★Item_Detail.xaml.vb  ※現在はデータ編集時に以下のように処理しております。 '/ 本画面のDataRowを取得 Dim dt_row As DataRow Dim dt_row_view As DataRowView dt_row_view = CType(Me.DataContext, DataRowView) dt_row = dt_row_view.Row   dt_row.Item("数量") = "0" DataRowはDataTableとは異なると認識しておりますので   現在のロジックではDataTable側は更新されない事は   理解しているのですが、Item_Detail.xaml.vbにて   DataTableの特定行数を取得する方法等が分らず   目的の動作が実現できていません。   大変お手数おかけ致しますが、   宜しくお願い致します。 以上です。   

  • 【VBA】ヒストグラムの作成

    マクロ初心者です。 ヒストグラムの作成を行いたいのですが、マクロの記録で下記のマクロが完成し、グラフの作成自体は行えています。 ↓作成済みのマクロ **************************************************************** Sub Macro4() ' ' Macro4 Macro ' ' Range("E5:E500").Select ActiveSheet.Shapes.AddChart2(366, xlHistogram).Select ActiveChart.Axes(xlCategory).Select ActiveChart.ChartGroups(1).BinsType = xlBinsTypeBinSize ActiveChart.ChartGroups(1).BinWidthValue = 5 ActiveChart.ChartGroups(1).BinsOverflowEnabled = True ActiveChart.ChartGroups(1).BinsOverflowValue = 20 ActiveChart.ChartGroups(1).BinsUnderflowEnabled = True ActiveChart.ChartGroups(1).BinsUnderflowValue = 100 End Sub ******************************************************************* ①ピンの幅を”K1”の値を自動設定 ②ピンのオーバーフローを”J1”の値を設定 ③ピンのアンダーフローを”I1”の値を設定 ④グラフの名前を”H1”の値を設定 マクロに精通していないため質問自体に誤りがありましたら申し訳ありません。 お手数ですがご回答宜しくお願い致します。

    • 締切済み
    • noname#250436
    • Visual Basic
    • 回答数1
  • VisualBasic 2010 WPFのData

    Visualbasic 2010を利用してWindows Formアプリケーションに WPFのDataGridを配置しております。 以下の2点の制御を行いたいと考えておりますが、 ご存知の方がいらっしゃればご教授頂けますと幸いです。 (1)フォームよりWPFのDataDrid内の値を編集した場合に  Dattableに反映したい  現在はフォーム側で以下のように参照しています。 Dim dt_row As DataRow Dim dt_row_view As DataRowView   dt_row_view = CType(Me.DataContext, DataRowView) dt_row = dt_row_view.Row (2)DataGridにTextBoxを2つ配置(数量1、数量2)しておりますが、  エンターキー押下時に数量1、数量2の順でカーソル遷移でき  ないでしょうか。  現在はエンターキーを押下すると次の行に遷移してしま  います。 以下にソースの抜粋を掲示致します。 ★Form1.vb (HostedContentName) Item_Main2 Me.Item_Main2.DataContext = dt   ※データテーブルにはDBからSELECTした結果をセットしています。 ★Item_Main.xaml <UserControl x:Name="UserControl1" x:Class="Item_Main" xmlns:local="clr-namespace:TESTアプリ" <DataGrid x:Name="DataGrid_1" ItemsSource="{Binding}" ScrollViewer.CanContentScroll="True" VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Standard" ScrollViewer.IsDeferredScrollingEnabled="True" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" HeadersVisibility="None" Margin="0,0,0,0" KeyDown="DataGrid_KeyDown"> <DataGrid.Columns> <DataGridTemplateColumn> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <local:Item_Detail /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </ ★Item_Detail.xaml.vb Private Sub Btn_Click(sender As Object, e As Windows.RoutedEventArgs) Handles Btn.Click Dim dt_row As DataRow Dim dt_row_view As DataRowView dim wk_1 as string '/ 本画面のDataRowを取得 dt_row_view = CType(Me.DataContext, DataRowView) dt_row = dt_row_view.Row '/ 画面で編集した値を変数にセット If COMMON.NullNothingChk(dt_row.Item("数量1")) = False Then wk_1 = dt_row.Item("数量1").ToString Else wk_1 = "0" End If '/ 画面で編集した内容をデータテーブルにセットしたい '/ 今のままではグリッドを再描画すると編集内容がクリアされてしまう End Sub ★Item_Detail.xaml <UserControl x:Name="UserControl2" x:Class="Item_Detail" mc:Ignorable="d" d:DesignHeight="136" Width="1090" Loaded="UserControl_Loaded"> <Grid Name="GP_Panel" KeyboardNavigation.TabNavigation="Local"> <Grid.ColumnDefinitions> <ColumnDefinition Width="69*"/> <ColumnDefinition Width="151*"/> </Grid.ColumnDefinitions> <TextBox x:Name="Text_ItemCd" Text="{Binding 商品コード}" HorizontalAlignment="Left" Height="20" TextWrapping="Wrap" Width="56" Background="{x:Null}" FontFamily="Arial" FontSize="14" VerticalContentAlignment="Center" FontWeight="Bold" IsHitTestVisible="True" Foreground="Black" Margin="4,23,0,93" HorizontalContentAlignment="Center" IsReadOnly="True" IsTabStop="False"/> <TextBox x:Name="Text_ItemNm" Text="{Binding 商品名}" HorizontalAlignment="Left" Height="20" TextWrapping="Wrap" Width="316" Background="{x:Null}" FontFamily="Arial" FontSize="16" VerticalContentAlignment="Center" IsHitTestVisible="True" Foreground="Black" Margin="62,23,0,93" BorderBrush="{x:Null}" Grid.ColumnSpan="2" IsReadOnly="True" IsTabStop="False"/> <TextBox x:Name="Text_1" Text="{Binding 数量1, Mode=TwoWay, TargetNullValue=0}" HorizontalAlignment="Left" Height="18" Margin="176,102,0,16" TextWrapping="Wrap" Width="60" Background="White" FontFamily="Arial" HorizontalContentAlignment="Right" VerticalContentAlignment="Center" FontWeight="Medium" Foreground="Black" Grid.Column="1" TabIndex="1" /> <TextBox x:Name="Text_2" Text="{Binding 数量2, Mode=TwoWay, TargetNullValue=0}" HorizontalAlignment="Left" Height="18" Margin="236,102,0,16" TextWrapping="Wrap" Width="60" Background="White" FontFamily="Arial" HorizontalContentAlignment="Right" VerticalContentAlignment="Center" FontWeight="Medium" Foreground="Black" Grid.Column="1" TabIndex="2" /> </Grid> </UserControl>

  • PC9821から加工プログラムをRS23Cでプレナ

    PC9821から加工プログラムをRS23Cでプレナー機に送りたいのですが、急に送れなくなってしまいました。 プレナー機でいつもtermモードにしRS232Cで送受信できるようにからPC9821で送信しているのですが、下記添付写真の状態で1を押すとフリーズしてしまい、次の画面にいかなくなってしまいます。 本来は次の画面で受信か送信を選択でき、送るプログラムを選んで送信するのですが送受信を選択できる状態までいかなくなってしまいました。 原因と対策はどのようにすればいいでしょうか

  • 【VBA】特定の文字が入っている行の一部を抽出

    マクロ初心者です。 一つのフォルダにある複数のエクセルファイルから”山口県”の行を 抽出するマクロを作成していますが、抽出条件をもう一つ追加したいのですがマクロの作成方法がわかりません。 現在下記のマクロを作成済みですが、こちらは”C”列に”山口県”と入力済みのデータを抽出しています 作成したいのは”C”列に”山口県”        ”D”列に”宇部市”と入力済みのデータの抽出を行いたいです。 ↓現在作成済みのマクロです Sub test01() Application.ScreenUpdating = False '画面更新を一時停止 Set mb = ThisWorkbook 'このブックをmbとする。 myfdr = ThisWorkbook.Path fname = Dir(myfdr & "\*.xls") 'フォルダ内のExcelブックを検索 Do Until fname = Empty '全て検索 If fname <> mb.Name Then 'ブック名がこのブックの名前でなければ Set wb = Workbooks.Open(myfdr & "\" & fname) 'そのブックを開きwbとする。 With wb.ActiveSheet 'wbの開かれたシートについて x = .Cells(Rows.Count, "C").End(xlUp).Row 'A列最終行をxに代入 For i = 1 To x '1~xまで繰り返し If .Cells(i, "C").Value = "G1" Then '値がヒットしたら n = n + 1 .Rows(i).Copy 'コピー mb.Sheets(1).Rows(n).PasteSpecial 'このブックの最初のシートに貼り付け Application.CutCopyMode = False End If Next i End With wb.Close (False) '保存の有無を聞かずに保存しないで閉じる End If fname = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す Application.ScreenUpdating = True '画面更新一時停止を解除 Set mb = Nothing Set wb = Nothing End Sub マクロ初心者のため説明不足等でご迷惑をおかけするかと思いますが ご回答お願い致します。

    • ベストアンサー
    • noname#250436
    • Visual Basic
    • 回答数2
  • WPFのDatagridの縦スクロール

    VisualBasic2010を利用してWindows Formアプリケーションを 開発しております。 その際にForm上にElementHostを配置しWPFで構築した DataGridを設定しグリッドにデータを表示しております。 データ表示自体は問題なく行えているのですが、 Datagridの縦スクロールをWindows Form上に配置する ボタンから制御したいと考えております。 このような制御の方法をご存知の方がいらっしゃいましたら ご教授頂けますと幸いです。 WPF側 <UserControl x:Class="Grid_Main" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:_01_AAAA" mc:Ignorable="d" d:DesignHeight="200.373" d:DesignWidth="300" Height="Auto" Width="Auto"> <DataGrid ItemsSource="{Binding}" ScrollViewer.CanContentScroll="True" VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling" ScrollViewer.IsDeferredScrollingEnabled="True" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" HeadersVisibility="None" Margin="0,0,0,0" BorderBrush="{x:Null}"> <DataGrid.Columns> <DataGridTemplateColumn > <!-- 表示時のセルのテンプレートを指定 --> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <!-- 表示時のセルのテンプレートに同プロジェクト内のクラスを指定 --> <local:Grid_Detail /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <!-- 編集時のセルのテンプレートを指定 --> <!-- 表示専用であれば定義不要 --> </DataGrid.Columns> </DataGrid> </UserControl>

  • Visual Basic 6.0の記述の仕方

    Visual Basic 6.0を学習しています。 リストボックスの内容を取得し、 アイテムボックス内のテキストを取得しファイルに書き出す。 上記の処理はどのように記述したらよいのでしょうか。 検索するとVB.NETの例が出てきてしまい、 VB6でのやり方がわかりません。 考え方や記述のアドバイスをいただきたいです。初心者です。 よろしくお願い致します。

  • エクセルVBAでセルの選択する方法

    B3セルからI200セルまで全部データが入力されている データを C3キー昇順と、F3キー昇順並べ替えしたいと考えています。 まず B3を選択して 次に I列の最終データを xldownを使用? 選択し 並べ替えすればいいのでは? と考えましたが、 その選択方法が分かりません。 よろしくお願いします。 直接I200を指定しないのは、 データによって 200行だったり 220行だったりすることがあるためです。

  • Excel チェックボックスにより選択され印刷

    よろしくお願いします。 A□ (F10のセルにtrue) B□ (F11のセルにtrue) C□ (F12のセルにtrue) Aならページ60 Bならページ70 Cならページ80 チェックボックスを3つ用意して、チェックがされている個所(ページ)のみ印刷をしたいです。 チェックボックスオンでtrueを返すまでは設定できたのですが、例えば、Aがオン(F10にtrueが表示)ならページ60を印刷と言うのがなぜか出来なくて困っています。 ご教授下さい。

  • Excel 開いているセルにペーストするには

    よろしくお願いします。 複数回コピぺをしたいのですが、一度目はコピーしたそれぞれのデータをそれぞれA1、B1、C1にペーストとvbaで指定すればそのセルから下方に向かってペーストされる様には出来たのですが、2回目以降に例えばA1358、B 1358、C 1358まで入力されているセルの一つ下の1359の位置からABC個々にペーストする様にするにはどの様にしたら良いのでしょうか? 散々ネットで探しているのですが、A1を指定して…などの関数の説明しか見つからずこちらに投稿しました。 ご教授下さい。

  • コンパイルエラー「修飾子が不正です。」

    Visual Basic 6.0を使用しています。 タイトル通りですが、エラーが発生し解決できなくて困っています。 やりたいことは、リストボックスに、ファイルから読み込んだ内容を出力することです。 ' ファイルオープン intNo = FreeFile() Open txtReadFile For Input As #iFileNumber Dim stResult As String ' ファイルを最後まで読み込む Do While (Not FileSystem.EOF(iFileNumber)) Dim stBuffer As String Line Input #iFileNumber, stBuffer stResult = stResult & stBuffer & vbNewLine 'ファイル内容をリストボックスへ表示 ListBox1.AddItem stBuffer, stResult TextBox1.Text = txtReadFile.ReadToEnd ←★エラー Loop Close #iFileNumber Call MsgBox(stResult) End Sub 検索し似た問題の方のも見たのですが、よくわかりませんでした。 初心者です。よろしくお願い致します。

  • VBA 検索フォームから行を削除

    VBA初心者で様々なサイトのコードを参考にしていますがコードが解らず困っております 顧客データベースがあります。入力フォームは完成し各種情報を入れて入力を押すと順次追加されていきます。今度は辞めた人をそこから削除したいと思い退会フォームを作りました。 ①検索フォーム(TextBox1)に読み仮名を入れる。 ②行数を見つけその行を削除し別のシート(退会者)に転記。 下記のように作ったらとりあえず出来ました。 Private Sub CommandButton1_Click() Dim r As Long 'C列からテキストの文字列を探して、文字列が存在する行数を取得し、変数rに代入 r = Columns(3).Find(TextBox1.Value).Row Range("B" & r).Select Range(Selection, Selection.End(xlToRight)).Cut Sheets("退会者").Select Cells(Rows.Count, 1).End(xlUp).Offset(1).Select ActiveSheet.Paste Sheets("メインデータ・入力フォーム").Select Rows(r).Delete End Sub しかし職場にて運用したところ、名前が完全一致じゃないと反応しない。(例:きむら たくや)苗字と名前の間が半角 ・苗字と名前の間が全角スペースでエラー ・「ゆずき」と「ゆづき」などそもそも間違えて検索してエラー。 ・すでに削除済みでエラー。 【やりたいこと】 ・半角全角スペース違いが最も多かったのでそこはヒットするようにしたい。 ・名字だけ名前だけでもヒットできればしたい。 ・それ以外の間違いはMsgBox"見つかりません”でも良い。 ・最後に念押しで○○を削除しますか?まで出してみたい。 よろしくお願いします。 ※そもそも検索する値は読み仮名で良いのか?も教えていただきたいです。セルに配置されているのは 姓・名・漢字氏名・読み仮名・性別・生年月日です。

  • ExcelVBAでピボットテーブルのフィルタ設定

    ExcelVBAマクロについて確認させてください。 現在、ピボットテーブルを作成しております。 そこで下図のようにフィルタ設定において空白以外の項目にチェックを入れるVBAマクロを作成したいですがその方法をご教授くださいm(_ _)m

  • DataGridViewでMauseDown

    VB.NETでDataGridViewでMauseDownイベントを実装するとCellContentClickイベントやCellClickイベントが発生しなくなりました。 VB.NETのバージョンは4.6.2です。 Panelコントロール上に配置したDataGridViewのCellContentClickイベント内でClickされたセルの列に応じた処理を行っています。 このDataGridViewにDrag&Dropの機能を設けるべく、MouseDownイベントを追加しました。 MouseDownイベント内に記述した処理の動作も問題無く、全体の動作確認を行っていると、DataGridViewのCellContentClickイベントが発生していない事に気がつきました。 CellContentClickイベント内の処理の1行目にブレークポイントを設置して確認しました。 試しにMouseDownイベント自体をコメントアウトするとCellContentClickイベント内の処理は実行されました。 MouseDownイベント、CellContentClickイベントの両方を動作させる方法はありますでしょうか?

  • Visual Basic 6.0 について

    ①「読込み」ボタンを押すと、「読込みファイル」に指定されたファイルを読込む。 ②「ファイル内容」のリストボックスに、ファイルから読み込んだ内容を出力する。 ①、②をVB6で記述する書き方を教えてください。

    • 締切済み
    • noname#249264
    • Visual Basic
    • 回答数2
  • VBAの条件の書き方を教えてください。

    こんにちは。 現在、フォーマット同じ(件数が異なる)のデータファイルを取り込み、変換したファイルをアウトプットするマクロを作っています。 ここで、図のように列Cのデータをもとに、列Dのデータをそれぞれ列Eと列Fに振り分ける構文を教えてください。 VBAについては少しかじった程度です。よろしくお願いします。