doara_2011 の回答履歴

全57件中21~40件表示
  • VBAでオプションボタンの設定

    ワークシート上にOLEオブジェクトのオプションボタンを配置して、LinkedCellを設定し、同一行でGroupName を設定し、Caption をYesとNoにしようと思いました。 ところが、以下のコードですと、GroupName とCaption がエラーになってしまいます。 どのように直せばいいのでしょうか? エクセル2003です。 Sub test01() Dim n As Long, i As Long With ActiveSheet For n = 1 To 2 For i = 1 To 3 Set opt = .OLEObjects.Add(ClassType:="Forms.OptionButton.1", _ Left:=.Cells(i, n).Left, Top:=.Cells(i, n).Top, Width:=50, Height:=18) opt.LinkedCell = .Cells(i, n).Offset(, 4).Address ' opt.GroupName = "OptG" & i ' opt.Caption = IIf(n = 1, "Yes", "No") Next i Next n End With End Sub

  • ExcelVBAのFind関数について質問です。

    Find関数を使用して検索を行う際に、検索対象のシートに"ヶ月"、"ヵ月"という文字が記載されていると 処理が遅くなってしまします。 解決方法をご存知の方いらっしゃいますでしょうか? 以下、読みにくいプログラムかもしれませんが、ご教授願います。 Sub ボタン1_Click() Dim value As String Dim pass As String Dim template As Workbook Dim object As Object '検索対象文字 value = "A" 'テンプレートのパス pass = "C:\template.xls" 'テンプレートを開く Set template = Workbooks.Open(pass) 'テンプレートをコピー ActiveWorkbook.Sheets.Copy 'テンプレートを閉じる template.Close saveChanges:=False With ActiveWorkbook.ActiveSheet.Range(Cells(1, 1), Cells(10000, 256)) 'テンプレートにAという文字が存在するかのチェック Set object = .Find(What:=value, LookAt:=xlPart, SearchOrder:=xlByRows) Do '存在しない場合は処理を終了 If object Is Nothing Then End '存在する場合はA→Bに置き換える Else object = Replace(object, value, "B") End If '引き続きSheet2にAという文字が存在するかのチェック Set object = .Find(What:=value, LookAt:=xlPart, SearchOrder:=xlByRows) Loop While Not object Is Nothing End With End Sub

  • ExcelVBAのFind関数について質問です。

    Find関数を使用して検索を行う際に、検索対象のシートに"ヶ月"、"ヵ月"という文字が記載されていると 処理が遅くなってしまします。 解決方法をご存知の方いらっしゃいますでしょうか? 以下、読みにくいプログラムかもしれませんが、ご教授願います。 Sub ボタン1_Click() Dim value As String Dim pass As String Dim template As Workbook Dim object As Object '検索対象文字 value = "A" 'テンプレートのパス pass = "C:\template.xls" 'テンプレートを開く Set template = Workbooks.Open(pass) 'テンプレートをコピー ActiveWorkbook.Sheets.Copy 'テンプレートを閉じる template.Close saveChanges:=False With ActiveWorkbook.ActiveSheet.Range(Cells(1, 1), Cells(10000, 256)) 'テンプレートにAという文字が存在するかのチェック Set object = .Find(What:=value, LookAt:=xlPart, SearchOrder:=xlByRows) Do '存在しない場合は処理を終了 If object Is Nothing Then End '存在する場合はA→Bに置き換える Else object = Replace(object, value, "B") End If '引き続きSheet2にAという文字が存在するかのチェック Set object = .Find(What:=value, LookAt:=xlPart, SearchOrder:=xlByRows) Loop While Not object Is Nothing End With End Sub

  • iTunesの文字化けを元の日本語に変換する方法

    購入した音楽CDをパソコンに取り込み、iTunesを起動し再生したところ、名前(題名)、アーティスト、アルバム、ジャンルなどが、元々日本語だったのが、知らない間に、全て、中国語?みたいな文字に変換されています。元の日本語に直す方法(変換方法)を教えてください。パソコンのOSはXPです。iTunesのバージョンは9です。

  • Excel2010で第2軸

    Excel2010で2つのデータで散布図を作成し、 片方のデータを第2軸に設定します。 この状態で, 第2軸に設定した方のX軸と第1軸に設定した方のX軸が 別で設定されてしまいます。 例えば、同じX軸を共有して2つのデータを示したい場合、 2つのデータを別々にX軸の範囲などを設定する必要があります。 Excel2003では, 第1軸のデータと第2軸のデータで X軸を共有していたため、このような問題はありませんでした。 どうすれば、第1軸と第2軸のX軸が連動されるように出来ますでしょうか?

  • Excel2010で第2軸

    Excel2010で2つのデータで散布図を作成し、 片方のデータを第2軸に設定します。 この状態で, 第2軸に設定した方のX軸と第1軸に設定した方のX軸が 別で設定されてしまいます。 例えば、同じX軸を共有して2つのデータを示したい場合、 2つのデータを別々にX軸の範囲などを設定する必要があります。 Excel2003では, 第1軸のデータと第2軸のデータで X軸を共有していたため、このような問題はありませんでした。 どうすれば、第1軸と第2軸のX軸が連動されるように出来ますでしょうか?

  • Excel VBのComboBoxで横一列の選択

    日程表マクロを作っています。セルのC3からAG3の横列31個のセルに1日から31日までの日付を作成してあります。 コンボボックス5で日付選択をしたいので、この列を参照したいと考え、下記のプログラムを作成しました。実行すると「コンパイルエラー」、参照されません。 Private Sub ComboBox5_Enter() ComboBox5.ColumnSource = "C3:AG3" ’ComboBox5をActiveSheetに変更するとサポートされず。 End Sub マクロで With ComboBox5 .AddItem"1" .AddItem"2" : .AddItem"31" ではなくてRowSourceに代わる指定セル範囲の横列参照はできないのでしょうか? あるいはもっとスマートな指令方法があれば教えてください。 Excel2007 VB6.5です。

  • excelのVBAでアドバイスお願いします

    excel2000を利用しています。 ■状況 ・「実験フォルダ」という名前のフォルダがあります ・「実験フォルダ」の中に「差し込み表示.xls」という名前のファイルがあります ・「実験フォルダ」の中に「実験データ.xls」という名前のファイルがあります。 ■やりたいこと ・「実験データ.xls」のファイルデータを参照して、「差し込み表示.xls」のファイルにデータを表示させたい。 ・検索するキーは日付(「実験データはB列、差し込み表示はE5セル」です。 ■状況 自分で作ったコードだと値がみつかりません、となって、うまくデータを転記して表示してくれません。 ■お願いしたいこと コードの修正アドバイス、もしくは、他にもっといいプログラムがあるなどのアドバイスがあればいただけるとありがたいです。 ■うまくいかないコード Option Explicit Sub datatyuusyutu() On Error Resume Next Const sashikomiDisplay As String = "差し込み表示.xls" Const dataFile As String = "実験データ.xls" Dim i As Long Dim j As Long Dim k As Long Dim objectionrow As Long Dim lastRow As Long Dim targetDate As String Dim targetTime As String Dim data(1 To 43) As Double Dim dataFindFlag As Boolean Dim 対象フォルダ As String '検索する年月日を取得 targetDate = Range("E5").Value MsgBox targetDate 対象フォルダ = ThisWorkbook.Path & "\" Workbooks.Open 対象フォルダ & dataFile lastRow = Cells(Rows.Count, "B").End(xlUp).Row 'B列の最終行を得る MsgBox lastRow '年月日で検索 For i = 2 To lastRow If Cells(i, 2) = targetDate Then Cells(i, 2).Select dataFindFlag = True For k = 1 To 43 data(k) = Cells(i - 1, k) Next k Exit For End If Exit For Next i Windows(sashikomiDisplay).Activate With Workbooks("実験データ.xls") If dataFindFlag = True Then Cells(1, 2) = data(1) Cells(12, 3) = data(4) Cells(14, 6) = data(5) MsgBox "実行しました" Else MsgBox "データがありません" End If End With Workbooks(dataFile).Close savechanges:=False End Sub

  • 行ごとに保護するマクロにパスワードを付けたい

    Excel2010を使用しております。 A列に「承認」という文字が入ると、その行が保護されるマクロがあります。 今の状態ですと、[校閲]-[シート保護の解除]を押すと解除されてしまいますので 保護を解除する際にパスワードを設定したいのですが上手く行きません。 どうかお助け下さい。宜しくお願い致します。 Private Sub Worksheet_Change(ByVal Target As Range) Dim r, rng As Range Set rng = Intersect(Target, Columns(1)) If Not rng Is Nothing Then If ActiveSheet.ProtectContents = True Then ActiveSheet.Unprotect End If For Each r In rng If r.Value = "承認" Then r.EntireRow.Locked = True Else r.EntireRow.Locked = False End If Next r ActiveSheet.Protect DrawingObjects:=True, Contents:=True, AllowFormattingCells:=True End If End Sub

  • セルにカーソルを合わせると文字を表示させるVBA

    ちょうどエクセルの挿入できるコメントの表示-非表示のように指定のセル(仮にA1とした場合) にカーソルを持って行くとあらかじめ決めておいた任意の文字を表示させて、セルからカーソル が離れると非表示にさせる方法はあるのでしょうか?背景は白色で文字色は黒色になります。

  • セルにカーソルを合わせると文字を表示させるVBA

    ちょうどエクセルの挿入できるコメントの表示-非表示のように指定のセル(仮にA1とした場合) にカーソルを持って行くとあらかじめ決めておいた任意の文字を表示させて、セルからカーソル が離れると非表示にさせる方法はあるのでしょうか?背景は白色で文字色は黒色になります。

  • アクセス2000 パス名に間違いが。。。

    パス”\\130.~~~~~~~.mdb"は正しくありません。 パス名に間違いがないこととファイルが置かれたサーバーに接続していることを 確認してください というメッセージが出ます。 前任者が作成しているデータベースをおかしくしてしまい、 バックアップでとっていたものを名前を変えて、デスクトップにショートカットでおきました。 それが原因なのでしょうか? 名前を変えてしまうなんて、ありえないことなんでしょうか? ご指導よろしくお願いします。

  • grepにマッチした正規表現の文字列を取得したい

    grepにマッチした正規表現の文字列を取得し、マッチした文字列を 一覧で取得したいのですが、方法がわかりません。 ※例 grep [0-9][0-9][0-9][0-9][0-9] 検索ファイル名 > 出力ファイル名 不明点あればお知らせください。 よろしくお願いします。

  • お願いします。

    vbaでエラーが出ているみたいなのですが、分かりません。SHeets()の行でエラーが出てます。 e = Worksheets("sheet1").UsedRange.Rows.Count For j = 2 To e Step 1 Sheets("sheet2").Cells(j + 1, 1) = Sheets("sheet1").Cells(j, 1) ちなみにCells(j,1)をCells(j + 1, 1)にしたらエラーが出始めました。 エラーは"アプリケーション定義またはオブジェクト定義のエラーです。"です。 よろしくお願い致します。

  • お願いします。

    vbaでエラーが出ているみたいなのですが、分かりません。SHeets()の行でエラーが出てます。 e = Worksheets("sheet1").UsedRange.Rows.Count For j = 2 To e Step 1 Sheets("sheet2").Cells(j + 1, 1) = Sheets("sheet1").Cells(j, 1) ちなみにCells(j,1)をCells(j + 1, 1)にしたらエラーが出始めました。 エラーは"アプリケーション定義またはオブジェクト定義のエラーです。"です。 よろしくお願い致します。

  • 【マクロ】値貼り付けに変更するには…?

    当方Excel2003です。 ○フォルダ内に入力用のブック(複数)とまとめ用ブック(一つ)が存在し ○すべてのブックにはシートが一つしかなく、タイトル行の位置はまとめブック含めすべて同じ構成である ○入力用ブックのシート名は「入力」、まとめ用ブックのシート名は「まとめ」である 前提で、入力用ブックのデータ入力域をまとめ用ブックに順次コピーをしようと作成中のものですが、 以下の構文 Set c = .Range("B" & .Rows.Count).End(xlUp).Offset(1) あるいは With .Worksheets(入力).Range("B3:H3" & Range("H65532").End(xlUp).Row).Copy Destination:=c の部分について コピー貼り付け(そのまま)ではなく、 「値のみの貼り付け」に変更するには? どういうふうに変更したら良いのか どなたかご教示いただければ幸いです。 よろしくお願いいたします。 Sub 連続貼り付け() Dim sFile As String Dim c As Range Dim myPAth As String Application.ScreenUpdating = False sFile = Dir(ThisWorkbook.Path & "\*.xls", vbNormal) myPAth = ThisWorkbook.Path Do While 0 < Len(sFile)      With ThisWorkbook.Worksheets("まとめ")       Set c = .Range("B" & .Rows.Count).End(xlUp).Offset(1)      End With     Select Case sFile        Case ThisWorkbook.Name:        Case Else          With Workbooks.Open(Filename:=myPAth & "\" & sFile, ReadOnly:=True)              With .Worksheets(入力)                  .Range("B3:H3" & Range("H65532").End(xlUp).Row).Copy Destination:=c              End With             .Close SaveChanges:=False          End With      End Select      sFile = Dir()      Set c = Nothing   Loop   Application.ScreenUpdating = True   End Sub

  • extern指定子の使い方

    こんにちは。 現在WindowsVistaでCプログラミングを行っています。 独習Cという本に沿って勉強しているのですが、extern指定子の使い方の所でつまずきました。 まず、サンプルプログラムを参照し、以下のような2つのファイルを作成しました。 (必要なヘッダファイルは全てインクルードしています。) ●main.c ____________________________________________________________ extern int random; void func(void); void main(void) { int i; for(i=1; i<=10; i++){ func(); printf("発生した乱数 : %d\n", random); } } ____________________________________________________________ ●func.c ____________________________________________________________ int random; void func(void) { long ltime; long utime; /*まず、time()関数とsrand()関数を使って乱数列の初期値を 毎回変更できるようにする*/ ltime=time(NULL); utime=(unsigned int)ltime/2; srand(utime); //乱数を発生させてrandomに代入する random=rand(); } ____________________________________________________________ この2つのファイルをコンパイルし、実行した所同じ整数が10個表示されました。 異なる整数を10個表示したいのですが、どうすればよいかが分からず困っています。 何か分かる方がいらっしゃれば、アドバイスをお願い致します。

  • Rでtwitterを使いたいのですが下記サイトの「

    Rでtwitterを使いたいのですが下記サイトの「minitSession関数から返されるのはUnixのCURLコマンドをラップした“CURLHandle”オブジェクトで、twitteRの関数を利用するときにこのオブジェクトを引数に渡してやる必要があります。」というのが理解できません。誰か助けてください。 http://www.atmarkit.co.jp/fcoding/articles/stat/05/stat05a.html

  • エクセルでデータを抽出して日報を作りたいです

    今は日報を手書きで作っているんですが、今度からパソコンで作ることになり、かなり困ってます。 やりたい内容としては、エクセルで作っている顧客データがあるんですが、それの中の郵便番号を絞り込んで別ブックの日報のシートに顧客名だけを移す作業です。マクロ初心者で本を読んではいますがどうしていいのかわかりません。どなたか教えてください。 ≪顧客データ≫ A列      B列     C列     D列       顧客名  電話番号  郵便番号  市町村名    顧客データはこのような並びです。顧客名は2行目から始まっており、24000行ほどあります。 ≪日報≫ A列     B列 番号   顧客名 日報はこの並びです。日報の顧客名を移したい場所はB列の13行目から表示させたいです。 日報を作るときにできれば顧客データを触りたくないので、日報でセルに郵便番号を入れて マクロで作れるボタンをクリックして作成できたらいいかなって思っています。 ちなみに日報はデスクトップにあるんですが、顧客データは違うフォルダの中に入っています。 マクロ初心者ですがどなたかわかる方がいましたらよろしくお願いいたします。 わかりやすくコードを書いていただけると助かります。

  • 文字のチェック

    excelのvbaでsheet2のA列には1または2または5が入っていて、B列には00542,00984などたくさんの文字列が入っています。 それでA列の数字が2かつB列が2文字目降(054,098)の3文字分が098または099なら、sheet3のA列に0を出力というプログラムを作っています。下記が作成したプログラムなのですが、if文の型が違うというエラーが出たり、エラーが無くても表示されなかったりします。 ご指摘ありましたら、よろしくお願いします。 Sub Macro1() ' ' Dim i As Long For i = 1 To 5 If Mid(Sheets(Sheet2).Cells(i, 2), 2, 3) = "'098" Or Mid(Sheets(Sheet2).Cells(i, 2), 2, 3) = "'099" And Sheets(Sheet2).Cells(i, 1) = 1 Then Sheets(Sheet2).Cells(i, 3).Value = 0 End If Next ' ' End Sub