cj_mover の回答履歴

全798件中121~140件表示
  • vbaで参照設定

    Dim Ref As Reference 'Excel Set Ref = References.AddFromGuid("{00020813-0000-0000-C000-000000000046}", 1, 7) 'ADODB Set Ref = References.AddFromGuid("{2A75196C-D9EB-4129-B803-931327F72D5C}", 2, 8) このような感じで、vbaで参照設定をしているのですが、 Microsoft Forms 2.0 Object Library へ、vbaで参照設定をしたい場合、どうなりますか? 今は、 http://www.moug.net/tech/acvba/0020034.html のやり方で手作業で参照設定していますが、 vbaでのやり方が知りたいです。 {00020813-0000-0000-C000-000000000046}", 1, 7 こういうコードの調べ方がわかりません。

  • vbaで参照設定

    Dim Ref As Reference 'Excel Set Ref = References.AddFromGuid("{00020813-0000-0000-C000-000000000046}", 1, 7) 'ADODB Set Ref = References.AddFromGuid("{2A75196C-D9EB-4129-B803-931327F72D5C}", 2, 8) このような感じで、vbaで参照設定をしているのですが、 Microsoft Forms 2.0 Object Library へ、vbaで参照設定をしたい場合、どうなりますか? 今は、 http://www.moug.net/tech/acvba/0020034.html のやり方で手作業で参照設定していますが、 vbaでのやり方が知りたいです。 {00020813-0000-0000-C000-000000000046}", 1, 7 こういうコードの調べ方がわかりません。

  • 「timer」の不思議

    以下のようなコードを書くと timer2 < timer1となります。 不思議です。 幾らパソコンが速いといえどもおかしいのでは。 救える方法はあるのでしょうか。 timer1 = timer timer2 = timer そもそも、この質問は、 1秒ごとに、経過時間(hh:mm:ssのように)を表示したいと思い、、 ロジックを考えていて発見しました。 こちら(時計表示)についても合わせて教えていただけると嬉しいです。 宜しくお願いします。

  • VBA/エクセルの日付入力でYYYYMMDD

    エクセル2013です。 特定のセルに日付を入力してもらうのですが、人によりさまざまな入力をされてしまいます。 どんな入力でも日付であれば、シリアル値なのであとからなんとかなるのですが、困るのはYYYYMMDDの連続数字、例えば今日なら20140712と入力されてしまうことです。 入力規則で排除したいのですが、それは許されず、20140712も日付として扱わなければならなくなりそうです。 そこでマクロで対処しようと以下のコードを書きました。 Private Sub Worksheet_Change(ByVal Target As Range)   Select Case Target.Address(0, 0)     Case "D2", "F2", "C4"       If Target.Value = "" Then Exit Sub       If IsDate(Target.Value) Then         Target.NumberFormatLocal = "yyyy/m/d"       Else         Application.EnableEvents = False         Target.Value = CDate(Format(Target.Value, "@@@@/@@/@@"))         Application.EnableEvents = True       End If     Case Else       Exit Sub   End Select End Sub これで最初はうまくいき、20140712と入力されても、ちゃんと2014/7/12になります。 ところが、同じセルに再度YYYYMMDD数字形式で入力すると、実行時エラー「オーバーフローしました」になってしまいます。多分セルが、YYYYMMDDの数字をシリアル値として見てありえない日付と判断したのだと思います。 どのようにコードを修正したらよろしいでしょうか? もう1点、日付をYYYYMMDDの連続数字で入力することは普通、エクセルではあまり見たことないですが、これって一般的な方法なのでしょうか?

  • VBA/エクセルの日付入力でYYYYMMDD

    エクセル2013です。 特定のセルに日付を入力してもらうのですが、人によりさまざまな入力をされてしまいます。 どんな入力でも日付であれば、シリアル値なのであとからなんとかなるのですが、困るのはYYYYMMDDの連続数字、例えば今日なら20140712と入力されてしまうことです。 入力規則で排除したいのですが、それは許されず、20140712も日付として扱わなければならなくなりそうです。 そこでマクロで対処しようと以下のコードを書きました。 Private Sub Worksheet_Change(ByVal Target As Range)   Select Case Target.Address(0, 0)     Case "D2", "F2", "C4"       If Target.Value = "" Then Exit Sub       If IsDate(Target.Value) Then         Target.NumberFormatLocal = "yyyy/m/d"       Else         Application.EnableEvents = False         Target.Value = CDate(Format(Target.Value, "@@@@/@@/@@"))         Application.EnableEvents = True       End If     Case Else       Exit Sub   End Select End Sub これで最初はうまくいき、20140712と入力されても、ちゃんと2014/7/12になります。 ところが、同じセルに再度YYYYMMDD数字形式で入力すると、実行時エラー「オーバーフローしました」になってしまいます。多分セルが、YYYYMMDDの数字をシリアル値として見てありえない日付と判断したのだと思います。 どのようにコードを修正したらよろしいでしょうか? もう1点、日付をYYYYMMDDの連続数字で入力することは普通、エクセルではあまり見たことないですが、これって一般的な方法なのでしょうか?

  • VBA/エクセルの日付入力でYYYYMMDD

    エクセル2013です。 特定のセルに日付を入力してもらうのですが、人によりさまざまな入力をされてしまいます。 どんな入力でも日付であれば、シリアル値なのであとからなんとかなるのですが、困るのはYYYYMMDDの連続数字、例えば今日なら20140712と入力されてしまうことです。 入力規則で排除したいのですが、それは許されず、20140712も日付として扱わなければならなくなりそうです。 そこでマクロで対処しようと以下のコードを書きました。 Private Sub Worksheet_Change(ByVal Target As Range)   Select Case Target.Address(0, 0)     Case "D2", "F2", "C4"       If Target.Value = "" Then Exit Sub       If IsDate(Target.Value) Then         Target.NumberFormatLocal = "yyyy/m/d"       Else         Application.EnableEvents = False         Target.Value = CDate(Format(Target.Value, "@@@@/@@/@@"))         Application.EnableEvents = True       End If     Case Else       Exit Sub   End Select End Sub これで最初はうまくいき、20140712と入力されても、ちゃんと2014/7/12になります。 ところが、同じセルに再度YYYYMMDD数字形式で入力すると、実行時エラー「オーバーフローしました」になってしまいます。多分セルが、YYYYMMDDの数字をシリアル値として見てありえない日付と判断したのだと思います。 どのようにコードを修正したらよろしいでしょうか? もう1点、日付をYYYYMMDDの連続数字で入力することは普通、エクセルではあまり見たことないですが、これって一般的な方法なのでしょうか?

  • VBA/エクセルの日付入力でYYYYMMDD

    エクセル2013です。 特定のセルに日付を入力してもらうのですが、人によりさまざまな入力をされてしまいます。 どんな入力でも日付であれば、シリアル値なのであとからなんとかなるのですが、困るのはYYYYMMDDの連続数字、例えば今日なら20140712と入力されてしまうことです。 入力規則で排除したいのですが、それは許されず、20140712も日付として扱わなければならなくなりそうです。 そこでマクロで対処しようと以下のコードを書きました。 Private Sub Worksheet_Change(ByVal Target As Range)   Select Case Target.Address(0, 0)     Case "D2", "F2", "C4"       If Target.Value = "" Then Exit Sub       If IsDate(Target.Value) Then         Target.NumberFormatLocal = "yyyy/m/d"       Else         Application.EnableEvents = False         Target.Value = CDate(Format(Target.Value, "@@@@/@@/@@"))         Application.EnableEvents = True       End If     Case Else       Exit Sub   End Select End Sub これで最初はうまくいき、20140712と入力されても、ちゃんと2014/7/12になります。 ところが、同じセルに再度YYYYMMDD数字形式で入力すると、実行時エラー「オーバーフローしました」になってしまいます。多分セルが、YYYYMMDDの数字をシリアル値として見てありえない日付と判断したのだと思います。 どのようにコードを修正したらよろしいでしょうか? もう1点、日付をYYYYMMDDの連続数字で入力することは普通、エクセルではあまり見たことないですが、これって一般的な方法なのでしょうか?

  • 指定の動作中ユーザーフォーム終了方法

    お世話になっております。 タイトルに書ききれなかったため、詳しく書かせていただきます。 UserForm UserFormA UserFormB UserFormC があります。 UserFormには、UserFormA,UserFormB,UserFormCを起動するための コマンドボタンが配置されています。 UserFormA.Show とかです。 UserFormAは、UserFormB,UserFormCと連携して グラフを作成したりします。 UserFormAのCombobox1には、値が入っており、 UserFormAのCommandButtonを押したら、 UserFormAのCombobox1の値をUserFormBに入れてCommandbuttonを押す、 UserFormAのCombobox1の値を,UserFormC入れてCommandbuttonを押す という動作をしております。 今まで、UserFormを閉じる動作をしたら 「閉じますか?」という確認ウィンドウが出て、 強制的にEndで終わりにしておりました。 ------------------------------------ Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then '終了するって書いたら Cancel = Not FP_GetResult If Cancel = 0 Then 'はい を押した場合の判断 With ThisWorkbook.Worksheets("TEST") .Select End With End End If End If '「はい」を押さない場合、終了しない。 Application.ScreenUpdating = True End Sub ' キャンセルするかを確認する処理 Private Function FP_GetResult() As Integer If MsgBox("終了しますか?", vbInformation + vbYesNo) = vbYes Then FP_GetResult = True Else FP_GetResult = False End If End Function ---------------------------------- ただ、今回は大元のUserFormも起動しており、 UserFormは終了させたくありません。(再表示ということでも良いのですが…) If UserForm.Visible = False Then UserForm.Show End If 上記で、UserFormが表示されているか確認はできますが、 Endの前に入れようと、後に入れようと UserForm.showが実行されることはありません。 だからといって、Exit Subを使うと UserFormB,UserFormCの動作を継続して行ってしまいます。 分かりにくいところがあれば追記しますので、 回答をお願い致します!

  • 指定の動作中ユーザーフォーム終了方法

    お世話になっております。 タイトルに書ききれなかったため、詳しく書かせていただきます。 UserForm UserFormA UserFormB UserFormC があります。 UserFormには、UserFormA,UserFormB,UserFormCを起動するための コマンドボタンが配置されています。 UserFormA.Show とかです。 UserFormAは、UserFormB,UserFormCと連携して グラフを作成したりします。 UserFormAのCombobox1には、値が入っており、 UserFormAのCommandButtonを押したら、 UserFormAのCombobox1の値をUserFormBに入れてCommandbuttonを押す、 UserFormAのCombobox1の値を,UserFormC入れてCommandbuttonを押す という動作をしております。 今まで、UserFormを閉じる動作をしたら 「閉じますか?」という確認ウィンドウが出て、 強制的にEndで終わりにしておりました。 ------------------------------------ Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then '終了するって書いたら Cancel = Not FP_GetResult If Cancel = 0 Then 'はい を押した場合の判断 With ThisWorkbook.Worksheets("TEST") .Select End With End End If End If '「はい」を押さない場合、終了しない。 Application.ScreenUpdating = True End Sub ' キャンセルするかを確認する処理 Private Function FP_GetResult() As Integer If MsgBox("終了しますか?", vbInformation + vbYesNo) = vbYes Then FP_GetResult = True Else FP_GetResult = False End If End Function ---------------------------------- ただ、今回は大元のUserFormも起動しており、 UserFormは終了させたくありません。(再表示ということでも良いのですが…) If UserForm.Visible = False Then UserForm.Show End If 上記で、UserFormが表示されているか確認はできますが、 Endの前に入れようと、後に入れようと UserForm.showが実行されることはありません。 だからといって、Exit Subを使うと UserFormB,UserFormCの動作を継続して行ってしまいます。 分かりにくいところがあれば追記しますので、 回答をお願い致します!

  • 指定の動作中ユーザーフォーム終了方法

    お世話になっております。 タイトルに書ききれなかったため、詳しく書かせていただきます。 UserForm UserFormA UserFormB UserFormC があります。 UserFormには、UserFormA,UserFormB,UserFormCを起動するための コマンドボタンが配置されています。 UserFormA.Show とかです。 UserFormAは、UserFormB,UserFormCと連携して グラフを作成したりします。 UserFormAのCombobox1には、値が入っており、 UserFormAのCommandButtonを押したら、 UserFormAのCombobox1の値をUserFormBに入れてCommandbuttonを押す、 UserFormAのCombobox1の値を,UserFormC入れてCommandbuttonを押す という動作をしております。 今まで、UserFormを閉じる動作をしたら 「閉じますか?」という確認ウィンドウが出て、 強制的にEndで終わりにしておりました。 ------------------------------------ Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then '終了するって書いたら Cancel = Not FP_GetResult If Cancel = 0 Then 'はい を押した場合の判断 With ThisWorkbook.Worksheets("TEST") .Select End With End End If End If '「はい」を押さない場合、終了しない。 Application.ScreenUpdating = True End Sub ' キャンセルするかを確認する処理 Private Function FP_GetResult() As Integer If MsgBox("終了しますか?", vbInformation + vbYesNo) = vbYes Then FP_GetResult = True Else FP_GetResult = False End If End Function ---------------------------------- ただ、今回は大元のUserFormも起動しており、 UserFormは終了させたくありません。(再表示ということでも良いのですが…) If UserForm.Visible = False Then UserForm.Show End If 上記で、UserFormが表示されているか確認はできますが、 Endの前に入れようと、後に入れようと UserForm.showが実行されることはありません。 だからといって、Exit Subを使うと UserFormB,UserFormCの動作を継続して行ってしまいます。 分かりにくいところがあれば追記しますので、 回答をお願い致します!

  • 指定の動作中ユーザーフォーム終了方法

    お世話になっております。 タイトルに書ききれなかったため、詳しく書かせていただきます。 UserForm UserFormA UserFormB UserFormC があります。 UserFormには、UserFormA,UserFormB,UserFormCを起動するための コマンドボタンが配置されています。 UserFormA.Show とかです。 UserFormAは、UserFormB,UserFormCと連携して グラフを作成したりします。 UserFormAのCombobox1には、値が入っており、 UserFormAのCommandButtonを押したら、 UserFormAのCombobox1の値をUserFormBに入れてCommandbuttonを押す、 UserFormAのCombobox1の値を,UserFormC入れてCommandbuttonを押す という動作をしております。 今まで、UserFormを閉じる動作をしたら 「閉じますか?」という確認ウィンドウが出て、 強制的にEndで終わりにしておりました。 ------------------------------------ Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then '終了するって書いたら Cancel = Not FP_GetResult If Cancel = 0 Then 'はい を押した場合の判断 With ThisWorkbook.Worksheets("TEST") .Select End With End End If End If '「はい」を押さない場合、終了しない。 Application.ScreenUpdating = True End Sub ' キャンセルするかを確認する処理 Private Function FP_GetResult() As Integer If MsgBox("終了しますか?", vbInformation + vbYesNo) = vbYes Then FP_GetResult = True Else FP_GetResult = False End If End Function ---------------------------------- ただ、今回は大元のUserFormも起動しており、 UserFormは終了させたくありません。(再表示ということでも良いのですが…) If UserForm.Visible = False Then UserForm.Show End If 上記で、UserFormが表示されているか確認はできますが、 Endの前に入れようと、後に入れようと UserForm.showが実行されることはありません。 だからといって、Exit Subを使うと UserFormB,UserFormCの動作を継続して行ってしまいます。 分かりにくいところがあれば追記しますので、 回答をお願い致します!

  • コンボボックスの中身を任意順で並べ替え VBA

    いつも大変お世話になっております。 Excel2003を使用しております。 ユーザーフォームに置いてある コンボボックスのデータの順番が毎回変わるのですが、 指定順に並び替えたいです。 例えば、 東京 大阪 北海道 青森 沖縄 仙台 福岡 という順番でコンボボックスに入っている場合、 北海道 青森 仙台 東京 大阪 福岡 沖縄 という順番に自動で並べ替えたいのです。 項目は必ず全てあるわけではなく、 東京 北海道 だけの場合もあります。(コンボボックスの最後には必ず空白が1行あります) Sub ComboboxNarabi() Dim i As Long Dim j As Long Dim Count As Long Dim Swap As String Dim SortListData As Variant SortListData = Array("北海道", "青森", "仙台", "東京", "大阪", "福岡", "沖縄", "") Count = 0 For j = 0 To UBound(SortListData) For i = 0 To ComboBox2.ListCount - 1 If ComboBox2.List(i) = SortListData(j) Then Swap = ComboBox2.List(Count) '現在の位置の内容をSwapにコピー ComboBox2.List(Count) = ComboBox2.List(i) '現在位置に、検索したワードをコピー ComboBox2.List(i) = Swap 'もとの内容をコピー Count = Count + 1 End If Next Next End Sub なんだか遠回りしているような気もします。 もう少し、良い方法はありますでしょうか? 以上、よろしくお願い致します!

  • セル式・indirectで他のシートを参照

    早速ですが =SUM(INDIRECT("g"&P25&":g"&P26)) 自分のシートは無問題 でも、 =SUM(INDIRECT("損益!M"&P25&":損益!M"&P26)) が #REF! となります。 p25,p26 は それぞれ 合計したい行の数値です。 最終は =SUMIF(indirect("損益!M"&q25&":損益!M" &q26,">0", "損益!M"&q25&": 損益!M"&q26))) これなのですが・・・・ どこで 間違ったのでしょうか よろしくどうぞ

  • 64ビットエクセルでのAPI宣言/PtrSafe

    エクセルのInputboxで、入力された文字列を自動的にアスタリスクで隠すようにする方法を探し http://okwave.jp/qa/q2371878.html の回答No1のコードがまさに最適なコードで、これまで非常に助かっていました。 ところが、64bitのエクセルでは動かないことがわかりました。 表示されたエラーメッセージの言葉から調べて、PtrSafeという言葉を入れなければならないようなのでAPI宣言を以下のようにしてみました。 #If VBA7 And Win64 Then '64ビット版 Private Declare PtrSafe Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _ ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare PtrSafe Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long Private Declare PtrSafe Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare PtrSafe Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, _ ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" () As Long #Else '32ビット版 Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _ ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, _ ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long #End If ところが、回答No1のコードで Sub Report_Open() を実行すると Public Function InputBoxDK(Prompt, Optional Title, Optional Default, Optional XPos, _ Optional YPos, Optional HelpFile, Optional Context) As String のところがハイライトされてエラーになります。 どう直せば良いのでしょうか? 全文のコードを乗せると字数制限に引っかかりますので、申し訳ありませんが宣言以外の部分は http://okwave.jp/qa/q2371878.html の回答No1のコードを見てくださいますようお願いします。

  • 64ビットエクセルでのAPI宣言/PtrSafe

    エクセルのInputboxで、入力された文字列を自動的にアスタリスクで隠すようにする方法を探し http://okwave.jp/qa/q2371878.html の回答No1のコードがまさに最適なコードで、これまで非常に助かっていました。 ところが、64bitのエクセルでは動かないことがわかりました。 表示されたエラーメッセージの言葉から調べて、PtrSafeという言葉を入れなければならないようなのでAPI宣言を以下のようにしてみました。 #If VBA7 And Win64 Then '64ビット版 Private Declare PtrSafe Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _ ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare PtrSafe Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long Private Declare PtrSafe Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare PtrSafe Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, _ ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" () As Long #Else '32ビット版 Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _ ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, _ ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long #End If ところが、回答No1のコードで Sub Report_Open() を実行すると Public Function InputBoxDK(Prompt, Optional Title, Optional Default, Optional XPos, _ Optional YPos, Optional HelpFile, Optional Context) As String のところがハイライトされてエラーになります。 どう直せば良いのでしょうか? 全文のコードを乗せると字数制限に引っかかりますので、申し訳ありませんが宣言以外の部分は http://okwave.jp/qa/q2371878.html の回答No1のコードを見てくださいますようお願いします。

  • 値の貼り付けをするVBA

    セルA1をコピーして、セルA2に値の貼り付けをするVBAを作っています。 下記のように記述しているのですが、 セルA2に値の貼り付けをするときに小数点第3ケタ目以下はデータを捨てることは出来ますでしょうか? セルの設定で小数点2桁目まで表示するのではなくて、セルに入力するデータを小数点2桁の数字にしたいです。 range("A1").Copy Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

  • excel シート上のボタンが動かない

    シート上にコマンドボタンをおきました。そしてそのボタンを押したたときの動きをVBAで書きました。 普通に動きます。 次にそのシートを新しいウィンドウで開き、並べて表示しました。一方のウィンドウ上でボタンは正常に働きますが、もう一方のウィンドウのシート上ではボタンは働きません。 どちらのウィンドウ上でも正常にボタンを働かせたいのですが、できません。どうすればいいのでしょうか。

  • エクセル マクロ

    フィルタ機能を実行中(行が歯抜けになっている状態)では ファイルの上書き保存が出来ない仕様にできないでしょうか? その場合メッセージボックスの表示が欲しいです 対象シートは全部(Thisworkbook)です

  • Excelで現在時刻を5分単位で自動入力する方法

    エクセル2010を使っています。 現在時刻を記録することが多いです。 そのまま簡単に自動入力する方法はCTRL+;を使えばいいことが分かりました。 しかし、私の場合は5分単位のキリのいい数字で自動入力したいです。 例) 5時31分→5時30分(切り下げ) 12時33分→12時35分(切り上げ) これを簡単に行うにはどうしたらいいでしょうか? ご教示お願いします。

  • Excel VBA カタカナ セル判定方法

    Excel VBAでA列はカタカナ文字のみ入力したいです。 ボタンを押下する事により、A列でカタカナ以外の文字が入っていたらセルの色を変えたいと思っています。 「アイウエオ」OK 「アイウぇオ」NG 「亜イウエオ」NG 「アイウ_エオ」NG 各セルに入っている文字列を一文字ずつ切り出して判定すればできるような気がしますが、物凄い時間がかかりそうです。これを簡単な方法で実現できないでしょうか?