Quantcast
Channel: OKWAVE 最新質問(Visual Basic/257)【本日】
Viewing all 6510 articles
Browse latest View live

エクセルのマクロについての質問です。

$
0
0
以下のようなものをマクロで組むことは可能でしょうか? エクセルのマクロについての質問です。 デスクトップの発注書集計というフォルダの中に、店舗1~店舗19のエクセルファイルがあります。 この店舗1~店舗19までの数値を同じフォルダ内にある発注書まとめというファイルにまとめたいです。 シート数とシート名は毎回違います。 集計の仕方は以下の通りです。 各店舗ファイルのシート名と発注書まとめのシート名が同じシート(例えば各店舗ファイルのSheet1の値は発注書まとめのSheet1にまとめます)に以下の範囲の値と書式(セルの色)を貼り付けます。 店舗1 各シートのC59:68を発注書まとめ各シートのC59:68に貼り付け 店舗2 各シートのD59:68を発注書まとめ各シートのD59:68に貼り付け 店舗3 各シートのE59:68を発注書まとめ各シートのE59:68に貼り付け 店舗4 各シートのF59:68を発注書まとめ各シートのF59:68に貼り付け 店舗5 各シートのG59:68を発注書まとめ各シートのG59:68に貼り付け 店舗6 各シートのH59:68を発注書まとめ各シートのH59:68に貼り付け 店舗7 各シートのI59:68を発注書まとめ各シートのI59:68に貼り付け 店舗8 各シートのJ59:68を発注書まとめ各シートのJ59:68に貼り付け 店舗9 各シートのK59:68を発注書まとめ各シートのK59:68に貼り付け 店舗10 各シートのL59:68を発注書まとめ各シートのL59:68に貼り付け 店舗11 各シートのM59:68を発注書まとめ各シートのM59:68に貼り付け 店舗12 各シートのN59:68を発注書まとめ各シートのN59:68に貼り付け 店舗13 各シートのO59:68を発注書まとめ各シートのO59:68に貼り付け 店舗14 各シートのP59:68を発注書まとめ各シートのP59:68に貼り付け 店舗15 各シートのQ59:68を発注書まとめ各シートのQ59:68に貼り付け 店舗16 各シートのR59:68を発注書まとめ各シートのR59:68に貼り付け 店舗17 各シートのS59:68を発注書まとめ各シートのS59:68に貼り付け 店舗18 各シートのT59:68を発注書まとめ各シートのT59:68に貼り付け 店舗19 各シートのU59:68を発注書まとめ各シートのU59:68に貼り付け シート数が多くかなり時間を取られてしまいます。 この集計作業を何とか軽減したいです。 何卒ご教示お願い致します。

ExcelVBAでオートシェイプラインを変更したい

$
0
0
Excel2013を使用しています。表中の空欄にShapeを使って斜めにラインを引いていますが、この線をデータのカウントに合わせて上端を変化させたい。AddLineにて線を挿入するコードとマクロでのSelection.ShapeRange.ScaleWidth 1.3605442177, msoFalse, msoScaleFromBottomRight 'Selection.ShapeRange.ScaleHeight 0.7500001875, msoFalse, _では希望通りできますが、いちいちポイントをつかまなくてはなりません。名前を付けたラインをセレクトして「I27(右上)~B31(左下固定)」等と上端を変化できる方法を教えてください。

ExcelVBAのコンパイルエラーで困ってます。

$
0
0
Excel2013でvba自動化している表があります。3台のパソコンで共有しているのですが、昨年12月から急にエラーが出るようになりました。「無効なオブジェクトライブラリです。または定義されていないオブジェクトの参照を含んでいます。」のエラーです。なぜかバックアップのファイルでは動作したのですが、1/6からまたエラーが出るようになりました。  ただ、3台ともエラーではなく、作成している私のパソコンは問題なく動作します。チェックボタンとオプションボタンが影響しているようなのですが何かデバックの方法はありますでしょうか。よろしくお願いします。

エクセルVBAで

$
0
0
いつもお世話になっています。 エクセルVBAでセルのデータを読み込んでテキストファイルを出力するプログラムを書いています。 その際に、セル内のデータで「00」や「01」などのデータを読み込んで、そのままテキスト出力させたい場合関数の指定をStringにした場合「0」や「1」と出てしまいます。 「00」や「01」でテキスト出力させる方法を教えてください。 よろしくお願いいたします。

xlsmファイルがクラッシュした場合

$
0
0
Excel2010を使っています。 xlsmファイル上でVBAを使って、3次元配列を使った計算プログラムを書いていたところ 突然、Excelがクラッシュし強制終了してしまいました。 再度同じxlsmファイルを開こうとしたのですが 同じようにすぐに強制終了してしまう状態にあります。 そのため別の正常に開けるxlsxファイルを開いて 復元されたクラッシュxlsmファイルを開くことを試みました。 復元されたファイルは3つあったのですが、 そのうち二つは開こうとしても強制終了する状態にありました。 一つだけ無事に開くことができました。 しかしユーザーフォームを表示しようとすると http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12128270722 「ActiveXコンポーネントはオブジェクトを作成できません。(実行時エラー'429')」 というエラーメッセージが表示されて開くことができませんでした。 原因を調べたところ、 Private Sub UserForm_Initialize() の中にある ThisWorkbook.path を削除すると開くことができることが分かりました。 しかし、クラッシュした時にはこのあたりのコードは全くいじっていなかったため、 これが原因であるとは考えられません。 どうもMicrosoft Excel Objectsの辺りが以前と違う状態にあることが分かったため、 1日前に保存していたxlsmファイルに標準モジュールなどをコピーすることで問題は解決しました。 ここで質問なのですが、 ・なぜ突然Excelがクラッシュして開くことができなくなったのでしょうか? これまで3年近くこのPCでVBAを使った作業をしていますが、このような事例は初めてです。 特にWindows APIを使うような複雑なコードは使用していません。 ・「ActiveXコンポーネントはオブジェクトを作成できません。(実行時エラー'429')」 というエラーとThisWorkbook.pathはどういう関係があるのでしょうか? ・今回は不幸中の幸いで復帰することができましたが もしもどうやってもxlsmファイルを開くことができない場合には、 xlsmファイルがVBAのbasファイルだけ抽出することはできるのでしょうか? よろしくお願いいたします。

サイボウズOfficeへスケジュール登録

$
0
0
VB2010 Framework4.0のWindowsアプリケーションでサイボウズAPIを使いスケジュールの登録を 使用としています。 サイボウズサーバへのサービス参照追加まで行いSOAP通信をすることまではわかるのですが、 この後どのように開発すればよいかがわからず困っております。 実際にどのようにデータを実装し、サイボウズサーバを通信すればよいか教えて頂けないでしょうか?

VBでのモータ制御

$
0
0
USB-IOとVBを使用してモーターの制御をしたいです。 サンプルでもいいのでわかる方は教えてください。

sheet1 A1日付に合致する内容をコピー

$
0
0
VBAにてsheet2より sheet1 A1日付に合致した日付の内容を添付のようににコピーしたいのですがよろしくお願いします。

指定セルクリックでカレンダー表示

$
0
0
Excelsheet1VBAコードに下記に記載されておりA列全てのセルクリックでカレンダーが表示されますがA1セルクリックのみカレンダー表示するにはどのようにコードを変更すれば良いかお願いします。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' 複数セル選択時は無視 If Target.Count <> 1 Then Exit Sub ' A列以外は無視(今回サンプルの例) If Target.Column <> 1 Then Exit Sub ' カレンダーフォームを起動する Call ShowCalendarFromRange(Target) End Sub

任意の区切り文字でsplitする方法

$
0
0
VBAで任意の区切り文字でsplitする方法を教えてください。 例えば 123 456 789 333 3444 66 65 22 といようなスペースあるいはタブで区切られたテキストデータがあるとします。 これを配列に格納したいのですが、 この区切りがタブ一つとか、スペース一つとか決まっていれば split関数で簡単に配列に格納することができますが、 タブかも知れないし、スペースがかも知れないし その数も未定の場合にはどうしたら良いですか? replace関数を使って、まず全てのタブをスペースに変換し その後に、複数のスペースを一つのスペースに変換し 最後にsplit関数を使うという方法しかないでしょうか? もっとスマートな方法があれば教えてください。

テキストウィザード(ODBC接続に失敗

$
0
0
オラクル(11.0)とACCESS2010において ODBC接続をおこない クエリでデータを抽出しました。 データ件数(6千件ほどあります) そのクエリより、外部エクスポート 機能によりCSVファイルを作成したいのですが テキストウィザード(ODBC接続に失敗・・・)が表示され ウィザードが開きません また、データ件数30件程度で、実行すると、正常にウィザード画面が開き、エクスポート 定義画面が表示され、スムーズに処理を行うことができます。 上記の操作が成功した際には、VBA TransferTextコマンドにて対応したいと考えて おります。 なにが、要因でなるのか不明です。

IE制御でのタブの処理について

$
0
0
vb.netでIEを制御するアプリを作成するために、それに必要な知識をネット上で収集しています。 下記のコードを部分的に借用させて頂こうとしていますが、行番号31のDebug.Printで出力される内容が"http://www.yahoo.co.jp/"ではなく、"about:blank"です。どうしてでしょうか? 1 Public Class Form1 2 Private Const IE_MAX As Integer = 5 3 Private Const NAV_OPEN_IN_NEW_TAB As Integer = &H800 4 Private Const NAV_OPEN_IN_BACKGROUND_TAB As Integer = &H1000 5 6 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 7 8 'IE起動&タブを5つまで開く 9 Dim objShell As Object = CreateObject("Shell.Application") 10 Dim objIE As SHDocVw.InternetExplorer = _ 11 CreateObject("InternetExplorer.Application") 12 Dim count As Integer 13 Dim ieList As New List(Of SHDocVw.InternetExplorer) 14 objIE.Visible = True '可視 15 While count < IE_MAX 16 If count = 0 Then 17 objIE.Navigate("about:blank") 18 Else 19 objIE.Navigate("about:blank", NAV_OPEN_IN_BACKGROUND_TAB) 20 End If 21 System.Threading.Thread.Sleep(1000) 'ある程度の時間Sleepしないと、異なるタブで開けない 22 ieList.Add(objShell.Windows.Item(objShell.Windows.Count - 1)) 23 count += 1 24 End While 25 Application.DoEvents() 26 27 'タブ1と2でサイトを表示 28 ieList.Item(0).Navigate("http://www.google.co.jp/") 29 ieList.Item(1).Navigate("http://www.yahoo.co.jp/") 30 31     Debug.Print(ieList.Item(1).document.URL) 32 33 End Sub 34 End Class 環境は、Windows 7、VB 2010 Expressです。 ご教示の程、よろしくお願い致します。

画像のビット数を変更する方法

$
0
0
http://oshiete.goo.ne.jp/qa/8880161.html このページなどで画像の取扱に関して詳しく教えていただきました。 大体、思ったことはできるようになったのですが まだ疑問点が残っております。 例えば、24bit画像をGDI+で読み込んで、 アルファチャンネルに情報を書き加えた後、 そのまま画像を出力します。 するとirfanviewなどで読み込んだ際に アルファチャンネルに情報をもっているにも拘わらず 24bit画像をとして認識されてしまいます。 アルファチャンネルをもっているかいないかではなく 画像のインデックスのところに24か32bitかを識別するものが含まれているようです。 読み込んだ24bit画像を32bit画像に変換したいのですが どのようにすれば良いでしょうか? GdipCreateBitmapFromScan0(lngWidth, lngHeight, 0, PixelFormat32bppARGB, ByVal 0&, hBmp2) を使えば、32bit画像を生成できますが 新たにbitmapオブジェクトを生成せずに 読み込んだオブジェクトのbit数を変更する方法を教えてください。

ボタン入力で他ブックへコピー

$
0
0
ブックBシート炉のボタンでブックAシート総括の日付のマッチした所にコピーしたいのですが また日付当日17:00までに入力ボタンを押し忘れたら前日の内容をコピーするようにしたいのですがどなたかVBAのコードが解る方よろしくお願いします。

Excel マクロで図形の既定値を設定したい

$
0
0
Excelで図形の既定値を変更する際、図形を挿入し、デフォルトにしたい書式(塗りつぶし色や線など)を設定後、図形を右クリックし「既定の図形に設定」をクリックしますが、その処理をマクロでやりたいです。マクロの記録をしてみたところ、右クリックして既定の図形に設定の部分が記録されません。この処理をマクロで行うことはできないのでしょうか?

PreviewKeyDownについて

$
0
0
 Form1にButton1とTextBox1、TextBox2、TextBox3を配置します。 TextBox2はMultiLineにします。 プログラムを実行し、1度目は4などを入れ「Enterキー」を押し、間違えます。 TextBox3には「不正解」と表示されます。 次に、textbox2に正解の3を入れ「Enterキー」を押しても「正解」とは表示されません。 私の頭では「正解」と表示されると思うのですが、どこがおかしいのでしょうか。  もう一つ、TextBox2はEnterキーを押したときの「ピン」という警告音が出ないようにMultiLineにしていますが、MultiLineにせず、警告音を消す方法はありますか。宜しくお願いいたします。  以下はコードです。 Dim Problem As String Dim RightAnswer As String Dim Answer As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load problem = "1+2=" RightAnswer = "3" End Sub Private Sub TextBox2_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles TextBox2.PreviewKeyDown If e.KeyCode = Keys.Enter Then Answer = Me.TextBox2.Text If Answer = RightAnswer Then Me.TextBox3.Text = "正解" Else Me.TextBox2.Text = "" Me.TextBox3.Text = "不正解" Me.TextBox2.Focus() End If End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.TextBox1.Text = Problem Me.TextBox2.Focus() End Sub

毎日指定時刻に前日の内容をコピーする

$
0
0
ExcelVBAで手入力し忘れた場合、毎日指定時刻(17:00:00)に前日のセル内容をコピーしたいのですがお解りになる方よろしくお願いします。 1月1日、1月2日は手入力してますが、1月3日当日17:00:00までに入力し忘れた場合(空白)自動マクロで1月2日の内容をコピーし、毎日当日の同指定時刻になればマクロ実行に設定したいのですが。

ボタン入力で他ブックのセルへコピー

$
0
0
ブックBシート炉の1月1日の横にある入力ボタンでブックAシート総括の日付のマッチ(ブックBのA3とブックAのA2)したらブックBの1月1日のB3:C7がブックAのA1:B7にコピーしたいのですがどなたかVBAコードが解る方お願いします。 同様に順に1月2日の横にある入力ボタンでブックAへコピーしたいのですが。

VBA入力フォームで労働時間の計算をしたい

$
0
0
VBAで入力フォームを作りました。  1)開始時間(textbox1)・終了時間(textbox2)・休憩時間(textbox3)・従事人数(textbox4) の入力を行うと自動的に延べ労働時間(textbox5)計算し表示をしたいです。  【例:13:00(開始) 14:00(終了) 0:15(休憩15分) 5(従事人数) =3:45(textbox5)】  例の3:45という答えがでる計算式を教えていただけないでしょうか? また、上記の同項目が10個あり、延べ労働時間の合計を表示するところも作りました。(textbox6)  2)時間記入時13:00と入力が面倒なので『1300』というように『:』を省略したいです。    なお答えの欄は『:』の表記したいです。  3)また、計算終了後、表記入のボタンを押すと指定したセルに(textbox6)の答えが表示できるよう作成したいです。    0からの質問で恐縮ですが1)~3)の質問お願いについてご回答よろしくお願いいたします。

VB.net2010 曜日の取得について

$
0
0
初心者ですが、失礼します。 VB.net2010にて コンボボックス4つ (「20」「00」年「04」月「02」日の「」の4つ) に任意の日付を入れてその日の曜日を分かるようなコードを組みたいのですが、 weekdayname関数とコンボボックスの合わせ方がイマイチ分かりません。 宜しくお願い致します。 1. コンボボックス4つの年月日を選択してボタンを押す 2.メッセージボックスに曜日を表示する
Viewing all 6510 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>