いつも、勉強させていただいてます。 教えてください。ボタンを押すと新しいテンプレ付きのシートが現れます。 そのテンプレを編集したいのですが、ボタンのコード表示の内容は以下のものです。 この中には何と書いてあるのでしょうか?また編集したいものはこの中で分かりますでしょうか? Private Sub btn新規_Click() Sheets("new_sheet").Visible = True Worksheets("new_sheet").Copy before:=Sheets("就業規則") Sheets("new_sheet").Visible = False End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim ad ad = Target.Address If (ad = "$C$3") Or (ad = "$D$3") Then Dim str, str1, str2 str1 = Range("C3").Value str2 = Range("D3").Value str = str1 & str2
If (Len(str) > 1) Then ActiveSheet.Name = str1 & " " & str2 End If End If End Sub
>この中には何と書いてあるのでしょうか? 'ボタンを押すと実行 Private Sub btn新規_Click() 'new_sheetシートを表示 Sheets("new_sheet").Visible = True 'new_sheetシートを就業規則シートの後にコピー Worksheets("new_sheet").Copy before:=Sheets("就業規則") 'new_sheetシートを非表示 Sheets("new_sheet").Visible = False End Sub 'セルの値が変更したら実行 Private Sub Worksheet_Change(ByVal Target As Range) '変更したセル番地をad変数へ代入 Dim ad ad = Target.Address 'もしad変数がC3かD3なら If (ad = "$C$3") Or (ad = "$D$3") Then 'str1変数にはC3の値、str2変数にはD3の値を代入 Dim str, str1, str2 str1 = Range("C3").Value str2 = Range("D3").Value 'str変数にstr1とstr2を連結した文字列を代入 str = str1 & str2 'もしstr変数の文字数が1よりも大きければ If (Len(str) > 1) Then 'アクティブシートのシート名を「str1 str2」にする ActiveSheet.Name = str1 & " " & str2 End If End If End Sub >編集したいものはこの中で分かりますでしょうか? どう編集したいのか知らないのでわかりません。
3つのボタンの違いはずっと気になっていましたが、
何となく図形を使っていました。
ボタンだけで使うなら、図形かフォームコントロールが
簡単で良さそうですが、クリック感があるので、
次回からフォームコントロールにします!
いつも本当に細かいところまで説明してもらえるので、
めちゃくちゃ勉強になります。ありがとうございます。
細部にわたる解説でわかりやすい。ありがとうございました。
マクロ分かりませんでしたが、見て出来るようになりました、ありがとうございます。
activeXコントロールのボタンって、ユーザーフォームの挿入と同じなんですね。
初めて知りました。長年の疑問が解決してすっきりしました。ありがとうございます。
そうですねユーザーフォームにも設置できるのがActiveXコントロールの方です😃ありがとうございます!
簡潔で分かり易くて大変助かりました、ありがとうございます
めっちゃわかりやすいです!早速実践します!
今までボタンにマクロを記録する時ショートカットキーも必須だと思ってた。。入れなくていいんですねw
勉強になりました。ありがとー♪
ありがと!!ありがと!!あした上司のためにマクロ組むんだ♫
シート上に配置する場合、
機能上どれがいいか は、
ありますか?
見た目の変更範囲の違いだけでしょうか?
いつも分かりやすい動画をありがとうございます!
こちらの動画を見てボタンを作ってみました。作成後、A1の行の中身(数も)が全て変わってしまう時はどの様にしたらいいのでしょうか💦
いつもご視聴ありがとうございます!
動画内とまったく同じように作ったということでしょうか?
申し訳ないんですが判断する情報が少ないのでそれだけだとなにもわからないです😂
@@pckatuyou
返信ありがとうございます!
分かりにくてすみません💦
はい、こちらの動画を見て作りました!
動画だと、A1の行には東京、埼玉、群馬、神奈川の4つとなっていますが、例えば北海道とか違う項目、さらに4つだけではなく数も増える場合にこの作ったボタンは使い回しが出来るのかな?と思いました。
「A1の行」とおっしゃってるのはA列の都道府県の行のことですね。つまり、A列にある都道府県の行が7行目8行目と増えた場合にボタンを使いまわしができるのか?という質問ですね。理解できました😊
結論から言うと、そのまま使い回すことはできないけど、少し変更すると使い回せます。
これはちょっとしたVBAの知識が必要です。
動画内でボタンに登録したマクロはあくまで「B3:D6」の範囲を操作するものです。なので、もし7行目に「北海道」を追加したならマクロを「B3:D7」と変更する必要があります。
変更方法は、真ん中のボタンを作った際にも少しだけ開きましたがVBEというマクロを記述してあるエディター上で編集します。
「マクロの記録」は自動的にプログラムを作ってくれるExcelの機能なので、実際はVBAというプログラミング言語でプログラムが自動記述されます。それを編集します。
この動画ではそのあたりを詳しく解説していないのでマクロがよくわからないと難しいかもしれませんが、とりあえず「Alt+F11」を押すとエディターが開くのでプログラムが記載されているところを探します(標準モジュール→Module1をダブルクリック)。「B3:D6」となっているところを「B3:D7」に変更します。(ランダムデータの場合は左のシート名をダブルクリックするとコードが表示するので3 to 6を3 to 7へ変更)
あと、いちいちプログラムを変更しなくても済む方法もありますけどVBAの基礎がわかってないと理解していただけないと思いますので、これくらいの説明でいかがでしょうか?
@@pckatuyou
行と列を間違えておりました💦
ありがとうございます!!
そうなのですね。
早速試してみたいと思います。
これが使いまわせたら仕事でも使えそうでワクワクしています。
最近エクセルの勉強をpc活用ちゃんねるさんの動画で行っています。
私の様な初心者にも分かりやすい説明で励みになっています!
ご丁寧な解説をありがとうございました✨
ありがとうございます。
ボタンはプリントしたいばいはどやってやるのですか?
右クリ→コントロールの書式設定→プロパティ→オブジェクトを印刷する
で印刷できます。
いつもありがとうございます。
業務の効率化を図ることが出来ました。
ところで教え頂きたい事があります。
パワーポイント内のエクセルグラフ内で、フォームコントロールのボタン内に簡単なマクロを作成してみたのですが、ファイルごと他のPCにコピーしたところ、実行できません😥
どんな原因でできないのか教えて頂きです。
バージョンは互いに2016です。
ご視聴ありがとうございます。
PowerPointのフォームコントロールとは開発タブのコントロールグループのActiveXコントロールのことですかね?ActiveXが無効になっているとかかなぁ?オプション→トラストセンター→トラストセンターの設定→ActiveXの設定、あたりを確認するといいかもです。
@@pckatuyou
返信ありがとうございます。
結論から言えば、未解決です😭
確認したのですが、、
すみません😥説明が下手で😞
パワーポイント内にグラフ作成したら、その編集をExcelで編集できますけど。
そのExcel内にフォームコントロールボタン作成して、マクロの記録しました。
元々のファイルであるパワーポイントも、マクロ形式で保存してますが、、😥
「登録されてないから無効、、、」みたいなメッセージです。
やりたいことがわかりました。
マクロを使いたい場合は、パワポでグラフを挿入してから「Excelでデータを編集」のでグラフの元データを編集するやり方だとうまくいきません。パワポ→Excelの順番ではなく、Excel→パワポの順番で作成します。
具体的には、
①Excelでグラフを作る(マクロの記録も)
②Excelをマクロ有効ブックで名前を付けて保存
③Excelのグラフエリアを選択してコピー
④パワポのスライドに貼り付け
の手順で行います。
すると、あとはExcelブックを閉じても、パワポのグラフを右クリックして「Excelでデータを編集」を選択するときちんとグラフと紐づいたそのExcelブックが開くのでマクロが使えるようになっています。
@@pckatuyou
ありがとうございます。
そうだったのですねー。
と言う事は、パワーポイントとエクセルファイルは対で、他のパソコンに持って行くべきですね。
はい、あと他のパソコンへ持っていくとパワポとExcelとのリンクのパスも変わるので他のパソコンへ移動後リンクの再設定作業も必要です。
パワポのファイル→情報、右下あたりに「ファイルへのリンクの編集」とあるので他PCへ持ってきたExcelへのリンクを設定してください。
ちなみに同じOneDrive内であればそれは不要です。
ActiveXボタン押したときに、キャプションがずれてるのが気になりますね
ほかにもフォントがおかしくなったりと、最近のExcelではActiveXの挙動がおかしいので
実際にはActiveXはあまり使わない方がよいと思います
まぁ実務では普通ユーザーフォームに作りますねー
過去にバグの修正パッチも配布されているところを見るとおっしゃるとおり不安定みたいです。
ワークシートに設置するならフォームコントロールで十分です。
いつも、勉強させていただいてます。
教えてください。ボタンを押すと新しいテンプレ付きのシートが現れます。
そのテンプレを編集したいのですが、ボタンのコード表示の内容は以下のものです。
この中には何と書いてあるのでしょうか?また編集したいものはこの中で分かりますでしょうか?
Private Sub btn新規_Click()
Sheets("new_sheet").Visible = True
Worksheets("new_sheet").Copy before:=Sheets("就業規則")
Sheets("new_sheet").Visible = False
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ad
ad = Target.Address
If (ad = "$C$3") Or (ad = "$D$3") Then
Dim str, str1, str2
str1 = Range("C3").Value
str2 = Range("D3").Value
str = str1 & str2
If (Len(str) > 1) Then
ActiveSheet.Name = str1 & " " & str2
End If
End If
End Sub
>この中には何と書いてあるのでしょうか?
'ボタンを押すと実行
Private Sub btn新規_Click()
'new_sheetシートを表示
Sheets("new_sheet").Visible = True
'new_sheetシートを就業規則シートの後にコピー
Worksheets("new_sheet").Copy before:=Sheets("就業規則")
'new_sheetシートを非表示
Sheets("new_sheet").Visible = False
End Sub
'セルの値が変更したら実行
Private Sub Worksheet_Change(ByVal Target As Range)
'変更したセル番地をad変数へ代入
Dim ad
ad = Target.Address
'もしad変数がC3かD3なら
If (ad = "$C$3") Or (ad = "$D$3") Then
'str1変数にはC3の値、str2変数にはD3の値を代入
Dim str, str1, str2
str1 = Range("C3").Value
str2 = Range("D3").Value
'str変数にstr1とstr2を連結した文字列を代入
str = str1 & str2
'もしstr変数の文字数が1よりも大きければ
If (Len(str) > 1) Then
'アクティブシートのシート名を「str1 str2」にする
ActiveSheet.Name = str1 & " " & str2
End If
End If
End Sub
>編集したいものはこの中で分かりますでしょうか?
どう編集したいのか知らないのでわかりません。
めちゃ勉強になります<(_ _)>
0:49 作ったボタンの削除
1:45 ボタン(フォームコントロール)
4:55 コマンドボタン(ActiveXコントロール)
8:31 図形ボタン
ちなみに、AcriveXコントロールはワークシートに設置すると不安定になるケースもあるので基本的にはフォームコントロールを使ってください!マクロの勉強を進めて「ユーザーフォーム」を使うときにActiveXコントロールを使います!
サブチャンネルではVBAの基礎文法をゼロから丁寧に解説しています!
◆マクロちゃんねる
ua-cam.com/channels/lX2kAK2MWkZdnvyesDkbzA.html
MacBookってこのボタン使えますか???
ActiveXコントロールだけは使えないですが、あと2つは使えます。
PC活用ちゃんねる フォームコントロールをアクティブコントロールの代用として使うことは可能ですか??
マクロ実行したいだけであればフォームコントロールだけで十分ですが、ボタンの状態など様々なプロパティをVBAで取得するにはActiveXコントロールが必要です。ユーザーフォームへ設置できるのもActiveXコントロールだけです。
なので、作りたいマクロが何なのかによって代用できるかできないかが決まるので一概にどうとは言えませんが、確実に言えるのはMac版のExcelではできることがWindows版のExcelよりも少ないということです。
PC活用ちゃんねる 大学の授業でVBAを使い始めて、VBAで文字出力プログラミングまではできたんですが、その次の課題がボタンを押したらそのプログラミングが出てくるようにしようというものでして、そこでactiveXコントロールのボタンを使おうってなってたんですが、その代用としてフォームコントロールを使えるかな?って思ったんですけどできますかね?、、、、
長文すみません、、、
それであればできますよ。
文字を出力するだけというプログラムやこの動画内で紹介しているようなシンプルなプログラムであればActiveXコントロールもフォームコントロールも動作に変わりありません。
なので、VBAのスキルが初歩的なうちはWindowsでもActiveXコントロールは使わないのでMacでもとりあえずのところ問題ないかと思います。
スキルのある人、ない人、どのような人を対象にしているのか分かりにくいです。
動画見た感じは誰でも出来る
エクセルの基礎的な機能は使えるけど、
マクロはちょっと...
みたいな層対象だと思います。