ap_2 の回答履歴

全199件中141~160件表示
  • Do ~ loop until [VBA]

    Do 命令文 Loop Until 条件式 について質問なのですが、条件式には複数の条件を指定することは出来るのでしょうか? 例えば、変数mが100より大きく、変数nと同じでない、という2つの条件を指定したいときは Loop Until m >= 100 and m <> n もしくは Loop Until m >= 100 and <> n でしょうか? また、上記の様な条件式でOKだとしたら、andで結べる条件に制限数はありますか? よろしくお願いします。

    • ベストアンサー
    • noname#146604
    • Visual Basic
    • 回答数3
  • VBA と コンパイル の関係

    VBAのウィキを見ていると http://ja.wikipedia.org/wiki/Visual_Basic_for_Applications 「基本的にはインタプリタ型の言語であるため、コンパイル(ビルド)の作業は不要である。」 との事ですが VBE画面のデバッグ画面に「VBAProjectのコンパイル」と言う機能がなぜあるのはなぜでしょうか? VBAでコンパイル作業は不要だけど、付属として「VBAProjectのコンパイル」機能があるのでしょうか?

  • VBA と コンパイル の関係

    VBAのウィキを見ていると http://ja.wikipedia.org/wiki/Visual_Basic_for_Applications 「基本的にはインタプリタ型の言語であるため、コンパイル(ビルド)の作業は不要である。」 との事ですが VBE画面のデバッグ画面に「VBAProjectのコンパイル」と言う機能がなぜあるのはなぜでしょうか? VBAでコンパイル作業は不要だけど、付属として「VBAProjectのコンパイル」機能があるのでしょうか?

  • VBA と コンパイル の関係

    VBAのウィキを見ていると http://ja.wikipedia.org/wiki/Visual_Basic_for_Applications 「基本的にはインタプリタ型の言語であるため、コンパイル(ビルド)の作業は不要である。」 との事ですが VBE画面のデバッグ画面に「VBAProjectのコンパイル」と言う機能がなぜあるのはなぜでしょうか? VBAでコンパイル作業は不要だけど、付属として「VBAProjectのコンパイル」機能があるのでしょうか?

  • 追記

    下記、表題で質問させていただきました 「AccessのVBAはコピーではだめなのでしょうか?」 フォームは データシート形式 を使っています すみません。。よろしくお願いいたします

  • AccessのVBAはコピーではだめなのでしょうか

    度々お世話になります 先日よりAccessの連番の振り方をご教示いただき何とか振れるようになりました そこで、同じAccess内に新たなフォームを作成し、同じように連番を振ろうとしました しかし、最後のアルファベット部分が順番にならず、ずーっと同じになってしまいます ≪やりたいこと↓≫ 同日の時はA~Zまで順番に振りたい(1日26件まで)、翌日はまたAから始まる ≪現状≫ ずーっと”A” ≪1番最初の質問≫ 下記のような連番を振る方法を教えてください "Eyymmdd A "E"は固定で yy(西暦2ケタ)mm(月)dd(日)A(Aから始め、同じ日だとB,C,…と最大26(Z)まで)振っていく。日が変わるとまたAから始まる 「テーブル名」連絡文書E 「クエリ名」連絡文書Eクエリ 「フォーム名」連絡文書E 「フィールド名」管理番号(テキスト型) E110105 A E110130 A E110130 B E110130 C E110202 A… と"E"を固定 yy(西暦2ケタ)mm(月)dd(日)Aから始まり、同日であればB,C~と 日が変わるとAからまた始まるという連番をふりたいです ≪ご教示いただいた回答≫ Function getNewSeq()   If Format(Date, "yymmdd") = Mid(DMax("管理番号", "連絡文書E"), 2, 6) Then     If Right(DMax("管理番号", "連絡文書E"), 1) = "Z" Then       MsgBox "Zまで一杯です"       Exit Function     End If     getNewSeq = "E" & Format(Date, "yymmdd") & " " & _           Chr(Asc(Right(DMax("管理番号", "連絡文書E"), 1)) + 1)   Else     getNewSeq = "E" & Format(Date, "yymmdd") & " " & "A"   End If End Function さらに、フォームでも デザインビューでフォームのプロパティのイベントの、「レコード移動時」に Private Sub Form_Current() If Me.NewRecord Then Me!管理番号 = getNewSeq End If End Sub 今回、VBAとフォームのプロパティはご教示いただいたもの(上記)をコピーしました 「テーブル名」一般文書D 「クエリ名」q_一般文書Dクエリ 「フォーム名」一般文書D2 「フィールド名」発行番号(テキスト型) としたので、 ”管理番号”を”発行番号” ”連絡文書E”を”一般文書D” ”E”を”D” としてみました 新規レコードに移る度に”D111107(yymmdd)A”となります ”A”をB、C~となる方法をぜひご教示下さい 長々とすみません 何卒よろしくお願いいたします

  • ExcelVBAで作成したグラフの位置について

    VBAで作成したグラフを指定の位置に配置したいのですが、なぜか指定したセルではなく、ずれて表示されてしまいます。 ChartObjectsのTOPとLEFTを使って表示したい場所のセル位置を指定しています。 色々ネットで検索していますがいまいち要領を得ません。 お手数ですが理由とか、ずれない方法とかしておられる方がおられましたら教えてください。 よろしくお願いいたします。

  • Excel2003で作成したものが2010で開かず

    Windows XP Pro ServicePack3 のExcel2003で作成した.xlsファイルが、 別のPCであるWindows7 ProのExcel2010で開けません。 ひとつのファイルだけが開かないのではなく、どのファイルも開きません。 しかし、別のWindows7では開きました。 また、何のファイルも開かずに、単にExcel2010のショートカットやスタートメニューで開くと開きます。 しかし何か文字を入力して保存すると、なんと、保存もできませんでした。 .xlsx で保存しようが、.xls で保存しようが保存できません。 問題のWindows7機に何か問題があると思うのですが、どうすれば解決できるでしょうか? Office2010をインストールしたあとに、Adobe製品をインストールしました。 Excel2010にもAdobeのアドインがいくつか入っています。 宜しくお願いします。

  • EXCEL VBA 印刷 または PDF

    こんにちは。 EXCEL VBA初心者で、いろいろ調べてみましたが見つけられず 質問します。 1.自分のPCに設定してあるプリンタを選択したい 2.プリンタを指定して紙で印刷する 3.もしくは、PDF印刷を選択したらファイル名を指定して保存 ファイルの保存先は、自分で決めるのでダイアログボックスまででいいですが ファイル名はあらかじめ決めておきたい。 ・PDFにするには、「クロセPDF」を使用しています。(プリンター名も) ・PDFファイル名:ABCD ・使用するユーザーは、全国にいてプリンタ名などばらばら ・Windows XP/ EXCEL2003 シート名を選択してプリンターを選択するところまでは、わかりましたが 印刷するとき、PDFにするときしファイル名を表示させるのがどうしても わかりません・・・ Sub 印刷orPDF() Sheets("シート名").Select Application.Dialogs(xlDialogPrint).Show 以下、不明 どうぞ宜しくお願い申し上げます。

  • フォームを開いた時にVBAでデザイン変更の許可の設

    フォームを開いた時にVBAでデザイン変更の許可の設定が出来ない(access2003) デザインビューで手作業で操作するのではなく VBAで値を設定したいのですが Private Sub Form_Open(Cancel As Integer) Me.AllowDesignChanges = False End Sub をすると ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・  実行時エラー '2448':  このオブジェクトに値を代入することはできません。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ と言うエラーが出てしまいます。 標準モジュールで Sub test() Form_フォーム1.AllowDesignChanges = False End Sub としても同じエラーが出ます。 フォームのデザイン変更の許可は デザインビューで手作業で操作するしかないのでしょうか?

  • VBA と コンパイル の関係

    VBAのウィキを見ていると http://ja.wikipedia.org/wiki/Visual_Basic_for_Applications 「基本的にはインタプリタ型の言語であるため、コンパイル(ビルド)の作業は不要である。」 との事ですが VBE画面のデバッグ画面に「VBAProjectのコンパイル」と言う機能がなぜあるのはなぜでしょうか? VBAでコンパイル作業は不要だけど、付属として「VBAProjectのコンパイル」機能があるのでしょうか?

  • ExcelVBAで作成したグラフの位置について

    VBAで作成したグラフを指定の位置に配置したいのですが、なぜか指定したセルではなく、ずれて表示されてしまいます。 ChartObjectsのTOPとLEFTを使って表示したい場所のセル位置を指定しています。 色々ネットで検索していますがいまいち要領を得ません。 お手数ですが理由とか、ずれない方法とかしておられる方がおられましたら教えてください。 よろしくお願いいたします。

  • Excel2007の「塗りつぶし」について

    良い方法はないかと考えましたが、解決案が見つからず、 質問させて頂きました。 ※使用ソフトはExcel2007です。 【シートA】で「入力」「塗りつぶし」をした内容を、そのまま同ブックの【シートB】に 反映させたいのですが、良い方法はございませんでしょうか? 例えば…【シートA】のB2のセルに『会議』と入力し、赤色で塗りつぶしをする。 その内容をそのまま自動的に【シートB】のB2のセルに反映させる。といった 感じです。 文字の入力は、「=」を使って何とか出来るのですが、塗りつぶしが上手く出来ません。 「条件付き書式」を【シートA】に設定し、同じ条件を【シートB】にも設定したので、 条件にあてはまる入力内容は同じように塗りつぶされますが、 条件外の入力を【シートA】にした場合は、当然の事ながら、塗りつぶしは都度設定 しなければならず、【シートA】【シートB】、個々に設定しなければいけません。 今回のブックは、複数の人たちで共有するので、 【シートA】と【シートB】を作業グループにする方法は、出来れば避けたいのですが…。 何か、良い方法はございませんでしょうか…? 説明が上手く出来ず、申し訳ございません。 良い方法を教えて頂ければ、幸いです。

  • オブジェクトブラウザで「byte」が出てこない

    変数の型のByteをオブジェクトブラウザで検索しても出てこない理由は何でしょうか? accessでもエクセルでも出てきません。

  • 男性の気持ち

    よろしくおねがいします。 最近知り合った一回り以上年上の男性がいて、メールアドレスは交換していたのですが 番号は知らず、相手から聞かれ教えたら、用事がなくても電話をくれたりしました。 私の電話できる時間をねらって電話やメールをくれたりします。 私は少しずつ気になってしまい、こちらからもよく連絡をとるようになりました。 かなり遠距離で2人では会ったことがなかったのですがもうすぐ相手の住んでいるところへ行く用ができたので、会う約束をしています。 泊まりにおいでというので泊まりに行くつもりです(相手は実家) しかし泊まりにいくってきまったら急に相手から 「そういえば彼女できた」といわれました。 彼女がいるなら泊りはやめといたほうがいいね。ご飯だけいこう。 と提案したら、 なにも遠慮しなくていいとか言います。 なので私は基本はっきり言ってしまう方なので「私には下心あるから、君危ないよ」っていったら 電話がかかってきたけど出なくて、メールも無視してたら 次の日かかってきたので別れたら泊りにいくよなんて笑って話しました。 あっちも笑いながら照れていたように思います。 これって私の気持ちにはもちろん気づくかと思うし、浮気相手にできるなんて思われたりしますか? 実は彼女は前からいたような気がしていますがどうでしょうか。 遊ばれる流れになってしまっていますか? もちろん別れないと体はゆるさないつもりです。 アドバイスをおねがいします。

  • エクセルアクセスのVBAを使う仕事を探しています。

    今、VBAを習っていますが、失礼ながらバイト程度の感覚で VBAの仕事をやらせていただけるところを探しています。 今は、ほかのVBAとは関係ない仕事に入っているので シフトで周一で入れたり または深夜勤務だったりするところで VBAを使って作業したいです。 もちろん、新人なので修行という意味で 給料なしまたは最低賃金以下でもかまいません。 時間があい、経験がつませていただける所ならいいのです。 こういったVBAの仕事はどこで探してきたらいいのでしょうか? また、こういった仕事の求人ばかり載せているサイトがあれば教えてください。 よろしくお願いいたします。

  • VBAの転記について

    With Sheets("入力") '3行目~22行目まで For i = 5 To 24 SheetName = Sheets("入力").Cells(i, "C").Value On Error Resume Next Set Dummy = Sheets(SheetName) SheetName2 = .Cells(i, "C").Value U最終行 = Sheets(SheetName2).Range("C65536").End(xlUp).Row + 1 If U最終行 = 39 Then Sheets(SheetName2).Copy BEFORE:=ActiveSheet Sheets(SheetName).Delete End If If Err.Number = 0 Then A = Sheets(SheetName2).Range("C65536").End(xlUp).Row + 1 Sheets(SheetName2).Range("C" & A).Value = .Cells(i, "G").Value Sheets(SheetName2).Range("D" & A).Value = .Cells(i, "I").Value Sheets(SheetName2).Range("E" & A).Value = .Cells(i, "L").Value Sheets(SheetName2).Range("F" & A).Value = .Cells(i, "N").Value Sheets(SheetName2).Range("G" & A).Value = .Cells(i, "P").Value Sheets(SheetName2).Range("H" & A).Value = .Cells(i, "R").Value Sheets(SheetName2).Range("I" & A).Value = .Cells(i, "T").Value Sheets(SheetName2).Range("K" & A).Value = .Cells(i, "V").Value Sheets(SheetName2).Range("L" & A).Value = .Cells(i, "X").Value ElseIf .Cells(i, "C").Value <> "" Then G = Sheets("原紙").Range("C65536").End(xlUp).Row + 1 Sheets("原紙").Range("B1").Value = .Cells(i, "D").Value Sheets("原紙").Range("B4").Value = .Cells(2, "D").Value Sheets("原紙").Range("C" & G).Value = .Cells(i, "G").Value Sheets("原紙").Range("D" & G).Value = .Cells(i, "I").Value Sheets("原紙").Range("E" & G).Value = .Cells(i, "L").Value Sheets("原紙").Range("F" & G).Value = .Cells(i, "N").Value Sheets("原紙").Range("G" & G).Value = .Cells(i, "P").Value Sheets("原紙").Range("H" & G).Value = .Cells(i, "R").Value Sheets("原紙").Range("I" & G).Value = .Cells(i, "T").Value Sheets("原紙").Range("K" & G).Value = .Cells(i, "V").Value Sheets("原紙").Range("L" & G).Value = .Cells(i, "X").Value '原紙をコピーする Sheets("原紙").Copy BEFORE:=Sheets(1) 'シートの名前を市場コードにする Sheets(1).Name = SheetName End If Next i End With On Error GoTo 0 上記のVBAを作成しましたが、 C行の値ごとの転記(G~Xの値)が出来ません。 どこが間違いか教えていただけないでしょうか。

  • VBAの転記について

    With Sheets("入力") '3行目~22行目まで For i = 5 To 24 SheetName = Sheets("入力").Cells(i, "C").Value On Error Resume Next Set Dummy = Sheets(SheetName) SheetName2 = .Cells(i, "C").Value U最終行 = Sheets(SheetName2).Range("C65536").End(xlUp).Row + 1 If U最終行 = 39 Then Sheets(SheetName2).Copy BEFORE:=ActiveSheet Sheets(SheetName).Delete End If If Err.Number = 0 Then A = Sheets(SheetName2).Range("C65536").End(xlUp).Row + 1 Sheets(SheetName2).Range("C" & A).Value = .Cells(i, "G").Value Sheets(SheetName2).Range("D" & A).Value = .Cells(i, "I").Value Sheets(SheetName2).Range("E" & A).Value = .Cells(i, "L").Value Sheets(SheetName2).Range("F" & A).Value = .Cells(i, "N").Value Sheets(SheetName2).Range("G" & A).Value = .Cells(i, "P").Value Sheets(SheetName2).Range("H" & A).Value = .Cells(i, "R").Value Sheets(SheetName2).Range("I" & A).Value = .Cells(i, "T").Value Sheets(SheetName2).Range("K" & A).Value = .Cells(i, "V").Value Sheets(SheetName2).Range("L" & A).Value = .Cells(i, "X").Value ElseIf .Cells(i, "C").Value <> "" Then G = Sheets("原紙").Range("C65536").End(xlUp).Row + 1 Sheets("原紙").Range("B1").Value = .Cells(i, "D").Value Sheets("原紙").Range("B4").Value = .Cells(2, "D").Value Sheets("原紙").Range("C" & G).Value = .Cells(i, "G").Value Sheets("原紙").Range("D" & G).Value = .Cells(i, "I").Value Sheets("原紙").Range("E" & G).Value = .Cells(i, "L").Value Sheets("原紙").Range("F" & G).Value = .Cells(i, "N").Value Sheets("原紙").Range("G" & G).Value = .Cells(i, "P").Value Sheets("原紙").Range("H" & G).Value = .Cells(i, "R").Value Sheets("原紙").Range("I" & G).Value = .Cells(i, "T").Value Sheets("原紙").Range("K" & G).Value = .Cells(i, "V").Value Sheets("原紙").Range("L" & G).Value = .Cells(i, "X").Value '原紙をコピーする Sheets("原紙").Copy BEFORE:=Sheets(1) 'シートの名前を市場コードにする Sheets(1).Name = SheetName End If Next i End With On Error GoTo 0 上記のVBAを作成しましたが、 C行の値ごとの転記(G~Xの値)が出来ません。 どこが間違いか教えていただけないでしょうか。

  • 大量の図変換でVBAが遅い

    Excel2007を使用しています。 ActiveXコントロール「Microsoftバーコードコントロール 9.0」にてバーコードを生成後、 図(拡張メタファイル)として変換するというVBAを作成しています。 動作としては完成したのですが、後半に行くに従い処理が遅くなっていきます。 スタート時は10個/秒ほどですが、 最後付近は2秒/個ほどになってしまいます。 手元の環境で、700個で240秒ほどかかります。 少しでも速度を改善させる方法はありますでしょうか。 バーコード生成部分はFunctionでサブルーチンから切りだしています。 サブルーチンでは、再描画の停止(ScreenUpdating = False)や、 手動計算への切換(Calculation = xlCalculationManual)は定義しています。 ------------------------------------------------------------------- Function ShowBarCode(P_Left As Long, P_Top As Long, P_Width As Integer, _ P_Height As Integer, P_Value As String, P_Style As Integer) Application.ScreenUpdating = False Dim mySht As Worksheet Set mySht = ActiveSheet Dim myShp1 As Object ' セルにバーコードを貼付ける Set myShp1 = mySht.OLEObjects.Add(ClassType:= _ "BARCODE.BarCodeCtrl.1", Link:=False, DisplayAsIcon:=False, _ Left:=P_Left, Top:=P_Top, Width:=P_Width, Height:=P_Height) With myShp1 .Object.Style = P_Style .Object.Value = P_Value .Width = .Width - 3   ' 再描画のための小細工 .Width = .Width + 3   ' 再描画のための小細工   End With ' バーコードを図(メタファイル)として変換 myShp1.Copy ActiveSheet.PasteSpecial Format:="図 (拡張メタファイル)", Link:=False, DisplayAsIcon:=False ' バーコードを削除 myShp1.Delete End Function ------------------------------------------------------------------- 添付図:バーコード付きシート サンプル

  • 大量の図変換でVBAが遅い

    Excel2007を使用しています。 ActiveXコントロール「Microsoftバーコードコントロール 9.0」にてバーコードを生成後、 図(拡張メタファイル)として変換するというVBAを作成しています。 動作としては完成したのですが、後半に行くに従い処理が遅くなっていきます。 スタート時は10個/秒ほどですが、 最後付近は2秒/個ほどになってしまいます。 手元の環境で、700個で240秒ほどかかります。 少しでも速度を改善させる方法はありますでしょうか。 バーコード生成部分はFunctionでサブルーチンから切りだしています。 サブルーチンでは、再描画の停止(ScreenUpdating = False)や、 手動計算への切換(Calculation = xlCalculationManual)は定義しています。 ------------------------------------------------------------------- Function ShowBarCode(P_Left As Long, P_Top As Long, P_Width As Integer, _ P_Height As Integer, P_Value As String, P_Style As Integer) Application.ScreenUpdating = False Dim mySht As Worksheet Set mySht = ActiveSheet Dim myShp1 As Object ' セルにバーコードを貼付ける Set myShp1 = mySht.OLEObjects.Add(ClassType:= _ "BARCODE.BarCodeCtrl.1", Link:=False, DisplayAsIcon:=False, _ Left:=P_Left, Top:=P_Top, Width:=P_Width, Height:=P_Height) With myShp1 .Object.Style = P_Style .Object.Value = P_Value .Width = .Width - 3   ' 再描画のための小細工 .Width = .Width + 3   ' 再描画のための小細工   End With ' バーコードを図(メタファイル)として変換 myShp1.Copy ActiveSheet.PasteSpecial Format:="図 (拡張メタファイル)", Link:=False, DisplayAsIcon:=False ' バーコードを削除 myShp1.Delete End Function ------------------------------------------------------------------- 添付図:バーコード付きシート サンプル