Excel VBA 質問スレ Part73

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 4668-xJJl)
垢版 |
2021/09/13(月) 07:29:59.47ID:GNx0xRRz0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/12/01(水) 11:09:46.49ID:3lXUqEaB0
>>729
クラスのコンストラクタ自体はあるよ。引数が使えないだけで。
VBAの場合は一般的に言う継承は使えないけども移譲が使えるのでクラスで多態性を持たせる場合は
テンプレートメソッドパターンを使うのではなくストラテジーパターンを使う。
741デフォルトの名無しさん (ワッチョイ 9ff2-BhQk)
垢版 |
2021/12/01(水) 11:40:27.26ID:QKQZx/r30
ユーザーフォーム上でのハイパーリンクに関して教えて欲しいです。

エクセルで下記のようなデータがあり、各レコードをユーザーフォームで
表示できるようにしています。

レコード 氏名  駅   地図(URL)
1    山田  新宿  https://map.yahoo.co.jp/search?q=新宿
2    鈴木  渋谷  https://map.yahoo.co.jp/search?q=渋谷
3    木村  池袋  https://map.yahoo.co.jp/search?q=池袋



その際、「地図(URL)」のテキストボックスを使ってハイパーリンクの設定を、あるいは
「地図(URL)」のラベルを使ってリンクを開くをお教えていただけないでしょうか。
2021/12/01(水) 11:45:54.74ID:3lXUqEaB0
>>741
http://officetanaka.net/excel/vba/tips/tips01.htm
2021/12/01(水) 11:51:59.83ID:3lXUqEaB0
まぁその前にExcelのユーザーフォームは
スプレッドシートやグリッドビューや
HTMLでいうTableタグのようなものが無いので
擬似的に一覧を作る方法を考える方が
先だと思うけど。
744デフォルトの名無しさん (ワッチョイ 9ff2-BhQk)
垢版 |
2021/12/01(水) 11:57:47.33ID:QKQZx/r30
Private Sub ラベル地図_Click()
Dim a
a = 地図.Text
ユーザーフォーム.FollowHyperlinks Address:="a"
End Sub

なんとなくこんな感じなかとやってみたのですが、エラーでした。
宜しくお願いいたします。
745デフォルトの名無しさん (スプッッ Sd3f-y/uX)
垢版 |
2021/12/01(水) 11:59:07.74ID:JKRXUH4pd
VBAって初学者はどうやって勉強すればいいんですか?
2021/12/01(水) 12:03:16.45ID:G1NuLHw5M
>>744
=a
だとどう?
2021/12/01(水) 12:12:34.05ID:KAm88z78M
>>745
変数の定義、ループ文の書き方、条件分岐の書き方が分かれば大体の言語はなんとかなる
あとは自分が何をやりたいかによってこんな動作はできるか?あんな動作は可能か?って一つ一つ調べていけばいい
処理速度が遅いと感じ始めたら最適化とかに手を出したり、シークバーを表示することで体感速度を早めたりっていう事を覚えていけば最低限はなんとかなるんじゃない?知らんけど
2021/12/01(水) 12:23:56.22ID:3lXUqEaB0
>>745
「〜をやりたい」という目標を決めたら
後はGoogle先生とマクロ先生に聞けばいいんじゃないかな
2021/12/01(水) 12:31:06.77ID:3lXUqEaB0
>>744
そうだね、
まずは3行目の変数に代入している文字列を
ダブルコーテーションで囲めばいいんじゃないかな。
後、地図.txtってどこのフォルダに格納されているのかな?フルパスで書かないとダメだよね。
最後に>>746の人が言ってるとおり、それだとaという変数の中にある頭を見て飛んでるんじゃなくて、
aというリンク先に飛ぼうとしているよね。
2021/12/01(水) 12:33:40.85ID:3lXUqEaB0
ごめん誤表記
頭×
値◯
2021/12/01(水) 12:42:23.19ID:k/wjCDWPa
>>739
ありがとうございます
無事にできました!
752デフォルトの名無しさん (ワッチョイ 9ff2-BhQk)
垢版 |
2021/12/01(水) 13:31:12.78ID:QKQZx/r30
Range ってテキストボックス内の文字列(アドレス)指定できたでしょうか??


テキストボックスのオブジェクト名を間違ってた・・・

Private Sub ラベル地図_Click()
Dim a
a = "txt地図" ’テキストボックス(txt地図)内表示の文字列
ユーザーフォーム.FollowHyperlinks Address:=”a"
End Sub

・・・またエラーだ・・・。
「a」「”a”」ともに・・・。
.FollowHyperlinks がダメなのかなぁ。

安易に質問してすみませんでした。
勉強しなおします。
他いろいろ試してまた分からなかったら来ます。
753デフォルトの名無しさん (ワッチョイ 9ff2-BhQk)
垢版 |
2021/12/01(水) 13:36:58.56ID:QKQZx/r30
>>745
上の>>744初心者です。
マクロの記録使って、そのコード見てイジってます。

この方法って間違ってる気もしますが・・・。
754デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/12/01(水) 13:40:49.74ID:RRRUPRTbM
フォームオブジェクトには.FollowHyperlinksというメソッドは無いね

WorkbookかApplicationのを使うとよろし
755デフォルトの名無しさん (ワッチョイ 5701-hL2Y)
垢版 |
2021/12/01(水) 14:39:09.38ID:8YNSD3Np0
Sub マクロ保存したまま拡張子変換()
Dim bk As Workbook
Dim f As Variant
Dim gf , hf
Dim fro As Object
MsgBox (“変換するフォルダを選択して下さい”)
Set fso = CreateObject(“Scripting.FilesystemObject”)
With Application.FileDialog(msoFileDialogFolderPicker)
.show
gf = .SelectedItems(1)
MsgBox (“保存するフォルダを選択してください。”)
FileDialog(msoFileDialogFolderPicker)
. Show
hf = . SelectedItems(1)
End with
Set = fso.GetFolder(gf).Files
For Each f in fso.GetFolder(gf).Files
If LCase(fso. GetExtensionName(f.name)) =“xlsm” Then
Application.DisplayAlerts = False
Set bk = Workbooks.Open(gf & “\” & f.Name)
bk.SaveAs gf & “\”fso.GetBasename(f.Name) & “.xlsx” , 51
bk.Close
set bk = Nothing
End if
Next
fso.MoveFile “gf & \ *.xlsm,_ “hf”
set gf = Nothing
set hf = Nothing
set fso = Nothing
MsgBox “ finished”
End sub
元のマクロデータ結果が消えるのと、フォルダ移管がうまくいきません。誰かたーすーけーてー。
756デフォルトの名無しさん (ワッチョイ d74e-y/uX)
垢版 |
2021/12/01(水) 14:39:40.62ID:WlcvAg5v0
>>747
>>748
ありがとうございます
757デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/12/01(水) 15:27:28.95ID:RRRUPRTbM
今日び小学生でも拡張子変更なんぞせんぞ
2021/12/01(水) 15:29:25.99ID:+HkH87nC0
へぇー
2021/12/01(水) 15:37:37.70ID:Jx6PEbk5M
拡張子なんてずっと前から非表示がデフォルト設定だもんな
表示してるのはIT技術者とマニアぐらい
2021/12/01(水) 17:45:16.35ID:j0FzcgCOM
>>745
解説本読んだら、やりたい事 vbaでググる
2021/12/01(水) 17:45:55.82ID:G1NuLHw5M
>>755
さっきの人もそうだけど、とりあえず変数を""で囲うのやーめーてー
2021/12/01(水) 18:55:24.01ID:mU2lRylq0
>>755
せめてコード載せる時は
全角ダブルクォーテーションやーめーてー
2021/12/01(水) 20:04:07.09ID:D4hpf6JM0
スマホ使いにそんなこと言ってもしゃーないで
2021/12/01(水) 20:12:27.50ID:mU2lRylq0
PCやけど
765デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/12/01(水) 20:28:25.20ID:FnvfENRiM
ExcelスレにはPCからアクセス出来ないからと
全部手打ちのお客さんが稀に良く来るんだよ
いつものひとって呼ばれているけど個体ではなく群体かもしれないね
2021/12/01(水) 21:12:48.54ID:s3di+kE80
なにそれ怖い
2021/12/01(水) 21:14:41.21ID:qDEAEYAb0
>>745
今やってる手作業を全部マクロで書いてみる
とにかくひたすら、
「入力を最低限に」
「出力を正確に」
を考えると、実用十分な面で腕が上がる

あとはオブジェクト、setなどを覚えると更に快適になるけど
まぁそこまで覚えなくてもいいことがほとんど
768デフォルトの名無しさん (ワッチョイ ff8e-/YRy)
垢版 |
2021/12/01(水) 21:25:33.13ID:fkQJutja0
「助けて」と質問を書くのは馬鹿ばっか
2021/12/01(水) 21:42:33.27ID:+HkH87nC0
タスケテ…
2021/12/01(水) 22:01:16.26ID:qDEAEYAb0
コロシテ…
771デフォルトの名無しさん (スフッ Sdbf-f7fV)
垢版 |
2021/12/01(水) 22:12:07.13ID:8hr1PHBLd
オコシテ…
2021/12/01(水) 22:19:52.19ID:jZirIxvE0
excel vnaでパス区切りが入りません。
\マークの前に、変な文字が入ってしまいます。
a=“c:\tmp\”

a=“c: \tmp \”
みたいになります。
解決策をご存知の方いませんか?
2021/12/01(水) 22:22:18.62ID:+HkH87nC0
>>772
どの時点で入るのか
2021/12/01(水) 22:22:56.56ID:juM9jQJh0
VNAじゃ無理だな
2021/12/01(水) 22:28:54.98ID:jZirIxvE0
>>773
パスを連結する所です。
次のようなコードです。

file = wsh.specialfolder(“Desktop”) & “\test.csv”
2021/12/01(水) 22:31:48.27ID:+HkH87nC0
>>775
実行時なのか書いてるときなのかってこと
2021/12/01(水) 22:37:04.57ID:jZirIxvE0
>>776
実行時です。
lenで長さを調べると、不明な文字分、長くなっています。
2021/12/01(水) 23:27:22.80ID:J8+WBzZ00
Ruby の文字列には、こういうメソッドがある

chomp は、文字列の末尾に改行コードがあった場合に、文字列の末尾の改行コードを削除します。
strip は、文字列の前後のホワイトスペース(空白類?)をすべて削除します
2021/12/01(水) 23:37:48.12ID:qDEAEYAb0
使用者の低下率ナンバーワンのrubyか
2021/12/01(水) 23:47:40.21ID:dyETJfYa0
とりあえず、半角スペース?をRelaceしてその場は乗り切ればいいんじゃない
根本的な解決じゃないだろうけどVBAなんだからその場しのぎで十分
781デフォルトの名無しさん (ワッチョイ ff8e-/YRy)
垢版 |
2021/12/02(木) 02:56:08.75ID:dh8YZ99S0
>>780
Ruby馬鹿に引っ掛かる馬鹿
2021/12/02(木) 05:50:03.53ID:TBtFTtDf0
>>780
半角スペースでは無い文字だったので、置き換え出来ませんでした。
結局、動的にパスを連結するのは諦めて、一つの文字列にして対応しました。
お騒がせしてすみませんでした。
2021/12/02(木) 09:23:36.17ID:QiUejsWg0
絶対別のどこかにバグがあるパターンやな
ステップ実行しながら変数の中身をチェックしてみ
2021/12/02(木) 15:07:50.32ID:25yj5vFO0
全角空白、CR、LF、ESC文字、TABコード、00H、のどれかに10ガバチョ
不明文字の文字コード調べればすぐわかるのになぜしないのか?
2021/12/02(木) 19:13:44.99ID:Q4ipSZlu0
>>747
> 変数の定義、ループ文の書き方、条件分岐の書き方が分かれば大体の言語はなんとかなる

OOPからのパラダイムシフトすら起きつつある今、それだけでは
ソース見て、?????にならないか。
2021/12/02(木) 19:16:51.76ID:YGzDOnnRM
基本を押さえれば何が出来るかとかどう調べればいいか分かるって言う話なのになんでそれオンリーで戦おうとするん
2021/12/02(木) 19:34:11.48ID:vBr1OiF/0
縛りプレイ?
2021/12/02(木) 20:00:04.69ID:Q4ipSZlu0
ああ、なるほど。すまんかった
2021/12/02(木) 20:17:25.75ID:i+BC+GFiM
それがこのスレに集う人達のクォリティ
2021/12/02(木) 21:25:27.56ID:8cWBX7d10
知らんけどって最後につけてるからセーフ
2021/12/02(木) 22:03:16.66ID:gXiV7p3O0
知らんがな
2021/12/03(金) 04:54:46.81ID:a7s6mUHw0
>>775
csvがユニコードだったのではなかろうかもう解決したみたいなのでどっちでもいいけど
自分の場合は、ウェブからコピペしたセル上の文字列がユニコードなのにそれをvbaで扱おうとしたらちょっと嵌まったまあなんとかうまく処理できたけど
vbaのエディタはユニコードに対応してないそうだから困っちゃうね
2021/12/03(金) 05:26:40.56ID:6JzCupcO0
>>792
これ全く再現できないんだよな

っていうか質問者自身が
「\の前に文字が混入するバグ」であるとか、
原因が「a=“c:\tmp\”」や「file = wsh.specialfolder(“Desktop”) & “\test.csv”」にあると勝手に判断してて、
それがミスリードになってる気がする。

余計な文字が入った個所が偶々\マークの近くだっただけだったり、
実は後々変数を弄っていてそこで混入している可能性もある。

質問者は素直にコードを一部始終書いて、
「ここでこうなるようにしたい」とそれだけ書けばいいのにと常々思う。
2021/12/03(金) 07:05:37.24ID:8nMwCozS0
>「ここでこうなるようにしたい」とそれだけ書けばいいのにと常々思う。

禿げ上がるほど同意
2021/12/03(金) 08:32:26.43ID:5OfA8a2a0
また髪の話してる(´・ω・`)
796デフォルトの名無しさん (アウアウウー Sab5-XqrI)
垢版 |
2021/12/03(金) 11:57:05.48ID:9DdfYS8Sa
IE操作をしてとあるページまで辿り着いて、そこのBASIC認証のポップアップにユーザー名とパスワードを入力した後、OKをクリックする、ということをやりたいです
詳しくないのですが、普通にリンクを辿っていく感じではなく、div要素にJavaScriptが埋め込まれていて、VBAでIdやClassを指定してクリックしてもページ遷移しません
BASIC認証を求められるページの先にあるデータが目的なのですが、そこへ直接行くURLは分かっていても、当然ながら先にログインしてないとデータが閲覧できないようになっています
直接URL先へ飛んでもBASIC認証のポップアップが出ないため、初めから順にページ遷移していって、BASIC認証を求められる特定の場所まで辿り着きたいのです
そのBASIC認証を求められるページのURLが分からないので、遠回りでもそういう方法しか自分には思い浮かびません
URLにユーザー名とパスワードを埋め込む方法はもうできないそうなので、どうにかJavaScriptによるページ遷移をVBAによるIE操作でやりたいです
必要な情報がなにかも分からないのですが、具体的にどうすればdiv要素に埋め込まれたJavaScriptを動かせますか?
2021/12/03(金) 12:53:21.83ID:zxa5p7EY0
>>796
認証している画面(ログイン画面)は分かりますか?
そもそもですが、一度ログインした情報をクライアントサイドで持ち回っているとは限りませんよ。

Webにはサーバー側でセッションというものがあり、セキュリティ上の関係で、ログイン画面で打ち込んだ、あるいはログイン出来た、という情報をそれで持ち回る手段も一般的に使われます。

クッキーやクエリストリングで持ち回る場合も有りますが、一般公開されているサイトであれば望み薄でしょう。

直接入るようにするのであれば、そのサイトも社内環境のような場所にあるのであれば、そういう口を作って貰うのが一番手っ取り早いでしょう。
そんなに簡単に入れるのなら内部の情報抜きたい放題ですよね?
だから認証というものがある訳です。
2021/12/03(金) 13:12:32.34ID:ssU1VLQS0
>>796
鯖によって使えるかどうか変わるけど、URLにIDとパスワードを埋め込んで認証させてしまうという方法がある
あとJavascriptでのページ遷移もURLにスクリプトを埋め込む方法で飛べてしまうケースがけっこうある
これ以上は具体的にそこのサイトを教えてもらわないと、何が使えるとかアドバイスは難しい
2021/12/03(金) 13:19:32.02ID:ssU1VLQS0
>>796
URLなんてパケットキャプチャすればすぐわかる
ただしURLにワンタイムキーが含まれてる場合はURLがわかってても直接飛ぶのは不可能
ポップアップウィンドウに文字列を入力する最終手段としてSendKeysというのもあるけど、安定動作させるのが難しすぎるのであまりおすすめしない
2021/12/03(金) 13:54:04.52ID:flES33au0
>>796
他のアプリ操作してネットワークにアクセスするのをVBAで作るのはやめなされ
801デフォルトの名無しさん (アウアウウー Sab5-XqrI)
垢版 |
2021/12/03(金) 14:27:04.84ID:SW8VES6Na
>>797
詳細は分からないのですが、一度ログインした後ならば、その先のURLへ直接飛んでも閲覧できるんです
なので、とりあえず一度でもどうにかログインさえすれば、なんとかなるかなと思っています

>>798
外部サイトではないので直接見ていただくことはできないのです
URLに埋め込む方法を試しては見たのですが上手くいきませんでした
欲しいデータのある場所は、URLにパラメータを渡してなんとか飛べることはできたので、BASIC認証が求められるページもそうやって行けるのが一番なんですが、ソースを見ても分からなくてお手上げ状態です
BASIC認証を呼び出してるであろうそれっぽい場所は見つけたんですが、そこからどうも上手くいかなくて・・・

>>799
なるほど
パケットキャプチャ調べてみます
とにかくポップアップさえ表示できれば、最悪SendKeysでEnterしてやろうと思ってました

>>800
あまり良くないであろうことは分かってるんですが、できればすでにあるVBAコードの中に組み込みたいんです・・・
802デフォルトの名無しさん (ラクッペペ MM34-QcgA)
垢版 |
2021/12/03(金) 14:43:51.51ID:0Pem6RYZM
Authorizationヘッダを追加する方法は試したの?
803デフォルトの名無しさん (アウアウウー Sab5-XqrI)
垢版 |
2021/12/03(金) 15:07:12.35ID:HI4Cro1ra
>>802
BASE64でエンコードしてやる方法でしょうか?
一番最初にそれを試しましたんですが上手くいきませんでした
2021/12/03(金) 15:24:32.70ID:zxa5p7EY0
>>801
>>797
>詳細は分からないのですが、一度ログインした後ならば、その先のURLへ直接飛んでも閲覧できるんです
>なので、とりあえず一度でもどうにかログインさえすれば、なんとかなるかなと思っています

ならばgetElementByIdで目的のテキストボックス拾って値設定して、
同様にボタン拾ってClickさせるコードを書いて、その後目的のページに飛べば行けるような気がしますが、それでは駄目なのでしょうか?
805デフォルトの名無しさん (アウアウウー Sab5-XqrI)
垢版 |
2021/12/03(金) 15:52:30.54ID:vV4ZoTXpa
>>804
IdやClassNameでは.Clickでも駄目でした
ページ遷移という書き方をしてしまいましたが、正確にはdiv要素がstyleで画像になっていて、それをマウスクリックするとそのページ内でメニューがポップアップします
そのメニューにも同様にボタン画像があって、いくつかクリックして潜っていった先の一つをクリックすると、今度はBASIC認証のウィンドウが出てきます
806デフォルトの名無しさん (アウアウウー Sa3a-j3Ye)
垢版 |
2021/12/03(金) 18:05:37.11ID:n8IJVD8na
web側で認証しなくていいように直せよ
2021/12/03(金) 20:39:08.05ID:XIVj35HM0
>>805
で書いてある通りに、やっていけば?
Ruby on Rails の統合テストのCapybara は、そういう感じでやっていく

漏れは、Ruby, Selenium Webdriver でブラウザの自動操作して、
yahoo にログインしている

Seleniumでは、要素が出現するまで待ってくれるので、操作しやすい。
この機能がない場合は、適度にsleep して待てば良い
2021/12/03(金) 21:16:21.68ID:8nMwCozS0
>>807
うわぁ・・・rubyってこんなのしかいないのか
rubyの勉強しようと思ってたけどもうやめる
809デフォルトの名無しさん (ワッチョイ 0a8e-9fbA)
垢版 |
2021/12/03(金) 22:10:47.69ID:j3L0Seq20
またRuby馬鹿の釣りに引っ掛かった馬鹿ども
2021/12/03(金) 22:14:21.75ID:SLFpaNjyM
と、馬鹿が申しております。
2021/12/03(金) 23:03:37.81ID:6JzCupcO0
>>796
Basic認証の情報はホスト名毎に自動的に送信されるはずだから、
事前に認証後に遷移するURLへAuthorizationヘッダに認証情報を追加した状態でNavigateメソッドを実行しておけばどうかな。
そのあと通常通り辿ってBasic認証が求められるページに行ったらどうなる?
2021/12/04(土) 02:28:53.31ID:DkK1m4G2M
https://www.vba-ie.net/sp/collection/iebasic.php
2021/12/04(土) 14:10:39.93ID:6zlbLfe7a
根本的な質問で恐縮ですが。EOMonth関数でシリアル値が取れるのはわかっていますが、そこからMonthのみ取り出したらその「月数」のデータ型も日付シリアル値の一部のままと考えていいでしょうか。
それともただのint型やstr型などになってしまうのでしょうか。
814デフォルトの名無しさん (ワッチョイ 6ee6-QcgA)
垢版 |
2021/12/04(土) 14:42:38.47ID:o3TwiRqy0
>>813
https://support.microsoft.com/ja-jp/office/month-%E9%96%A2%E6%95%B0-579a2881-199b-48b2-ab90-ddba0eba86e8
2021/12/04(土) 14:59:32.05ID:cNOnihHeM
>>813
月を取り出したらDateserialで好きな日付のシリアル値を作ればいいアル
2021/12/04(土) 16:20:58.44ID:6zlbLfe7a
>>813 >>814
ありがとうございます
2021/12/04(土) 16:21:36.10ID:6zlbLfe7a
>>814 >>815でした。
すみません。
改めてありがとうございます
2021/12/04(土) 20:10:40.70ID:cgBQWMPD0
1.A列にシートごとに不特定多数(X)のセルがある
2.セルの個数にしたがってを4等分する(小数点以下切り上げ)
3.等分したデータをBCDへ移動する

これをやりたいんだけ2をどう表現すればいいのかわからない
X / 4ってどうやったら表現できますか?

データの最終行の取得方法はわかったけど使い方がわからない…
2021/12/04(土) 20:21:19.59ID:2gyaMYwu0
>>818
セルの個数が小数点になるのが理解不能
なんか文がおかしい
2021/12/04(土) 20:26:20.12ID:2gyaMYwu0
>>818
ごめん4等分か。
セル個数数えて4で割れば数は出ると思うから、
その数をcellsでn、n+1から2*n、2n+1から3nで範囲選択してコピーとかすればいいんじゃね
2021/12/04(土) 20:27:45.56ID:cgBQWMPD0
>>819
レスありがとう
4等分って書き方が悪かったかな
A列セルが1234こあったら1234 / 4 =308.5
ABCD列に309 309 309 307こずつ配置したい
2021/12/04(土) 21:22:26.78ID:cgBQWMPD0
これが構文エラーになっちゃうのはなんででしようか?
https://i.imgur.com/uZw8aRE.jpg
2021/12/04(土) 21:40:43.97ID:26JgLixHM
>>818
> 2.セルの個数にしたがってを4等分する(小数点以下切り上げ)
[1] A, B, C 列の個数 = WorksheetFunction.RoundUp(A列の個数, 0)
[2] D列の個数 = 元のA列の個数 - 3 * ([1]で求めた個数)
2021/12/04(土) 21:44:29.23ID:26JgLixHM
>>822
なんかに代入してないから
2021/12/05(日) 05:50:33.57ID:LmHUo9b4p
>>793
mac版で編集、保存したファイルでなった事あるよ。
winで作ったxlsmをmacで編集、保存する。
後phpexcelなどのライブラリーを使ってwebからダウンロードさせたファイルでも同様の現象になることがあったなぁ。
2021/12/05(日) 07:36:04.48ID:pHE92v1E0
MacのExcel VBAは使い物にならないからやめとけとあれほど
2021/12/05(日) 07:48:10.10ID:qeQQs+3u0
>>822
Sub Macro1()
  A列 = 1234 '全体の個数
  分割 = WorksheetFunction.RoundUp(A列 / 4, 0) '分割後の個数
  Cells(分割 * 1 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "B") 'コピペ2列目
  Cells(分割 * 2 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "C") '3列目
  Cells(分割 * 3 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "D") '4列目
End Sub
2021/12/05(日) 11:29:11.55ID:PoobQwg20
数値をバーコード化するマクロ使うと、かなりの確率でWorksheet クラスの Paste メソッドが失敗しました。が起きるのはなぜでしょうか

貼り付けコマンド直後にDoEventやると少し緩和されます
2021/12/05(日) 11:45:46.53ID:qeQQs+3u0
>>828
そのマクロの作者に聞いてください
うちで使ってるバーコードマクロだとそんな症状は出ないので
2021/12/05(日) 13:12:32.58ID:AJKte2/X0
>>828
バーコードフォントってのがあるから、そっち使ったほうがいいと思う
2021/12/05(日) 16:00:44.92ID:2zMPQ80f0
           |
            |  彡⌒ミ
           \ (´・ω・`)また髪の話してる
             (|   |)::::
              (γ /:::::::
               し \:::
                  \
832デフォルトの名無しさん (ワッチョイ 632f-0sOk)
垢版 |
2021/12/05(日) 16:26:53.62ID:njmkqf+T0
>>831
このハゲ!
2021/12/05(日) 17:47:50.87ID:VQoGm9OLd
バーコードフォント使う方法ってダウンロードしないとダメじゃね
現場でこそこそやってる俺はOLEオブジェクトだったか使う王道でやるしかなかったわ

ぐぐるとこの方法がトップに出てくるわけなんだけど
もし>>828がこの方法を使っているとして
何の目的でpasteメソッドを使ってるんだろうね
普通にバーコード作成するだけだと、たぶんだけどpasteメソッドは出てこない
2021/12/10(金) 18:22:43.48ID:y+vFgULga
質問つか愚痴だけども…
閑散期にやってるアピールで始めたVBA、
入れ過ぎた塩を中和するのに砂糖を入れ、
入れ過ぎた砂糖を中和するのに塩を入れるのを繰り返した
ヘタクソ料理みたいなコーディングの果てに繁忙期に食い込んで上司の視線が痛い…
依然としてどっか直したらどっかが狂う…
業務改善を謳いながら結果的に仕事と混乱をもたらしただけだった…
2021/12/10(金) 19:14:12.64ID:8RSWuNFi0
>>834
典型的な初心者で草

俺も最初は随分と苦労したけど、
そうなったら最初から書き直したほうが絶対に早いし、腕も上がる
糞みたいなコードを読み直す時間は無駄
せっかく書いたのに・・・って思う気持ちは窓から投げ捨てろ
2021/12/10(金) 21:34:03.94ID:JOaKTDE2M
いやいや
失敗は成功の母
一度始めたことは苦しくても頑張れよ
出来の悪いコードを苦労して改良して動くようにしたとき、
人はレベルが一段上がる
2021/12/10(金) 21:53:28.84ID:RVt2OdWb0
一般的にデバッグはコーディングの10倍ぐらい経験や知識が必要な作業だから初心者には荷が重い
まずは最初から書き直してちゃんと動く物を作り上げた方がいいと思うよ
2021/12/10(金) 21:57:39.03ID:xjUFmHBZ0
書き直しって一からベタ打ちするんじゃなくてコピペがほとんどですよね?
2021/12/11(土) 00:08:42.46ID:0TmKxSpwM
それは、なにをするコードかにかかってる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況