m3_maki の回答履歴

全637件中1~20件表示
  • accessテーブルの数値をエクセルセルに移VBA

    accessファイルの abc.mdbのtable1のフィールド1のIDの数値を 現在開いているエクセルファイル Q.xlsxの A2セルに移行したいのですが エクセルのVBAにおいて Sub IDエクセルへ移行() ' 'Dim myCon As New ADODB.Connection Dim myRecordSet As New ADODB.Recordset Dim mySQL As String Dim dbFile As Variant Dim mySheetName As Variant Dim i As Integer dbFile = "C:\Users\USER\Desktop\ABC\abc.mdb" myCon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & dbFile & "" myCon.Open mySQL = "SELECT * FROM table1" myRecordSet.Open mySQL, myCon, adOpenDynamic mySheetName = ActiveSheet.Name With Worksheets(mySheetName) .Cells(1, 2).Value = myRecordSet!ID End With myRecordSet.Close Set myRecordSet = Nothing myCon.Close Set myCon = Nothing ' ' ActiveWorkbook.Save End Sub ------------- 上記を実行すると objectがありません と myCon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & dbFile & "" ここの部分が黄色くなってしまいます ここが さっぱり意味不明です すみません 宜しくお願い致します Microsoft ActiveX Data Objects 2.8 Library 6.1も 参照設定で チェックを入れました win10 office365

  • エクセルで右クリック書式設定表示されず

    会社のエクセルで右クリックした時、セルの書式設定が灰色?白表示で使えません。その他添付した通り他のも表示されません。 メニューバーで配置とか押せばセルの書式設定まで辿り着けます。 でも右クリックは押せなくなってます。 再起動したけどダメでした。 ネットで検索しましたが、トンチンカンなことばかり書いていてわかりません。 どうすればいいですか

  • listobject(テーブル)の使えるバージョン

    listobjectというかテーブルが使えるバージョンはどのバージョンからでしょうか? よろしくお願いいたします。

  • フィルターが掛かった状態でクエりで連番

    クエリでフィルターが掛かった時、連番を付ける事をしたいのですが、この式だと下記の様に連番を付ける事が出来ませんでしたのでご教授頂けれは幸いです。 連番: Val(DCount("*","テーブル名称","ID <= " & [ID])) 例1> テーブル例 ID 品名 1 みかん 2 りんご 3 ぶどう 4 みかん 5 りんご 6 みかん クエリ例 品名 みかんをフィルター ID 品名 連番 1 みかん 1 4 みかん 2 6 みかん 3 例2> テーブル例 ID 品名 120 みかん 121 りんご 123 ぶどう 124 みかん 125 りんご 126 みかん クエリ例 品名 みかんをフィルター ID 品名 連番 120 みかん 1 124 みかん 2 126 みかん 3

  • Access コンボボックスの次の値に移動

    Microsoft Accessでフォームを作りました。コンボボックス1の値はテーブル1から参照するようになっています。このフォームにボタンを追加して、ボタンを押すとコンボボックスの値が一つ下の値に移動するようにしたいです。どんなコードを書けば良いですか。

  • VBA シートの選択と追加

    ExcelのVBAで以下の処理をするにはどうすれば良いですか。 ①現在シートが7枚あります。 ②そのうち1枚目から5枚目を選択しています。 ③先頭(最後でも可)に1シート追加します。 ④最初に選択したシート(2枚目から6枚目)に戻って処理をします。 なお、選択するシート(この場合は1枚目から5枚目)は毎回変わります。

  • Excelのデータの変換方法

    ①のようなデータを②のように変える方法はありますか? ②ができる場所は、どこの行、列、タブでも構いません。 よろしくお願いいたします。

  • オートシェープをグルーピングして動作させたい

    office365 2つのオートシェープをグルーピングして図形を動作させたい 下記で kibanは平行四辺形のオートシェープ yajirushiは右向き矢印のオートシェープ で、それぞれ、ある範囲で左から右に移動を繰り返します。 この2つのオートシェープをグルーピングして 平行四辺形の右側に矢印を配置した状態で、そのグルーピングされた図形の動作を繰り返す様にしたいのですが、 その内容が分からないのでコードで教えていただきたく、よろしくお願いします。 #If Win64 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) #Else ' Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) #End If Sub kiban() shape_delete Dim ws2 As Worksheet Dim i As Integer Set ws2 = Sheets("sheet1") ws2.Shapes.AddShape(msoShapeParallelogram, 2265, 354, 46, 20).Select With Selection.ShapeRange.Fill .Visible = msoTrue .ForeColor.RGB = RGB(0, 176, 80) .Transparency = 0 .Solid End With ws2.Shapes.AddShape(msoShapeParallelogram, 2265, 458, 20, 20).Select ws2.Shapes(ws2.Shapes.Count).name = "kiban" For i = 0 To 30 If i = 30 Then i = 0 End If ws2.Shapes(1).Left = i * 3 + 365 ws2.Shapes(1).Top = 458 Sleep 100 DoEvents Next i ws2.Shapes("kiban").delete End Sub Sub yajirushi() shape_delete Dim ws As Worksheet Dim i As Integer Set ws = Sheets("sheet1") ws.Shapes.AddShape msoShapeRightArrow, 2265, 458, 20, 20 ws.Shapes(ws.Shapes.Count).name = "yajirushi" For i = 0 To 30 If i = 30 Then i = 0 End If ws.Shapes(1).Left = i * 3 + 420 ws.Shapes(1).Top = 458 Sleep 100 DoEvents Next i ws.Shapes("yajirushi").delete End Sub Sub shape_delete() Dim shp As Shape Dim rng As Range Range("P22:CM28").Select If TypeName(Selection) <> "Range" Then Exit Sub For Each shp In ActiveSheet.Shapes '‘ 図形の配置されているセル範囲をオブジェクト変数にセット Set rng = Range(shp.TopLeftCell, shp.BottomRightCell) '‘ 図形の配置されているセル範囲と '‘ 選択されているセル範囲が重なっているときに図形を削除 If Not (Intersect(rng, Selection) Is Nothing) Then shp.delete End If Next End Sub

  • 複数ファイルをエクセルに取り込む方法

    複数のテキストファイルを各シート毎にエクセルマクロを用いて貼りつけたいです。 【テキストの内容】 AAA BBB CCC DDD・・・ EEE FFF GGG HHH・・・ III JJJ KKK LLL・・・ ・ ・ ・ 上記のようなようなデータが書かれた複数のテキストファイルを各シート毎に張り付けるマクロを探していたところ 下記のようなものを見つけました。 しかし、 マクロを動かした所、一つのセルに一行分が入ってしまいます。 例)セルA1に AAA BBB CCC DDDが貼り付けられてしまう セルA2に EEE FFF GGG HHHが貼り付けられてしまう 可能であればスペース区切りでセルA、セルB、セルCに分けたいです。 例)セルA1に AAAが貼り付けられる セルB1に BBBが貼り付けられる セルC2に CCCが貼り付けられる スペース区切りで張り付けらる方法をご教示ください。 =========================== Sub ReadTextFiles() Const DirName = "C:\TEMP" '上記で指定されたフォルダに存在するファイルで、 '拡張子がtxtのものをすべて1シートとして読み込む Dim fs, dir, fc, f1, stream As Object Set fs = CreateObject("Scripting.FileSystemObject") Set dir = fs.GetFolder(DirName) Set fc = dir.Files For Each f1 In fc If LCase(fs.GetExtensionName(f1.Name)) = "txt" Then Worksheets.Add after:=Worksheets(Worksheets.Count) Sheets(Worksheets.Count).Name = f1.Name Set stream = f1.OpenAsTextStream Do While stream.AtEndOfStream <> True Cells(stream.Line, 1) = stream.ReadLine Loop stream.Close End If Next End Sub ===========================

  • 入力フォームをテーブルの真下に転記

    エクセルのVBAで入力フォームを作成して、入力フォームのテキストをシート2の、テーブルの見出しの次の行から転記される用にしたいのですが、最終行を取得すると見出しから一行飛ばして二行目に転記されてしまいます。 テーブルを作成した時に見出しの下に空欄のデータシートが自動で追加されてしまうからでしょうか? 何か対策はあるでしょうか? コードで提示して頂くと助かります。 入力フォームはシート1で開く 転記 シート2のA列から順に、連番生成(1〜)、テキストボックス1.2.3..... 宜しくお願いします

  • マクロ無しのbookでVBAを使う方法

    マクロなしbook1があります。 このbook1をマクロで参照するには 1.book1で、VBAを使う 2.VBAで新規にbook2を開き、book1のシートを取り込む の方法を考えました。 2.は多分できるかとおもうのですが、1.のbook1でVBAを開く方法がわかりません。 VBAはずいぶん昔なので、今はVBAを使うBOOKの作り方をネットで学んだところです。(excelの神髄など) 1.の方法の手順を教えてください。 この手順がわかる良いサイトが教えていただけてもよいです。

  • VBAでOutlookカレンダーを追加したい

    Outlook365を利用しています。 以下の内容でカレンダーを登録すると・・・・ ********* With CreateItem(olAppointmentItem) .Start = Now .Subject = ABCDEF .Body = AAAAAAAAA .Save End With ************ 当然ですが自分の"予定表"に追加されます。 予定表ではなくそれと別に"testcal"(サブフォルダー)があるのでVBAを用いて直接"testcal"に登録したいです。 ネットで調べるとMOVEすれば良いなどありましたが直接testcalにカレンダーを登録することは可能でしょうか? よろしくおねがいします。

  • accessの集計について

    アクセスにデータを取り込んで、必要なデータを抽出するクエリ(集計_サブ[添付図1])を作りました。 左から、店舗No・日付・商品情報・金額です。 それを元に、集計をして店舗別で、商品毎に月前半・後半と集計をしたいです。[添付図2] クロス集計で出来そうな気がしますが、店舗別、商品別にして半月毎に集計する事は可能でしょうか? もしくはvba使わないと不可能でしょうか?

  • accessの集計について

    アクセスにデータを取り込んで、必要なデータを抽出するクエリ(集計_サブ[添付図1])を作りました。 左から、店舗No・日付・商品情報・金額です。 それを元に、集計をして店舗別で、商品毎に月前半・後半と集計をしたいです。[添付図2] クロス集計で出来そうな気がしますが、店舗別、商品別にして半月毎に集計する事は可能でしょうか? もしくはvba使わないと不可能でしょうか?

  • 連番について

    下記の時のF3を計算したいと思います。どんな方法がありますか。 F1;F2;F3 1;2;1 2;2;1 3;1;2 4;3;3 5;3;3 6;3;3 7;1;4 8;1;5

  • 連番について

    下記の時のF3を計算したいと思います。どんな方法がありますか。 F1;F2;F3 1;2;1 2;2;1 3;1;2 4;3;3 5;3;3 6;3;3 7;1;4 8;1;5

  • 連番について

    下記の時のF3を計算したいと思います。どんな方法がありますか。 F1;F2;F3 1;2;1 2;2;1 3;1;2 4;3;3 5;3;3 6;3;3 7;1;4 8;1;5

  • excel if 以上 以下 範囲の判定式

    判定式をどのように指定すればいいのかをお教え下さい。 判定式をどのように指定すればいいのかをお教え下さい。 ExcelのIF関数で「○○以上××以下の場合」という条件を2つのセルに入力した結果、○△×の三段階で評価するにはどのように判定式を指定すればよいでしょうか。 添付ファイルで説明しますと、B2、B3には必ず数値が入力されて、その結果をB4で判定したいです。 B2、B3に1以上、5以下の数値がある場合は○ B2、B3に1以上、5以下の数値が1つのみ場合は△ B2、B3に1以上、5以下の数値がない場合は× よろしくお願い致します。

  • Accessクエリ

    お世話になります。 Access初学者です。 グループごとに日付が最大のレコードを、それぞれ1件抽出するクエリを作成したいと思っています。 IDを表示させなければできるのですが、IDを表示させると全レコードが抽出されます。どのようにすればいいのでしょうか? よろしくお願いします。

  • Access 非連結からレコード追加について

    標記の件。 不明な点がありご教授頂きたくお願い致します。 今まで普通に使えていたのですが急にエラー「実行時エラー2147467259・(80004005)エラーを特定できません」が出るようになりました。 Windowsのヘルプを参照しましたが、全然ヘルプどころか謎が深まるばかりという状況です。 2つあるチェックボックスの2つ目でエラーになります。 下記コードで全体の改善点含め原因等ありましたらご教授をお願い致します。クエリに変更はありませんでした。 Private Sub btn_登録_Click() Dim con As ADODB.Connection Dim rst As ADODB.Recordset Set con = CurrentProject.Connection Set rst = New ADODB.Recordset If IsNull(txt_工数ロットCD = "" Or _ txt_部品CD = "" Or _ txt_図面番号 = "" Or _ txt_数量 = "" Or _ txt_品名 = "" Or _ cmb_社員名 = "" Or _ txt_作業日 = "" Or _ cmb_工程 = "" Or _ txt_工数 = "") Then MsgBox " 未入力項目があります", vbCritical, "確認" Exit Sub End If If txt_工数ロットCD = "" Or _ txt_部品CD = "" Or _ txt_図面番号 = "" Or _ txt_数量 = "" Or _ txt_品名 = "" Or _ cmb_社員名 = "" Or _ txt_作業日 = "" Or _ cmb_工程 = "" Or _ txt_工数 = "" Then MsgBox "未入力項目が有ります", vbCritical, "確認" Exit Sub End If rst.Open "Q_工程進捗確認", con, adOpenForwardOnly, adLockPessimistic On Error GoTo err_handler 'エラーなら con.BeginTrans ' With rst .AddNew .Fields("工数ロットCD") = Me!txt_工数ロットCD .Fields("部品CD") = Me!txt_部品CD .Fields("数量") = Me!txt_数量 .Fields("社員名") = Me!cmb_社員名 .Fields("作業日") = Me!txt_作業日 .Fields("工程") = Me!cmb_工程 .Fields("工数") = Me!txt_工数 If IsNull(Me.chk_自工程完了) Then .Update Else .Fields("自工程完了") = Me.chk_自工程完了 .Update '更新 End If If IsNull(Me.chk_製作完了) Then .Update '更新 Else .Fields("製作完了") = Me.chk_製作完了.Value ←ここでエラー .Update End If End With con.CommitTrans '確定 Set rst = Nothing Set con = Nothing Call btn_クリア_Click Exit Sub err_handler: con.RollbackTrans Call dbcut_off MsgBox Error$ Debug.Print Error$ End Sub