- 締切済み
エクセルマクロ
chibita_papaの回答
- chibita_papa
- ベストアンサー率60% (127/209)
ツール - 参照設定で Microsoft ActiveX DataObjects 2.X Library にチェックを付けます
関連するQ&A
- Newがどのような役割をしているのかわからない
エクセルからアクセスの更新クエリを実行する際に エクセル側のコードで Sub ACCESSのアクションクエリを実行する() Dim cn As ADODB.Connection Dim myCmd As ADODB.Command Set cn = New ADODB.Connection Set myCmd = New ADODB.Command cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath & ".accdb;Jet OLEDB:Database" だとうまくいきませんでしたが、 Dim cn As New ADODB.Connection にしたらうまくいきました。 Newを付けることによって成功したのですが、 Newがどのような役割をしているのかわからないので教えてください。
- ベストアンサー
- Excel(エクセル)
- エクセル2013のマクロについて。
Excel 2013のシートでセルに2桁の数字を入れていますがセルの書式設定でユーザー定義を"00"として数値が1桁の場合に頭にゼロがつくようにしてあります。このシートでマクロを作成した時、変数Aを"Dim A As Byte"と定義して、「A = "セル"」の式で マクロの実行が止まり、「実行時エラー'13':型が一致しません。」と出て数値として読み込めないようですがどなたか原因と解決方法ご存知の方教えて下さい。
- 締切済み
- Excel(エクセル)
- 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
- 締切済み
- Access(アクセス)
- ExcelVBAマクロでの変数の宣言エラーについて
初歩的な質問になりますが、ExcelVBAマクロで変数の宣言「Dim wdObj As New Word.Application」のエラーについて確認させてください。 変数の宣言「Dim wdObj As New Word.Application」がExcel2007以前では使えないようで、『ユーザ定義型は定義されてません。』というエラーがExcel2007以前で起きます。 Excel2010では問題なく動作しています。 Excel2007以前でも動作する方法をご教授いただけますでしょうか。 お手数おかけしますが、よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- ADO 「Set」は使ったほうがいいのでしょうか?
Sub test1() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = New ADODB.Connection Set rs = New ADODB.Recordse End Sub Sub test2() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset End Sub この二つは同じ意味ですか? 「Set」は使ったほうがいいのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 教えて下さい。m(__)m
ADODB6.1を使用し"smp2013*.xls"の"Sheet1"の列から"済"の数をカウントしたいのですが 列名に改行コード[ALT+Enter]があり、うまく取得できません。お助け下さい。 下記コードでは"0"と表示されます。(※エラー処理等は記述しておりません。) PC:Win7pro 64bit、Excel2010 32bit Sub smp_1() Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset, FileName As String Dim j As String, i As Integer Dim val_day As String val_day = "\\share01\12345\" FileName = Dir$("\\share01\12345\smp2013*.xls") myCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;" & _ "Data Source=" & val_day & FileName j = "select count(*) from [Sheet1$] where ""H24"" & Chr(10) & ""決済"" = '済';" '←ここです。 myRS.Open j, myCon Worksheets(1).Range("A1").CopyFromRecordset myRS myRS.Close Set myRS = Nothing myCon.Close Set myCon = Nothing End Sub
- ベストアンサー
- その他(データベース)
- ワードのマクロからエクセルシートを開きデータを読み込む
ワードマクロからエクセルシートのデータを読み込みたいのですが、マクロを実行すると「コンパイルエラー:変数が定義されていません。」というエラーが出てしまいます。変数xlUpで引っかかってるようなんですが、どのように定義すればよいですか? コードは以下です。 Dim Workbooks As Object Dim ecell As Integer Workbooks.Open FileName:="namesheet.xls" ecell = Workbooks("namesheet.xls").Worksheets(1).Range("B100").End(xlUp).Row よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCEL vbaからACCESSのクエリを開く
EXCEL2010 WEBを参照してEXCEL VBAでACCESSのクエリを開くマクロを流用しました。 下記がマクロの内容です。 Private Sub Import() Dim db As ADODB.Connection Dim rs As ADODB.Recordset 'ACCDBファイルに接続します Set db = New ADODB.Connection db.Provider = "Microsoft.Ace.OLEDB.12.0" db.Open "C:\work\TEHAI.accdb" 'レコードセットを開きます Set rs = New ADODB.Recordset 'Accessのクエリを開く rs.Open Source:="TEHAI", ActiveConnection:=db If rs.EOF Then MsgBox "抽出した結果、レコードが見つかりません。" Else ' レコードをシートへ貼り付ける Range("A1").CopyFromRecordset rs End If rs.Close Set rs = Nothing Set db = Nothing End Sub これを実行すると、 抽出した結果、レコードが見つかりません。 が表示されます。 ACCESS単体でTEHAIクエリを実行したら、約3万件くらいヒットします。 EXCELマクロから実行したらACCESSからデータをもってこられません。 なぜレコードが見つかりません、 となるのでしょうか? マクロのどこがおかしいのか、教えていただきたく。 ちなみに、もともとの内容から変更したのは db.Open "C:\work\TEHAI.accdb" rs.Open Source:="TEHAI", の2ヶ所だけです。
- ベストアンサー
- Excel(エクセル)
- エクセルでのマクロ
学校の授業で、エクセルのマクロ(VBA)を習っています。 そこで、質問なんですけど、 Dim ???? As Long Dim ???? As String というように????のところが異なる文字をおいたりして変数を定義するのはわかったのですが、なぜLong とStringと異なるものを使うのでしょうか?同じでも問題はないのでしょうか?教えてください。
- ベストアンサー
- Visual Basic
- これらはどういう意味ですか?
On Error GoTo ErrorHandler Me!開始日 Dim cnn As ADODB.Connection Dim rst As New ADODB.Recordset よろしくお願いします♪
- ベストアンサー
- Visual Basic