ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part59
https://mevius.5ch.net/test/read.cgi/tech/1549692750/
探検
Excel VBA 質問スレ Part60
■ このスレッドは過去ログ倉庫に格納されています
2019/03/16(土) 20:39:09.64ID:6HWXzj9o
404デフォルトの名無しさん
2019/04/02(火) 09:24:24.65ID:g8jutNiy >>403
本当だけど
それガッツリとしたVBAエンジニアだよ
多分gitかTortoiseSVN辺り使うはず
【フリーランス】Excel/Access-VBA | 開発知見がある方!システムサポート業務
仕事内容
基幹システム/部門個別システム支援(運用、問合せ、J-SOX対応等)
部門内インフラ管理支援、エンドユーザIT支援、業務用ツール開発
給与
本当だけど
それガッツリとしたVBAエンジニアだよ
多分gitかTortoiseSVN辺り使うはず
【フリーランス】Excel/Access-VBA | 開発知見がある方!システムサポート業務
仕事内容
基幹システム/部門個別システム支援(運用、問合せ、J-SOX対応等)
部門内インフラ管理支援、エンドユーザIT支援、業務用ツール開発
給与
405デフォルトの名無しさん
2019/04/02(火) 21:44:59.43ID:ZGIlr/GY >>403
別にVBAでも普通ある。
けど、面接して採用される奴は他にもスキルがあるか、それなりに出来る奴だろうな。
gitや、SVNについては必ずしもってところだろう。
もっとも、VBAのコードを管理するためにgitやSVN用のツールをVBAで組む程度はやれる或いはやってるだろう。
別にVBAでも普通ある。
けど、面接して採用される奴は他にもスキルがあるか、それなりに出来る奴だろうな。
gitや、SVNについては必ずしもってところだろう。
もっとも、VBAのコードを管理するためにgitやSVN用のツールをVBAで組む程度はやれる或いはやってるだろう。
406デフォルトの名無しさん
2019/04/02(火) 23:38:38.44ID:z8xG+23/ 1989/1/7 → 昭和64年1月7日
1989/1/8 → 平成1年1月8日
2099/1/1 → 平成111年1月1日
3000/1/1 → 平成1012年1月1日
試してみたらこうなった。
令和がまだ入ってないのは分かるが、
1000年後も普通に平成だとは思わなかったわ。
1989/1/8 → 平成1年1月8日
2099/1/1 → 平成111年1月1日
3000/1/1 → 平成1012年1月1日
試してみたらこうなった。
令和がまだ入ってないのは分かるが、
1000年後も普通に平成だとは思わなかったわ。
407デフォルトの名無しさん
2019/04/02(火) 23:44:03.27ID:dGnjjG+S >>406
どうせならOSとEXCELのバージョンかけや
どうせならOSとEXCELのバージョンかけや
408デフォルトの名無しさん
2019/04/02(火) 23:45:56.37ID:PBWFMMP7409デフォルトの名無しさん
2019/04/02(火) 23:47:51.13ID:z8xG+23/410デフォルトの名無しさん
2019/04/03(水) 01:37:48.37ID:HquWe5hb >>409
MSはそんな思い込みが通用するほど甘い相手じゃない
MSはそんな思い込みが通用するほど甘い相手じゃない
411デフォルトの名無しさん
2019/04/03(水) 02:13:34.41ID:T6JhjkrS >>406
江戸もでないし
江戸もでないし
412デフォルトの名無しさん
2019/04/03(水) 03:03:58.76ID:SETc7Ceb こういう思い込みをする奴が新年号対応に莫大な人工が掛かる糞システムを作るのである
413デフォルトの名無しさん
2019/04/03(水) 03:14:27.06ID:HquWe5hb414デフォルトの名無しさん
2019/04/03(水) 07:43:03.53ID:4XO/CSdW Windows 10・WSL・Ubuntu 16.04 の設定ファイルでは、
+:2:1990/01/01:+*:平成:%EC%Ey年
+:1:1989/01/08:1989/12/31:平成:%EC元年
+:2:1927/01/01:1989/01/07:昭和:%EC%Ey年
+:1:1926/12/25:1926/12/31:昭和:%EC元年
+:2:1913/01/01:1926/12/24:大正:%EC%Ey年
+:2:1912/07/30:1912/12/31:大正:%EC元年
+:6:1873/01/01:1912/07/29:明治:%EC%Ey年
+:1:0001/01/01:1872/12/31:西暦:%EC%Ey年
+:1:-0001/12/31:-*:紀元前:%EC%Ey年
+:2:1990/01/01:+*:平成:%EC%Ey年
+:1:1989/01/08:1989/12/31:平成:%EC元年
+:2:1927/01/01:1989/01/07:昭和:%EC%Ey年
+:1:1926/12/25:1926/12/31:昭和:%EC元年
+:2:1913/01/01:1926/12/24:大正:%EC%Ey年
+:2:1912/07/30:1912/12/31:大正:%EC元年
+:6:1873/01/01:1912/07/29:明治:%EC%Ey年
+:1:0001/01/01:1872/12/31:西暦:%EC%Ey年
+:1:-0001/12/31:-*:紀元前:%EC%Ey年
415414
2019/04/03(水) 07:55:00.58ID:4XO/CSdW 明治6年(1873)から正しい
それ以前は太陰太陽暦(旧暦)だから、西暦とは異なるから、日本の暦は使えない
それ以前は太陰太陽暦(旧暦)だから、西暦とは異なるから、日本の暦は使えない
416デフォルトの名無しさん
2019/04/03(水) 12:14:49.07ID:RhgPGi2C Excel2013以降ならこれで行けると思う
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"2019 05 01"="令和_令_Reiwa_R"
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"2019 05 01"="令和_令_Reiwa_R"
417デフォルトの名無しさん
2019/04/03(水) 20:18:32.12ID:XzL94EYi 2013ってOSどこからサポートしてたっけ
418デフォルトの名無しさん
2019/04/03(水) 20:25:25.63ID:LAo899n+ そんなのググったらすぐ出るだろう…
419デフォルトの名無しさん
2019/04/04(木) 00:26:33.22ID:2+ZabFqB 新元号は「安平」であります。
https://dotup.org/uploda/dotup.org1812320.jpg
https://dotup.org/uploda/dotup.org1812320.jpg
420デフォルトの名無しさん
2019/04/04(木) 02:37:49.53ID:2+ZabFqB あ
ほ
ほ
421デフォルトの名無しさん
2019/04/04(木) 09:42:49.96ID:8+vU6A6d422デフォルトの名無しさん
2019/04/04(木) 10:15:48.02ID:8+vU6A6d >>416
これは、Windowsのカレンダーに対して日本用の設定を追加してるだけだから
Windowsの標準コントロールのカレンダーを使用して正しくコーディングしていれば
この設定をするだけで対応できるだろ
これを「令和登録.reg」のファイルにして管理者モードで実行するだけだね
--下記--
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"2019 05 01"="令和_令_Reiwa_R"
これは、Windowsのカレンダーに対して日本用の設定を追加してるだけだから
Windowsの標準コントロールのカレンダーを使用して正しくコーディングしていれば
この設定をするだけで対応できるだろ
これを「令和登録.reg」のファイルにして管理者モードで実行するだけだね
--下記--
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"2019 05 01"="令和_令_Reiwa_R"
423デフォルトの名無しさん
2019/04/04(木) 10:47:09.88ID:2+ZabFqB VBAでfor nextで回しているときにworksheetfunction.vlookupを使っているのですが
値が存在しないときにエラーが出て止まってしまいます。
こんなとき存在しない時は処理を回避するにはどうしたらいいですか?
On error resume nextにすると、エラーのときにも処理をしてしまいます。
値が存在しないときにエラーが出て止まってしまいます。
こんなとき存在しない時は処理を回避するにはどうしたらいいですか?
On error resume nextにすると、エラーのときにも処理をしてしまいます。
424デフォルトの名無しさん
2019/04/04(木) 10:56:05.80ID:uGh4IPkF application.vlookup
425デフォルトの名無しさん
2019/04/04(木) 11:06:48.53ID:8+vU6A6d426デフォルトの名無しさん
2019/04/04(木) 11:17:40.01ID:2+ZabFqB427デフォルトの名無しさん
2019/04/04(木) 11:18:13.34ID:2+ZabFqB そっち行けのあと、ちゃんとfor nextループに復帰しないといけない。
428デフォルトの名無しさん
2019/04/04(木) 11:27:09.76ID:uGh4IPkF 値が存在するか確認してからvlookupでもOK
429デフォルトの名無しさん
2019/04/04(木) 12:16:12.36ID:8+vU6A6d430デフォルトの名無しさん
2019/04/04(木) 12:40:19.97ID:aPtbQ2yh 簡易だけどこんな風でよろしいか。
On Error Resume Next
For i=0 To lngRW
varValue=WorksheetFunction.Vlookup(〜)
If Err.Number=(見つからない) Then
'B処理
Err.Clear
ElseIf Err.Number=0 Then
'A処理
Else
Debug.Print "想定外:" & vbCrLf & Err.Description
EndIf
Next i
On Error Goto 0
On Error Resume Next
For i=0 To lngRW
varValue=WorksheetFunction.Vlookup(〜)
If Err.Number=(見つからない) Then
'B処理
Err.Clear
ElseIf Err.Number=0 Then
'A処理
Else
Debug.Print "想定外:" & vbCrLf & Err.Description
EndIf
Next i
On Error Goto 0
431デフォルトの名無しさん
2019/04/04(木) 13:14:42.92ID:iClvVPMc こうじゃないの
On Error Goto err
For i=0 To lngRW
varValue=WorksheetFunction.Vlookup(〜)
'処理
err:
Next i
On Error Goto err
For i=0 To lngRW
varValue=WorksheetFunction.Vlookup(〜)
'処理
err:
Next i
432デフォルトの名無しさん
2019/04/04(木) 13:23:37.46ID:8+vU6A6d >>431
一般的に書くと以下だけど、処理は複雑なら外部ファンクションで
On Error Goto err
For i=0 To lngRW
varValue=WorksheetFunction.Vlookup(〜)
[正常処理]
Goto 共通
err:
[err処理]
共通:
[共通の処理]
Next i
一般的に書くと以下だけど、処理は複雑なら外部ファンクションで
On Error Goto err
For i=0 To lngRW
varValue=WorksheetFunction.Vlookup(〜)
[正常処理]
Goto 共通
err:
[err処理]
共通:
[共通の処理]
Next i
433デフォルトの名無しさん
2019/04/04(木) 13:50:38.20ID:iClvVPMc434デフォルトの名無しさん
2019/04/04(木) 14:26:57.06ID:omgcYFOR Dim Rc As Variant
For I = 1 To 10
Rc = Application.VLookup(〜)
If IsError(Rc) Then
'B処理
Debug.Print "Err"
Else
'A処理
Debug.Print Rc
End If
Next
For I = 1 To 10
Rc = Application.VLookup(〜)
If IsError(Rc) Then
'B処理
Debug.Print "Err"
Else
'A処理
Debug.Print Rc
End If
Next
435デフォルトの名無しさん
2019/04/04(木) 16:38:45.71ID:wsHiflUt If Err = *** Then
436デフォルトの名無しさん
2019/04/04(木) 16:56:03.91ID:iClvVPMc このエラーって何が返ってきてるの?
Rc = Application.VLookup(1, Range("a1:b2"), 2, 0)
Rcには「エラー2042」
variant/error
となっている
エラーオブジェクト?
Rc = Application.VLookup(1, Range("a1:b2"), 2, 0)
Rcには「エラー2042」
variant/error
となっている
エラーオブジェクト?
437デフォルトの名無しさん
2019/04/04(木) 17:24:54.95ID:w4m8dn6a Debug.Print WorksheetFunction.IsNA(Rc)
438デフォルトの名無しさん
2019/04/04(木) 17:32:46.09ID:omgcYFOR439デフォルトの名無しさん
2019/04/04(木) 18:04:33.36ID:iClvVPMc440デフォルトの名無しさん
2019/04/04(木) 19:42:12.58ID:l+wxMf4P on error使うのあまり良くない
vlookupの前にcountやfindで存在チェックするのをおすすめするよ
裏技的な方法だとAppllication.Vlooiup
vlookupの前にcountやfindで存在チェックするのをおすすめするよ
裏技的な方法だとAppllication.Vlooiup
441デフォルトの名無しさん
2019/04/04(木) 19:42:34.71ID:l+wxMf4P Application.Vlookup
442デフォルトの名無しさん
2019/04/04(木) 19:50:28.21ID:iClvVPMc それが彼の最後の言葉だった
443デフォルトの名無しさん
2019/04/05(金) 03:50:15.90ID:+zVmy7gp >>439
宣言済みのグローバルオブジェクトだから
宣言済みのグローバルオブジェクトだから
444デフォルトの名無しさん
2019/04/05(金) 08:49:34.62ID:zlWiWORW >>443
ありがとう!そんなんあったのか
ありがとう!そんなんあったのか
445デフォルトの名無しさん
2019/04/05(金) 09:38:24.06ID:8QX00BOt なんでマクロを表から実行する機能がボタンしかないんですか!
ボタンだけ画像で気持ち悪い
ボタンだけ画像で気持ち悪い
446デフォルトの名無しさん
2019/04/05(金) 09:43:10.12ID:zlWiWORW >>445
alt+f8
alt+f8
447デフォルトの名無しさん
2019/04/05(金) 10:33:41.98ID:wkkyQZMO448デフォルトの名無しさん
2019/04/05(金) 10:44:09.79ID:wkkyQZMO449デフォルトの名無しさん
2019/04/05(金) 10:53:42.85ID:wkkyQZMO450デフォルトの名無しさん
2019/04/05(金) 11:15:00.27ID:sYZm3T+e >>445
セル内に任意の Sub を走らせるコマンドを書きたいということかな?
セル内に任意の Sub を走らせるコマンドを書きたいということかな?
451デフォルトの名無しさん
2019/04/05(金) 11:16:44.20ID:zNcs0aE9 ボタンを透明にして、セルをクリックしたように見せかければいい
452デフォルトの名無しさん
2019/04/05(金) 11:28:07.60ID:sYZm3T+e >>451
それは見方によっては罠なのでは?
それは見方によっては罠なのでは?
453デフォルトの名無しさん
2019/04/05(金) 11:31:39.64ID:wkkyQZMO >>451
例えば以下でいい、透明なボタンなんてメンテナンスしにくい
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
「セルA1を選択された時の処理」
End If
End Sub
例えば以下でいい、透明なボタンなんてメンテナンスしにくい
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
「セルA1を選択された時の処理」
End If
End Sub
454デフォルトの名無しさん
2019/04/05(金) 12:16:59.99ID:VsjxKRtT >>445
何を言ってるんだ?
標準モジュールに以下を書いて、
セル内に=FuncNibai(2)と入れてみろ。
Public Function FuncNibai(lngNum As Long) As Long
FuncNibai=2*lngNum
End Function
何を言ってるんだ?
標準モジュールに以下を書いて、
セル内に=FuncNibai(2)と入れてみろ。
Public Function FuncNibai(lngNum As Long) As Long
FuncNibai=2*lngNum
End Function
455デフォルトの名無しさん
2019/04/05(金) 12:20:44.27ID:sYZm3T+e >>454
それでは基本的にシートに対する副作用のない動作しかできないよ
それでは基本的にシートに対する副作用のない動作しかできないよ
456デフォルトの名無しさん
2019/04/05(金) 12:31:55.05ID:VsjxKRtT457デフォルトの名無しさん
2019/04/05(金) 12:42:46.47ID:wkkyQZMO >>456
落ち着けよ、445の釣りかもしれんし
落ち着けよ、445の釣りかもしれんし
458デフォルトの名無しさん
2019/04/05(金) 12:51:21.11ID:wkkyQZMO459デフォルトの名無しさん
2019/04/05(金) 13:41:00.30ID:8QX00BOt イベントでマクロ起動できるようになりました。ありがとうございます!
ハイパーリンクのイベント使いました。
でも
イベントはシート単位でマクロ側で呼び出し元特定する仕組みで
間違えるの怖いしシート全体でマクロ走るし
ハイパーリンクは自分のセル位置変わっちゃうし
余計気持ち悪くなりました
ハイパーリンクに直接マクロ指定したりとか
もっとスパッと間違えない仕組みがないものでしょうか
ハイパーリンクのイベント使いました。
でも
イベントはシート単位でマクロ側で呼び出し元特定する仕組みで
間違えるの怖いしシート全体でマクロ走るし
ハイパーリンクは自分のセル位置変わっちゃうし
余計気持ち悪くなりました
ハイパーリンクに直接マクロ指定したりとか
もっとスパッと間違えない仕組みがないものでしょうか
460デフォルトの名無しさん
2019/04/05(金) 13:44:20.23ID:zlWiWORW >>459
何がしたいのかもう少し具体的に言ってくれれば誰かがマクロ書くと思う
>シート全体でマクロ走るし
これも以下のような形で、特定のセルだけマクロが走るように制御することも可能
Private Sub Worksheet_Change(ByVal Target As Range)
行 = Target.Row
列 = Target.Column
If 行 < 4 And 行 > 2 And 列 = 2 Then
'処理
End If
End Sub
何がしたいのかもう少し具体的に言ってくれれば誰かがマクロ書くと思う
>シート全体でマクロ走るし
これも以下のような形で、特定のセルだけマクロが走るように制御することも可能
Private Sub Worksheet_Change(ByVal Target As Range)
行 = Target.Row
列 = Target.Column
If 行 < 4 And 行 > 2 And 列 = 2 Then
'処理
End If
End Sub
461デフォルトの名無しさん
2019/04/05(金) 13:58:27.50ID:Rd0uwYXo >>459
スレタイ読めない馬鹿は死ね
スレタイ読めない馬鹿は死ね
462デフォルトの名無しさん
2019/04/05(金) 14:03:08.75ID:wkkyQZMO463デフォルトの名無しさん
2019/04/05(金) 14:40:23.82ID:8QX00BOt ボタンはクリックしただけで手が滑って意図せずずれちゃったり
配置した後ろにカーソルが隠れちゃったりするから
なんか異物感があります
配置した後ろにカーソルが隠れちゃったりするから
なんか異物感があります
464デフォルトの名無しさん
2019/04/05(金) 15:16:00.65ID:wkkyQZMO465デフォルトの名無しさん
2019/04/05(金) 16:03:40.10ID:3Irv2J+y466デフォルトの名無しさん
2019/04/05(金) 16:21:20.23ID:wkkyQZMO >>465
俺もこのほうが良いと思う確認してないけど
俺もこのほうが良いと思う確認してないけど
467デフォルトの名無しさん
2019/04/05(金) 16:25:16.09ID:wkkyQZMO まあ、どうやっても出来ないと書き込むんじゃなくて
何をどうしたいけど方法を聞けよ、できるだけ自分の求めることを
詳しく
何をどうしたいけど方法を聞けよ、できるだけ自分の求めることを
詳しく
468デフォルトの名無しさん
2019/04/05(金) 16:38:12.77ID:33lL/zae スライサーのボタンクリックをイベントとしてマクロを実行させたいんだけど、
ググっても探し方が悪いのか、「スライサーを作成するVBA」ばかりになってしまう。
どこか事例を解説しているWebページを紹介してもらえませんか?
ググっても探し方が悪いのか、「スライサーを作成するVBA」ばかりになってしまう。
どこか事例を解説しているWebページを紹介してもらえませんか?
469デフォルトの名無しさん
2019/04/05(金) 16:41:10.23ID:ANboNrW/ >>468
スレタイ読めない馬鹿は死ね
スレタイ読めない馬鹿は死ね
470デフォルトの名無しさん
2019/04/05(金) 16:50:23.23ID:n8EBNbBD ピボットテーブルのスライサーの事じゃないの?
別にスレチでもなんでもないと思うけど
別にスレチでもなんでもないと思うけど
471デフォルトの名無しさん
2019/04/05(金) 17:16:27.60ID:33lL/zae >>470
はい、そうです。
はい、そうです。
472デフォルトの名無しさん
2019/04/05(金) 17:26:04.18ID:n8EBNbBD >>471
スライサーにイベントハンドルかます事はできないっぽい
以下2つのどっちかになると思う
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
Debug.Print Cells(4, 1)
End Sub
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Debug.Print Cells(4, 1)
End Sub
https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.pivottablechangesync
https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.pivottableupdate
スライサーにイベントハンドルかます事はできないっぽい
以下2つのどっちかになると思う
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
Debug.Print Cells(4, 1)
End Sub
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Debug.Print Cells(4, 1)
End Sub
https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.pivottablechangesync
https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.pivottableupdate
473デフォルトの名無しさん
2019/04/05(金) 17:41:45.84ID:33lL/zae474デフォルトの名無しさん
2019/04/05(金) 18:17:05.73ID:sYZm3T+e475デフォルトの名無しさん
2019/04/05(金) 20:04:21.22ID:USfI2aKm >>459
特定のセルクリックしたらマクロ実行とか
特定のセルクリックしたらマクロ実行とか
476459
2019/04/05(金) 20:52:19.13ID:CiB89diH いろいろやってみましたが
表をいじって位置が変わっちゃうと動かなくなったり、
変なリンクできたりするので
ボタンでやります…
ボタンをセルに合わせて自動調整されるようにプロパティ設定したら
ちょっと気持ちがおちつきました
ありがとうございます
表をいじって位置が変わっちゃうと動かなくなったり、
変なリンクできたりするので
ボタンでやります…
ボタンをセルに合わせて自動調整されるようにプロパティ設定したら
ちょっと気持ちがおちつきました
ありがとうございます
477デフォルトの名無しさん
2019/04/05(金) 21:55:09.13ID:XQoFwJNv ♪かけ違えたボタンがある〜
478デフォルトの名無しさん
2019/04/05(金) 22:38:48.78ID:XcJw5BB8479デフォルトの名無しさん
2019/04/06(土) 02:33:50.43ID:lkbCtinH 主作用でなければ副作用だが
480デフォルトの名無しさん
2019/04/06(土) 05:07:20.11ID:yAC/mUJI ヒポリットテーブルってややこしい。
理解するこつあはありますか?
理解するこつあはありますか?
481デフォルトの名無しさん
2019/04/06(土) 09:18:19.10ID:9IkbKopt482デフォルトの名無しさん
2019/04/06(土) 09:43:33.17ID:LrM+2CU8483デフォルトの名無しさん
2019/04/06(土) 11:28:05.41ID:QwecXQyr484デフォルトの名無しさん
2019/04/06(土) 12:56:33.17ID:aPksILYp マイクに話しかけたら実行されるようにすりゃいいんじゃないの?
485デフォルトの名無しさん
2019/04/06(土) 13:12:45.38ID:cYL1/vjQ >>480
いろいろやってみると面白いし、
元データをテーブルにして組み合わせると、
計算速度も速いような?
融通が利かない部分もあるけど。
4〜3月の月次推移グラフで、
ピボットテーブルには年度合計を出せるのに、
この合計もグラフに反映させる方法あるのか、ないのか・・・
日時時間フィルターのタイムラインは、使い勝手がイマイチ、
とか。
あと、縦横クロス集計のピボットテーブルを
一発でリスト表(3Dマップに使える)に変換する隠れ機能があったり。
いろいろやってみると面白いし、
元データをテーブルにして組み合わせると、
計算速度も速いような?
融通が利かない部分もあるけど。
4〜3月の月次推移グラフで、
ピボットテーブルには年度合計を出せるのに、
この合計もグラフに反映させる方法あるのか、ないのか・・・
日時時間フィルターのタイムラインは、使い勝手がイマイチ、
とか。
あと、縦横クロス集計のピボットテーブルを
一発でリスト表(3Dマップに使える)に変換する隠れ機能があったり。
486デフォルトの名無しさん
2019/04/06(土) 23:19:03.44ID:+F6584OT まずスレタイぐらい理解できるようになろう
487デフォルトの名無しさん
2019/04/07(日) 11:38:35.77ID:J7v3B2LO シート内にマクロを設定した
ボタンを1つと、複数の画像があります。
ボタンをクリックしたら以下コードを実行し画像の一括削除を行っています。
しかし、問題があってボタンまで消失してしまいます。
そこでボタンの場合には削除はしない
という風に制御を入れたいのですが、ボタンの名称はどうやって調べればよいでしょうか?
'シート無いの画像をすべて削除する。
For Each img In ActiveSheet.Shapes
img.Delete
Next
ボタンを1つと、複数の画像があります。
ボタンをクリックしたら以下コードを実行し画像の一括削除を行っています。
しかし、問題があってボタンまで消失してしまいます。
そこでボタンの場合には削除はしない
という風に制御を入れたいのですが、ボタンの名称はどうやって調べればよいでしょうか?
'シート無いの画像をすべて削除する。
For Each img In ActiveSheet.Shapes
img.Delete
Next
488デフォルトの名無しさん
2019/04/07(日) 11:59:22.40ID:SzIL1mww >>487
ボタンに特定の名前を付けてそれをハードコーディングすりゃいいと思うがそれじゃ不満なのかな?
ボタンに特定の名前を付けてそれをハードコーディングすりゃいいと思うがそれじゃ不満なのかな?
489デフォルトの名無しさん
2019/04/07(日) 12:06:51.57ID:oR5kGK9/ >>487
img.Nameで名前を調べることができます
If img.Name <> "ボタンの名称" Then
img.Delete
End If
みたいに書けば、特定の画像の消去をスキップできます
img.Nameで名前を調べることができます
If img.Name <> "ボタンの名称" Then
img.Delete
End If
みたいに書けば、特定の画像の消去をスキップできます
490デフォルトの名無しさん
2019/04/07(日) 12:40:05.22ID:z5f8NySY491デフォルトの名無しさん
2019/04/07(日) 13:13:42.16ID:dLz2IshG 削除対象の画像を予めShapeRangeにまとめるなり、削除対象の画像の名前をシートに書き出すなりしてボタンマクロで一括削除させる設計にする方が検索効率や保守効率が良いと思う
ボタン名やコントロール名でハードコーディングするのは下策
ボタンの数やコントロールの種類が増えたときにいちいち手直しする必要が出てくる
ボタン名やコントロール名でハードコーディングするのは下策
ボタンの数やコントロールの種類が増えたときにいちいち手直しする必要が出てくる
492デフォルトの名無しさん
2019/04/07(日) 13:22:52.48ID:UhqEDEIh 動的にコントロールを追加するプログラムを作ってないの?
毎回追加で書いてるの?
それは面倒で下衆だわ
毎回追加で書いてるの?
それは面倒で下衆だわ
493デフォルトの名無しさん
2019/04/07(日) 13:30:07.71ID:HG+SSO0q >動的にコントロールを追加するプログラム
昔作ったわ
EXCELでこの設計は止めたほうが良い。エラー頻発する
昔作ったわ
EXCELでこの設計は止めたほうが良い。エラー頻発する
494デフォルトの名無しさん
2019/04/07(日) 14:02:19.38ID:lv61T0oy495デフォルトの名無しさん
2019/04/07(日) 15:13:26.49ID:zM3BxSpj496デフォルトの名無しさん
2019/04/07(日) 15:19:02.23ID:1196mB+r >>487は差のマクロが登録されたあるひとつのボタンだけを対象に「消したくない」と言っているように思えるのだが
497デフォルトの名無しさん
2019/04/07(日) 15:26:28.77ID:zM3BxSpj498デフォルトの名無しさん
2019/04/07(日) 18:49:28.94ID:wMtd4Rq1 まあ、その時目の前の問題だけクリアーするのは筋が悪い
目的を汎用化し使い易くメンテナンスし易いように組むな普通
目的を汎用化し使い易くメンテナンスし易いように組むな普通
499デフォルトの名無しさん
2019/04/07(日) 19:51:51.79ID:Eip3w86o VBAスレで何言ってんの
そういうことを言い出すとVBAなんか使うなという結論にしかならんよ
そういうことを言い出すとVBAなんか使うなという結論にしかならんよ
500デフォルトの名無しさん
2019/04/07(日) 19:54:51.59ID:9t5fZjJB EXCEL前提ならそりゃVBAになる
501デフォルトの名無しさん
2019/04/07(日) 20:30:11.80ID:J7v3B2LO >>488
ボタンに名前をつけるにはどうすればいいんですか?
ボタンに名前をつけるにはどうすればいいんですか?
502デフォルトの名無しさん
2019/04/07(日) 21:10:44.99ID:dLz2IshG >>497
名前比較で実現出来るかどうかという実現可能性の話をしてるわけではない
あくまで効率性の話をしてるんだが
特定のボタンを消さないようにするという目的だけのためにShapesコレクションをなめてアイテムのNameプロパティを逐一調べるという処理は筋が悪い
ワークシート上に存在する画像や図形、テキストボックス、コントロール等の数だけ名前比較することになるからな
削除対象になる画像をワークシートに追加するタイミングでShapeRangeコレクションに入れ、ボタン押下でDeleteメソッドで一括削除というやり方の方が絶対に速い
名前比較で実現出来るかどうかという実現可能性の話をしてるわけではない
あくまで効率性の話をしてるんだが
特定のボタンを消さないようにするという目的だけのためにShapesコレクションをなめてアイテムのNameプロパティを逐一調べるという処理は筋が悪い
ワークシート上に存在する画像や図形、テキストボックス、コントロール等の数だけ名前比較することになるからな
削除対象になる画像をワークシートに追加するタイミングでShapeRangeコレクションに入れ、ボタン押下でDeleteメソッドで一括削除というやり方の方が絶対に速い
503デフォルトの名無しさん
2019/04/07(日) 21:18:21.02ID:lv61T0oy >>501
Nameプロパティ
Nameプロパティ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 高市早苗「……なんて言ってみたw」中国「なんだ、言ってみただけかw」👈これで全部元通りになるという事実 [782460143]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- んなっしょい🍬禁止🈲のお🏡
- 映画「ゼルダの伝説」、リンクとゼルダ姫が白人になってしまう。日本のものは日本人だろうが!! [592058334]
- 高市早苗「株やってる奴ザマァwww格差是正のためにも、もっと暴落した方がいいよwww」(´・ω・`)確かに。 [252835186]
