『Visual Basic』に関する質問・疑問一覧

関連カテゴリ

次へ  ]
22014件中 21~40件目
  • vbaで資料を転記し、後日検索して印刷させたい

    excel2010です。配達日付別に、商品・数量・取引先等を作成した表があります。 これをvbaで転記保存し、配達日前日に該当表を検索して印刷させたいと考えています。  事前に作成した表を印刷していれば良いとは思うのですが、配達前に数量や商品が変わる事が往々にしてあり、印刷して日付別に保存し、それを修正して当日差し替えるとすれば時間的に非常に厳しいのです。 印刷も1ページに充分収まる量なので、日々30件前後の配達予定を、何日も前にExcelで作っていますが、自動転記保存や、前日に検索して印刷すればいいのかわからず、ご教授をお願い出来ればと思っています。 表はこのようなものです。  A1:配達先      B1:単価    C1:数量 D1:合計金額    A2:住所  A3: 配達日  A4:以下縦並び商品名 この中で日付を何処かのセルに移動することは可能です。 保存を1シートの中に縦並びに保存していきたいと思っていますが、商品数はランダムになりますので、顧客毎の別シート保存でも可能です。 前日に日付検索し、修正があれば手を加えて印刷、修正がなければそのままで印刷したいのですが、この様なものをvbaで自動化は可能なのでしょうか。  データは顧客毎、又は日付毎に残せればと考えています。 色々検索して自分でマクロをと考えていましたが、全然上手くいきません。初心者です。 お手数ですが、お教えください。  

    2019/06/08 18:23
  • 未記入箇所がある場合メッセージボックス

    お世話になります。 以前https://okwave.jp/qa/q9623125.htmlで質問させて頂きました。 ベストアンサー様や他の回答者様のおかげで解決しましたが、 選択セルを増やさないといけなくなりました。 ベストアンサー様の Dim i As Long For i = 10 To 24 If MFind(i) = False Then Exit Sub Next For i = 28 To 39 If MFind(i) = False Then Exit Sub Next 'VBA高速(終わり) Application.ScreenUpdating = True End Sub Function MFind(ByVal i As Long) As Boolean Dim URange As Range MFind = True Set URange = Union(Range(Cells(i, "B"), Cells(i, "C")), Cells(i, "N"), Range(Cells(i, "Q"), Cells(i, "R"))) If WorksheetFunction.CountA(URange) > 0 And _ WorksheetFunction.CountA(URange) < URange.Count Then MsgBox i & "行に未記入箇所があります。", vbInformation MFind = False End If End Function を使わせて頂いていますが、 この参照セルを『B C N Q R』ではなく『B C D H J K M N O P Q R』にするには どうすれば良いでしょうか? ※過去の質問にも記載していますが、1行だけではありません。 ※B~Rのセルで行により結合させているセルもあります。

    2019/06/08 08:42
  • Excel文字セルを詰める

    Excelで決まった枠がありセルに文字がバラバラに打ち込まれており空白セルを無視して文字セルを上から詰めたいのですがどなたかVBAが解る方よろしくお願いします。因みにwindows2007 offise2003です。

    2019/06/06 22:44
  • Excel VBA コマンドボタンからセルへ入力

    下記のような表で、画像にあるVBAのExcelフォームを使い、入力効率を上げたいなと思いました。 たたVBAの知識がほぼないため、皆様のお力をお借りしたいと思いました。 処理としては ・学年 の欄にはテキストボックスに数字を入力、クラスはコンボボックスから選択、物品名はテキストボックスに入力、個数はコンボボックスから選択 します ・確定ボタンをクリックしたとき、学年は C4セル、クラスはD4セル、物品名は… と自動的にフォームの値を入力 ・確定ボタンを押して、セルへ入力されると同時にフォームに入力してある値をクリア ・確定ボタンを押して記入し、次の値をフォームに入力して確定ボタンをおした時は、自動的に1行ずつ下に入力される ・返却期限については、日付欄に入力されている日付の一週間後の日付を自動で記入されるようにしたいです また、日付の欄は自動的に入力された時点の日付を記録したいです。 ※テキストボックスなどは、種類ごとに左から123となるようにします コードを記載していただければ1番嬉しいのですが、 お忙しいとは思いますので、もしもそれが難しければ 処理に必要なコードの解説が載っている解説ページなどをそれぞれ貼り付けて頂いても大丈夫です。 どうかよろしくお願い致します

    2019/06/05 16:39
  • 未記入箇所がある場合メッセージボックス

    お世話になります。 未記入箇所がある場合『未記入箇所があります。』の メッセージボックスを開きVBAを止めたいです。 ----- ○A1,B1,C1,D1,F1の中で一箇所でも入力したら全て入力しないと メッセージボックスが開く ○全て入力されていた場合、又は全て空欄の場合はメッセージボックスが開かず そのままVBAを流したいです。 ----- A1,B1だけなら下記で良いのですが、複数となると分かりません。 If [A1] = "" Xor [B1] = "" Then MsgBox "未記入箇所があります。" Exit Sub End If すみませんが、よろしくお願いいたします。 EXCEL2010

    2019/06/05 09:54
  • サイトタイトルを取得するマクロを最速化

    下記のマクロは、サイトタイトルを取得するマクロです。 このマクロで、サイトタイトルを取得していましたが、 5秒に1つくらいのペースなので、もっとスピードを上げたいと思っています。 最速化するには、どこか修正した方が良い箇所はあるでしょうか? また、変更するべき設定などもあったりするでしょうか? よろしくお願いいたします Sub sample() Dim Carea As Range Set Carea = Selection If Carea(1).Value = "" Then Exit Sub Dim Tcel As Range Dim ObjIE As Object Set ObjIE = CreateObject("InternetExplorer.Application") For Each Tcel In Carea ObjIE.Navigate Tcel.Value Do While ObjIE.Busy = True Or ObjIE.readyState <> 4 DoEvents Loop Tcel.Offset(, 1) = ObjIE.document.Title Next ObjIE.Quit Set ObjIE = Nothing End Sub

    2019/06/01 04:43
  • VBA

    1 a;b;c;d; 2 e;f;g;h; 3 i;j;k;l; をVBAで   1 a;   2 e;   3 i;   1 b;   2 f;    3 j;   1 c;   2 g;   3 k;   1 d;   2 h;   3 l; としたいのですが、どうしたらいいですか?

    2019/05/27 20:36
  • フォルダ内のブック全ての同じ位置に貼り付け

    ある範囲に計算式の入ったセルをコピーして、一つのフォルダに入った全てのExcelブックの同じ位置に貼り付けるという処理をマクロで行いたいのですが、貼り付けるだけでできるようなコードを教えていただけないでしょうか?

    2019/05/27 20:12
  • エクセル VBA 選んだもの以外の処理

    マクロで下記のようなコードがある時 現在は551320以外をFalseにする際 一つずつしていますが 551320を選んだら、それ以外はFalseするというコードにしたい場合は どうすればいいでしょうか? Sub Macro2() ' ' Macro2 Macro ' Application.ScreenUpdating = False With ActiveWorkbook.SlicerCaches("スライサー_ws_cd") .SlicerItems("551320").Selected = True .SlicerItems("551100").Selected = False .SlicerItems("551120").Selected = False .SlicerItems("551130").Selected = False .SlicerItems("551200").Selected = False .SlicerItems("551210").Selected = False .SlicerItems("551220").Selected = False .SlicerItems("551230").Selected = False .SlicerItems("551330").Selected = False .SlicerItems("552100").Selected = False .SlicerItems("552110").Selected = False .SlicerItems("552120").Selected = False End With Application.ScreenUpdating = True End Sub

    2019/05/20 10:14
  • VBA ループについて質問です。

    お世話になります。 VBA ループで『2行目を削除して空白になったら終了』がうまくいきません。 ※1行目は固定です。 ※2行目を削除したら、3行目以下が上がって3行目が2行目になります。 ※2行目に何もなくなったらループ終了 ※実際は複数シートで他の作業もあるので、『i』でなく『j』です。 ※複数シートでの作業が出来る記述でおねがいします。 ▼▼▼▼▼▼ Dim j As Long j = 2 Do While Cells(j, 1) <> "" Sheets("◆抽出先 (提灯)").Select Rows("2:2").Select Selection.Delete Shift:=xlUp j = j + 1 Loop ▲▲▲▲▲▲ どうすれば良いでしょうか? すみませんがよろしくお願いいたします。 Windows10 EXCEL 2010

    2019/05/11 11:25
  • マクロを実行すると関数が#NAME?になってしまう

    いつもお世話になっております マクロを実行すると関数がなぜか#NAME?になってしまいます なぜでしょうか ちなみに関数は=TEXT(B2,""AAA")です よろしくお願いします

    2019/05/06 20:52
  • VBA 2つのセルの両方に記入しないと空欄

    お世話になります。 VBAでの質問です。 (1)下記でA1が空欄ならメッセージボックスで"未記入箇所があります。"とでますが、  A1、B1のどちらかに文字が入っていれば  メッセージボックスを表示させたいです。 ※どちらも未記入、どちらも記入の場合はメッセージなしです。 If Application.CountBlank(Range("A1")) Then MsgBox "未記入箇所があります。" Exit Sub End If もしくは (2)A1に『111』B1に『』と、どちらか未記入の場合C1は空欄になる  計算式を教えて頂きたいです。  どちらも未記入、どちらも記入の場合は何かC1に文字が入る計算式  (C1への入力は何でも良いです) ((1)が不可能な場合、(2)のC1を(1)のメッセージボックスにあてます) ※A1,B1の入力文字は数字や文字など多種 ※A1,B1,C1のセルは離れています。 ※『』は空欄の意味です。 よろしくお願い致します。

    2019/05/06 12:30
  • マクロで、別シートを検索して移動したいです。

    マクロ初心者です。 マクロでシート1のA1セルの文字を参照に、別シートにある同じ文字の場所に 移動したいです。 ・シート1のA1セルの文字は毎回変わるので、文字参照ではなくセル参照です。 ・変わってもシート1のA1セルと別シートにある文字は必ず1つづつです。 よろしくおねがいします。 ※Excelは2010

    2019/05/02 14:16
  • 長いHTMLタグとフォルダ名を組み合わせたマクロ

    エクセル A1にフォルダ名を入力 「2019」 B1にフォルダ名を入力 「april」 C3にファイル名を入力 「tokyo-minato」 D1にタイトル名を入力 「tokyo」 E1にフォトギャラリーの数 「40」 マクロ実行で以下のようにしたいですが、初心者なので、アドバイスをもらえたらと思います。 宜しくお願いします。 <!-- フォトギャラリー1 --> <div class="ngg-gallery-thumbnail-box ngg-3-columns" >  <div class="ngg-gallery-thumbnail">  <a href="http://aaa.com/2019/april/tokyo-minato01.jpg" title="tokyo01"> <img src="http://aaa.com/2019/april/tokyo-minato01.jpg.jpg" width="240" height="160"/></a> </div> </div> <!-- フォトギャラリー2 --> <div class="ngg-gallery-thumbnail-box ngg-3-columns" >  <div class="ngg-gallery-thumbnail">  <a href="http://aaa.com/2019/april/tokyo-minato02.jpg" title="tokyo02"> <img src="http://aaa.com/2019/april/tokyo-minato02.jpg.jpg" width="240" height="160"/></a> </div> </div> ・ ・ ・ <!-- フォトギャラリー40 --> <div class="ngg-gallery-thumbnail-box ngg-3-columns" >  <div class="ngg-gallery-thumbnail">  <a href="http://aaa.com/2019/april/tokyo-minato40.jpg" title="tokyo40"> <img src="http://aaa.com/2019/april/tokyo-minato40.jpg.jpg" width="240" height="160"/></a> </div> </div>

    2019/04/30 12:23
  • 特定の単語を検索して その単語の2行下のセルの値を

    特定の単語を検索して その単語の2行下のセルの値を変数に代入したいのですが

    2019/04/24 20:29
  • webクエリで

    少し判りにくいかもしれませんが webクエリで情報を取得するマクロを作ったのですが Sub テスト2() Const csCode As String = "URL;https://umanity.jp/racedata/race_7.php?code=XXXX" Dim strURL As String strURL = Get開催コード生成 strURL = Replace(csCode, "XXXX", strURL) Set出馬表取得 strURL Dim 処理前シート As Worksheet Dim 処理後シート As Worksheet Dim 元データ As Range Dim ws As Worksheet Set ws = ActiveSheet Set 処理前シート = ActiveSheet Set 処理後シート = Worksheets("テスト") Set 元データ = 処理前シート.UsedRange Function Get開催コード生成() As String Dim Y As String '年 Dim D As String '日付 Dim c As String '回 Dim A As String '場所 Dim T As String '日目 Dim r As String 'レース番号 With ThisWorkbook.ActiveSheet Y = Format(.Range("A2").Value, "0000") D = Format(.Range("B2").Value, "0000") A = Get場所コード(.Range("C2").Value) c = Format(.Range("D2").Value, "00") T = Format(.Range("E2").Value, "00") r = Format(.Range("F2").Value, "00") End With Get開催コード生成 = Y & D & A & c & T & r End Function 最後のRの部分の数字 例https://umanity.jp/racedata/race_7.php?code=2019042103010610の最後の10のところが指定した数値だけ増えていって取得できるようにしたいのですができますか 例えば指定した数値が3ならば https://umanity.jp/racedata/race_7.php?code=2019042103010610 https://umanity.jp/racedata/race_7.php?code=2019042103010611 https://umanity.jp/racedata/race_7.php?code=2019042103010612 みたいにできたらとおもっています なお数値の指定についてはG2でできたたらと思っています わかりにくくすいませんがよろしくおねがいします

    2019/04/22 19:52
  • 【ACCESS】フォームのデータでテーブル作成

    写真のようなフォーム上に「既設のフィールドの追加」でテーブルの値を追加し、分割フォームでデータを表示するフォームがあります。その後フォーム上のテーブルでフィルターをかけて、その状態のテーブルに対してクエリなどの処理をしたいと思いっております。 そこでフィルターをかけた状態のテーブルのデータを他のテーブルへ追加または新規作成することは可能でしょうか? 写真だと「フィールド1」をフィルタ「あ」をかけてあだけのデータを表示させてその状態のテーブルを別のテーブルへ追加または新規作成したいです。 実際のテーブルには100以上の項目があり使用者によってフィルタをかける項目も違うため自由にフィルタをかけた状態で別のテーブルへデータを追加したいと考えています。 拙い説明で申し訳ありませんがご指導よろしくお願いいたします。

    2019/04/20 23:35
  • 休暇願をVBA作成し両面印刷する方法を教えてほしい

    VBAで休暇願を作成し印刷時は差し込み印刷方法でA4用紙に両面印刷したいのですが書き方が判りません。 マクロの内容を添付しますので両面印刷できるようにするにはどのように書けばよいのか教えてください。 下記のマクロで片面印刷は可能です。 Sub 印刷() Dim LastRow As Long Dim i As Long Dim myNo As Long If vbNo = MsgBox("印刷を開始していいですか?", vbYesNo) Then Exit Sub With Worksheets("名簿マスター") LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row For i = 1 To LastRow myNo = .Range("A" & i).Value With Worksheets("印刷シート") .Range("f7").Value = myNo .PrintOut Copies:=1, Collate:=True End With Next i End With MsgBox "印刷が終わりました" End Sub

    2019/04/18 15:42
  • ExcelVBAのChangeイベントについて

    いつもお世話になります。 早速ですが下記の質問についてお願い致します。 VBAのWorkSheet_Changeイベントについてですが、 所定の行の場合実行する形の物を作りたいと思います。 現在表を作成しておりますが、一人の項目として4行を必要と しております。 その後、別の人・別の人と入力項目があります。 ここで聞きたいのが使用する行数4行の内の「1行目」に変更を 行った場合実行するコードを書きたいです。 起点となるのが10行目です。 ・10行目を変更したらコードが実行される。 ・11~13行目に変更を加えてもコードは実行されない。 ・14行目を変更したらコードが実行される。 ・15~17行目に変更を加えてもコードは実行されない。       ・       ・       ・ こんな感じです。 例えるなら、10・14・18・22・26と「10+4の倍数」は 実行されないコードを書くにはどの様にしたら良いでしょうか? ご教授願います。

    2019/04/18 12:29
  • エクセルの1行目番号を0にする方法

    多くの表は、一行目や一列目が見出しになっているので データの一件目が2行目や2列目から始まってしまいます。 もし、 カウントを0から始めていれば、その問題が起こらなかったことでしょう。 ロータス123の頃から判っていたと思われますが 合理主義的なアメリカ人が、なぜ 0からではなく 1からカウントしたのでしょう。 ローマ数字ほど無茶苦茶ではありませんが。 イスラムへの嫉妬心でしょうかねぇ。 それと 人の指は多くは5本なので、10進数となったようですが  親指を別格にすれば、4進数, 8進数  繰上げに使えば、8進数, 16進数 になったことでしょう。 親指は、他の指と対抗して握りができるほどの特別な指なのに 薬指と同じ機能しか与えられていません。  先人たちの愚かさが悔しいです。 もしかして、マヤ, インカ, の係数法は8進数なのでしょうか?

    2019/04/09 23:32

ピックアップ