ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part57
https://mevius.5ch.net/test/read.cgi/tech/1536583359/
Excel VBA 質問スレ Part58
レス数が1000を超えています。これ以上書き込みはできません。
2018/11/19(月) 06:47:24.99ID:Qq88xGOU
967デフォルトの名無しさん
2019/02/08(金) 12:59:45.99ID:WyTY+E9f968デフォルトの名無しさん
2019/02/08(金) 13:11:41.88ID:SOh8GklL969デフォルトの名無しさん
2019/02/08(金) 13:14:37.20ID:SOh8GklL970デフォルトの名無しさん
2019/02/08(金) 13:19:24.26ID:WyTY+E9f >>968
くっさ
くっさ
971デフォルトの名無しさん
2019/02/08(金) 15:18:18.79ID:ZcpxXTEs >>961
うちのシステムだとテキストボックスが既に3つになってて一段目が市区町村まで、二段目が枝番まで、三段目が物件名と部屋番+様方、会社名とかって決まってる。
うちのシステムだとテキストボックスが既に3つになってて一段目が市区町村まで、二段目が枝番まで、三段目が物件名と部屋番+様方、会社名とかって決まってる。
972デフォルトの名無しさん
2019/02/08(金) 15:20:53.99ID:SOh8GklL まあ、なんだな住所を2行にしたいなんてあて名書きだけだろ
それって、Wordのあて名書き印刷ぐらい
で、きれいに住所を分けるのは郵便番号に載っている住所で区切るんだよ
それ以外は長いマンション名あるけど適当に範囲内で打てばいいんだよ
今時郵便番号を管理しない住所録もないだろ
まあ、引きこもりにはわからないかもしれないが
それって、Wordのあて名書き印刷ぐらい
で、きれいに住所を分けるのは郵便番号に載っている住所で区切るんだよ
それ以外は長いマンション名あるけど適当に範囲内で打てばいいんだよ
今時郵便番号を管理しない住所録もないだろ
まあ、引きこもりにはわからないかもしれないが
973デフォルトの名無しさん
2019/02/08(金) 15:21:19.17ID:ZcpxXTEs >>971
追記、登録する人にはこれで宛名出るからって言ってある。
追記、登録する人にはこれで宛名出るからって言ってある。
974デフォルトの名無しさん
2019/02/08(金) 15:21:58.27ID:RRS+yeTf 市区町村の名前のDB作ればいいんじゃね
975デフォルトの名無しさん
2019/02/08(金) 15:29:02.53ID:SOh8GklL976デフォルトの名無しさん
2019/02/08(金) 16:46:02.55ID:QatAiOm8 >>950
「1つ目のスペースで2つに分ける。2つ目以降のスペースは無視」という解決ではなく
「分割が発生したら住所を2つに再結合する」という解決だけど
Sub test()
Dim tmp As Variant
Dim i As Integer
Dim jusho0 As String
Dim jusho1 As String
Dim jusho2 As String
jusho0 = Sheets("住所").Range("A1").Value '参照するセルは自分で書いてください
tmp = Split(jusho0, " ") '文字を分割して
If UBound(tmp) > 0 Then '分割が発生していたら再結合する
jusho1 = tmp(0)
For i = 1 To UBound(tmp)
jusho2 = jusho2 & tmp(i)
Next i
Else
jusho1 = jusho0 '分割が発生していなかったらそのまま代入する
jusho2 = " "
End If
Sheets("印刷元").Range("A1") = jusho1
Sheets("印刷元").Range("A2") = jusho2
End Sub
これでいけるはず
「1つ目のスペースで2つに分ける。2つ目以降のスペースは無視」という解決ではなく
「分割が発生したら住所を2つに再結合する」という解決だけど
Sub test()
Dim tmp As Variant
Dim i As Integer
Dim jusho0 As String
Dim jusho1 As String
Dim jusho2 As String
jusho0 = Sheets("住所").Range("A1").Value '参照するセルは自分で書いてください
tmp = Split(jusho0, " ") '文字を分割して
If UBound(tmp) > 0 Then '分割が発生していたら再結合する
jusho1 = tmp(0)
For i = 1 To UBound(tmp)
jusho2 = jusho2 & tmp(i)
Next i
Else
jusho1 = jusho0 '分割が発生していなかったらそのまま代入する
jusho2 = " "
End If
Sheets("印刷元").Range("A1") = jusho1
Sheets("印刷元").Range("A2") = jusho2
End Sub
これでいけるはず
977デフォルトの名無しさん
2019/02/08(金) 18:27:58.69ID:CDEogeBV978デフォルトの名無しさん
2019/02/08(金) 19:06:53.88ID:imEPOnT1 >>976
もしSplit( )で分割数の制限ができなくて
> 「分割が発生したら住所を2つに再結合する」
としても
Sub test()
Dim tmp As Variant
Dim i As Integer
Dim jusho0 As String
Dim jusho1 As String
Dim jusho2 As String
jusho0 = Sheets("住所").Range("A1").Value '参照するセルは自分で書いてください
tmp = Split(jusho0, " ") '文字を分割して
jusho1 = tmp(0)
jusho2 = ""
For i = 1 To UBound(tmp)
jusho2 = jusho2 & tmp(i)
Next i
Sheets("印刷元").Range("A1") = jusho1
Sheets("印刷元").Range("A2") = jusho2
End Sub
でいいだろ
ちょっとトリッキーだけど
jusho1 = tmp(0)
tmp(0) = ""
jusho2 = Join(tmp, "")
ってやる手もあるな
もしSplit( )で分割数の制限ができなくて
> 「分割が発生したら住所を2つに再結合する」
としても
Sub test()
Dim tmp As Variant
Dim i As Integer
Dim jusho0 As String
Dim jusho1 As String
Dim jusho2 As String
jusho0 = Sheets("住所").Range("A1").Value '参照するセルは自分で書いてください
tmp = Split(jusho0, " ") '文字を分割して
jusho1 = tmp(0)
jusho2 = ""
For i = 1 To UBound(tmp)
jusho2 = jusho2 & tmp(i)
Next i
Sheets("印刷元").Range("A1") = jusho1
Sheets("印刷元").Range("A2") = jusho2
End Sub
でいいだろ
ちょっとトリッキーだけど
jusho1 = tmp(0)
tmp(0) = ""
jusho2 = Join(tmp, "")
ってやる手もあるな
979デフォルトの名無しさん
2019/02/08(金) 20:28:18.13ID:v6US6OW1 どこで質問していいのかわからないので、ここにお邪魔します
Jscript、 拡張子がjsのファイルですが、これでエクセルを操作するのですが、
複数のワークシートがあるxlsファイルを開いた状態で
var book = GetObject("C:\\file.xls");
var sheet = book.Worksheets( 1 );
sheet.cells( 2, 2 ).Select;
としたとき、1のワークシートを開いているときは問題ないのですが、他のワークシートを開いているときは
エラーになります。でも、
sheet.cells( 2,2 ) = 5
は問題なくできます
つまり、タブで対象となるワークシート以外の他のワークシートを選択しているとき、
代入はできるのに、選択ができないのです
選択をできる方法ってありますか
Jscript、 拡張子がjsのファイルですが、これでエクセルを操作するのですが、
複数のワークシートがあるxlsファイルを開いた状態で
var book = GetObject("C:\\file.xls");
var sheet = book.Worksheets( 1 );
sheet.cells( 2, 2 ).Select;
としたとき、1のワークシートを開いているときは問題ないのですが、他のワークシートを開いているときは
エラーになります。でも、
sheet.cells( 2,2 ) = 5
は問題なくできます
つまり、タブで対象となるワークシート以外の他のワークシートを選択しているとき、
代入はできるのに、選択ができないのです
選択をできる方法ってありますか
980デフォルトの名無しさん
2019/02/08(金) 21:07:58.30ID:sNzlIvCP >>979
セルをセレクトする前に、シートもセレクトすればいいよ
セルをセレクトする前に、シートもセレクトすればいいよ
981デフォルトの名無しさん
2019/02/08(金) 21:17:15.14ID:v6US6OW1 あ、出来た。シートのセレクトってできたんですね。ありがとうございました
982デフォルトの名無しさん
2019/02/09(土) 09:52:28.52ID:45ZMFjRM コード書く画面を
背景黒、文字色白にするには
どうしますか?
背景黒、文字色白にするには
どうしますか?
983デフォルトの名無しさん
2019/02/09(土) 10:11:07.65ID:0f9Fhb3P >>917
あとでみます。
あとでみます。
984デフォルトの名無しさん
2019/02/09(土) 10:13:47.89ID:7J3n1w5Y >>982
オプション
オプション
985デフォルトの名無しさん
2019/02/09(土) 10:52:22.81ID:4JLmAX8Q 依頼者ですがみました。ここまでやってくれるとは思わなかった、それぐらいの完成度の高いです。感謝です。
フラッシュ演算「のような」ツールがほしいニュアンスで言ったのですが、演算までやってくれるプラスアルファまでやってくれるとは思わなかったです。恐れ入りました。
フラッシュ演算「のような」ツールがほしいニュアンスで言ったのですが、演算までやってくれるプラスアルファまでやってくれるとは思わなかったです。恐れ入りました。
986デフォルトの名無しさん
2019/02/09(土) 10:59:52.07ID:76xhR9ul >>881
まあ、Excelの関数や機能でやるのはスレ違だが
基本的にVBAでやるのは最終手段っと考えてるのであしからず
A1 B1から始めてるとして C1に入れる式は「=IF(A1>0,IF(A2>A1,B1&C2,B1),"")」
これをC列にコピーすれば、A列に1が入っているところに答えが入る
A列B列C列に、フィルターを設定して、A列の1のみを表示するだけ
まあ、Excelの関数や機能でやるのはスレ違だが
基本的にVBAでやるのは最終手段っと考えてるのであしからず
A1 B1から始めてるとして C1に入れる式は「=IF(A1>0,IF(A2>A1,B1&C2,B1),"")」
これをC列にコピーすれば、A列に1が入っているところに答えが入る
A列B列C列に、フィルターを設定して、A列の1のみを表示するだけ
987デフォルトの名無しさん
2019/02/09(土) 11:07:15.59ID:4JLmAX8Q 連投すみません。
さらに要望なのですが、
要望その一
現状、横並びでフラッシュ表示しますが、縦並びに切り替えることはできます?
可能であれば対応いただきたいです。できたら、円並び、ランダム配置といったバリエーションも検討いただきたく。
要望その二
「問題セット」シートにて、登録した文字列の順序をボタン一つでランダムに入れ換えることは可能でしょうか?
可能であれば対応いただきたいです。
もともと登録した文字列は同一シート内の別の列に退避させてください。
さらに要望なのですが、
要望その一
現状、横並びでフラッシュ表示しますが、縦並びに切り替えることはできます?
可能であれば対応いただきたいです。できたら、円並び、ランダム配置といったバリエーションも検討いただきたく。
要望その二
「問題セット」シートにて、登録した文字列の順序をボタン一つでランダムに入れ換えることは可能でしょうか?
可能であれば対応いただきたいです。
もともと登録した文字列は同一シート内の別の列に退避させてください。
988デフォルトの名無しさん
2019/02/09(土) 11:10:02.53ID:k8PbCSOR989デフォルトの名無しさん
2019/02/09(土) 11:17:52.46ID:76xhR9ul990デフォルトの名無しさん
2019/02/09(土) 11:21:46.36ID:4JLmAX8Q 要望その二はわかりづらいと思うので、具体的には「きりん」を登録します。
これをランダムで文字を入れ換えて「んきり」といったイメージです。
「んきり」をみてばらばらの文字を自分が知っている既知の情報「きりん」に変換し、きりんをイメージする。
個人的な、ツールの用途として、左脳で文章をよまず、文章をぱっと見で右脳でビジュアルに思い描く右脳活性化のための訓練として扱いたいのです。
これができるようになると、本を読むとき、文章で読むより右脳でイメージでとらえながら読むので、速読が可能そしてイメージでみるので記憶に残りやすくなります。
これをランダムで文字を入れ換えて「んきり」といったイメージです。
「んきり」をみてばらばらの文字を自分が知っている既知の情報「きりん」に変換し、きりんをイメージする。
個人的な、ツールの用途として、左脳で文章をよまず、文章をぱっと見で右脳でビジュアルに思い描く右脳活性化のための訓練として扱いたいのです。
これができるようになると、本を読むとき、文章で読むより右脳でイメージでとらえながら読むので、速読が可能そしてイメージでみるので記憶に残りやすくなります。
991デフォルトの名無しさん
2019/02/09(土) 11:32:56.47ID:6oInKB58 こんちには みさなん おんげき ですか?
わしたは げんき です。
この ぶんょしう は いりぎす の ケブンッリジ だがいく の けゅきんう の けっか
にんんげ は もじ を にしんき する とき その さしいょ と さいご の もさじえ
あいてっれば じばんゅん は めくちちゃゃ でも ちんゃと よめる という けゅきんう に
もづいとて わざと もじの じんばゅん を いかれえて あまりす。
どでうす? ちんゃと よゃちめう でしょ?
ちんゃと よためら はのんう よしろく
わしたは げんき です。
この ぶんょしう は いりぎす の ケブンッリジ だがいく の けゅきんう の けっか
にんんげ は もじ を にしんき する とき その さしいょ と さいご の もさじえ
あいてっれば じばんゅん は めくちちゃゃ でも ちんゃと よめる という けゅきんう に
もづいとて わざと もじの じんばゅん を いかれえて あまりす。
どでうす? ちんゃと よゃちめう でしょ?
ちんゃと よためら はのんう よしろく
992デフォルトの名無しさん
2019/02/09(土) 11:44:46.80ID:76xhR9ul ---------上記はワッチョイ表示用(この行の後を1行目から )--------
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑の二行はワッチョイつけ忘れ防止用の予備です。 立てた時点で1行消耗します
スレを立てる方は本文の文頭に上記行を三行重ねて立てて下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part58
https://mevius.5ch.net/test/read.cgi/tech/1542577644/
---------上記はワッチョイ表示用(この行の前)---------
私は新参者なのでスレたては控えさせていただきますが
ワッチョイを入れることも検討してください
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑の二行はワッチョイつけ忘れ防止用の予備です。 立てた時点で1行消耗します
スレを立てる方は本文の文頭に上記行を三行重ねて立てて下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part58
https://mevius.5ch.net/test/read.cgi/tech/1542577644/
---------上記はワッチョイ表示用(この行の前)---------
私は新参者なのでスレたては控えさせていただきますが
ワッチョイを入れることも検討してください
993デフォルトの名無しさん
2019/02/09(土) 15:10:39.63ID:3lTArmdf 建てま
994デフォルトの名無しさん
2019/02/09(土) 15:13:23.38ID:3lTArmdf995デフォルトの名無しさん
2019/02/09(土) 16:27:54.49ID:dlyNQvdo スレ最後の質問。
あるファイルに、
on error goto err
******
exit sub
err:
msgbox err.description
end sub
↑
こういうコードをたくさん書いてきました。
しかし、エラーが出たときに、どのプロシージャで発生したのか知りたくなり、
msgbox err.description & このプロシージャ名
に変更したくなりました。
「このプロシージャ名」を書く方法ってあるのでしょうか?
あるファイルに、
on error goto err
******
exit sub
err:
msgbox err.description
end sub
↑
こういうコードをたくさん書いてきました。
しかし、エラーが出たときに、どのプロシージャで発生したのか知りたくなり、
msgbox err.description & このプロシージャ名
に変更したくなりました。
「このプロシージャ名」を書く方法ってあるのでしょうか?
996デフォルトの名無しさん
2019/02/09(土) 18:30:41.53ID:wulgFGFC >>991
もうそのコピペあきた
もうそのコピペあきた
997デフォルトの名無しさん
2019/02/09(土) 18:34:38.97ID:gPze9fmT 乗りかかった船だし、自分自身も勉強になっているのでこの案件は、できるところまでやりたいと思います。
>>987
要望その1
縦並び = 今でも(一応)可能。セルの書式設定からB2の書式で「配置タブ」の「方向」で縦を選んでみてください。
文字の大きさとかも合わせて調整したら画面に収まりきると思います。後はセルの大きさも調整してみて。
ランダム配置 = スレの上のほうで案が出てたけどオートシェイプとかワードアートでできるかもしれないしできないかもしれない。あんま期待しないで。
円並び = 自分にはできません。
総じて、要望その1はあまり自信なしです!!!
要望その2
おそらく可能。まずはこっちから手をつけます。
時間がかかると思うのでのんびり待ってください。
>>922
922さんが想定された使い方かどうかはわかりませんが、使い方が解った気がします。
ヒントありがとうございます。
>>987
要望その1
縦並び = 今でも(一応)可能。セルの書式設定からB2の書式で「配置タブ」の「方向」で縦を選んでみてください。
文字の大きさとかも合わせて調整したら画面に収まりきると思います。後はセルの大きさも調整してみて。
ランダム配置 = スレの上のほうで案が出てたけどオートシェイプとかワードアートでできるかもしれないしできないかもしれない。あんま期待しないで。
円並び = 自分にはできません。
総じて、要望その1はあまり自信なしです!!!
要望その2
おそらく可能。まずはこっちから手をつけます。
時間がかかると思うのでのんびり待ってください。
>>922
922さんが想定された使い方かどうかはわかりませんが、使い方が解った気がします。
ヒントありがとうございます。
998デフォルトの名無しさん
2019/02/09(土) 18:56:58.62ID:2u7e0Xtv >>997
要望その二ができれば、要望その一のランダム配置は解決済みでよいです。
本は横書きと縦書きな二種類しかないので、円並びはあまり意味がないかなとおもうので対応は不要です。縦並びの実現はセルの書式設定で変えることができるので、実質要望その二だけになります。
余談ですが、Androidアプリでフラッシュカードというフリーのアプリを一週間前から使ってましたが、スマホでデータ登録は面倒、フラッシュ速度最大にしても0.5秒くらい望んでるものではないのでアンインストールしました。
要望その二ができれば、要望その一のランダム配置は解決済みでよいです。
本は横書きと縦書きな二種類しかないので、円並びはあまり意味がないかなとおもうので対応は不要です。縦並びの実現はセルの書式設定で変えることができるので、実質要望その二だけになります。
余談ですが、Androidアプリでフラッシュカードというフリーのアプリを一週間前から使ってましたが、スマホでデータ登録は面倒、フラッシュ速度最大にしても0.5秒くらい望んでるものではないのでアンインストールしました。
999デフォルトの名無しさん
2019/02/09(土) 21:15:13.37ID:mrBfx6rS 999
1000デフォルトの名無しさん
2019/02/09(土) 21:15:45.94ID:jdOhgT4v いまからお前の名前は せん だ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 82日 14時間 28分 22秒
新しいスレッドを立ててください。
life time: 82日 14時間 28分 22秒
レス数が1000を超えています。これ以上書き込みはできません。
