Excel VBA 質問スレ Part58
レス数が950を超えています。1000を超えると書き込みができなくなります。
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part57
https://mevius.5ch.net/test/read.cgi/tech/1536583359/ エディタは別のを使わずに備え付けのものを使いますか? 高速でシートを切り替えるとか、
ふざけるのかと思ったら、結構真面目に作っててワロタ。 >>854
後で見てみるけど、仕様になかったインターバルの時間とか可変で設定できる? フラッシュ暗算て何?
てっきりルパン三世だと思ったんだが >>857
まあ、これが評価できる最低限の仕様だな ちゃんとしたのを、>>850が作ってくれるやろ
ことを期待しよう >>828 デフォルトの名無しさん2019/02/04(月) 06:46:04.48ID:d8a/a/xM
>>825
> 作るのは他の要件が有るだろうから他の人に
> Excelのシートから枠線を消して全画面表示
> ランダムに出す文字はワードアートを挿入したり
> 消すだけでいいだろ
最低限でもこの程度のことやれよっと、ワードアートの動作速度が問題なら全て作成してから
表示非表示を切り替えるだけだよっと >>861
こんなの客に提示するとすぐ帰っていくよ
イメージが違い過ぎる 行間を読めない奴はいつまでたってもろくなもの作れないんだよ
おれは、年取ったから行間いっぱいある奴は遠慮するけどな ちゃんとしたのを、>>850が作ってくれるやろ
ことを期待しよう。 >>865
ちみぐらいバカをからかうのって私の趣味ではありません
あわれ過ぎるから >>869
知らねえと言われても
ファイルが見つかりません
既にファイルが削除されたか、期限切れになったか、ダウンロード上限数に達した、若しくは誤ったURLが指定されています。
再度ご確認下さいますようお願い致します。 >>870
今さっき起きた。
ソースを1分程度見たけど、毛が1本生えただけだろ
オリジナル性もない、引かれている部分もありで
評価はマイナスだな、マクロを動かす気にもならん >>857
ホントなんだよ、この映像少なくとも全画面表示で
他の表示はテスト中いらないは
結果は、答え合わせでちゃんと出るようにな
問題作成だって、何の機能もないって考えてないだろ
指定した桁数で数字を作成しろよ・・・こんなの仕様の内の一寸な >>870
テストしないのは申し訳ないと思ってもう一度20秒ぐらい見た
あまりにごみで、テストしてない 金もらえるならきちんと作るだろうけど金出さないんでしょ? きちっとって このレベルを100倍してもくずはくずだな ただでもらったものにケチつけるって人間としてクズだな なんかつらいことがあったんでしょ
そっとしといてあげなさい A B
1 あ
2 い
1 か
2 き
3 く
1 さ
1 た
2 ち
となっているデータを、連番でまとめて
あい
かきく
さ
たち
とするにはどうすればいいですか? >>881
関数で直接は難しいけどVBAでやるなら簡単だろ
ただそれもわからない人間に提示しても無駄だな >>880
マクロを実行してみた、君は自分で考えてるんで良いと思う
1.出力する問題は固定ではなく文字とか長い数字もいらない
桁数(上限・下限)を指定してランダムに数値を発生すること
フラッシュ暗算を考えると余分な機能はいらない
2.バックを全画面表示にすること
もちろん、画面の中央に表示する、画面の大きさから割合で文字の大きさを指定する
3.タイミングをmsで指定指定しているが
ディスプレーって最大解像度ではリフレッシュレート60hz(16.6msおき)程度なんだよ
ディスプレーの反応速度も早くて5msかかる、10ms単位で十分だが、好みはある
4.答えの表示がチェックだが
要するに終わった後、計算が合ってるかを確認するんだから
終了後に特定のキーを押したら答えを出すでいいだろ
ざっくり、大きく気になった点だけ、やり方は分からなければ聞け 全画面表示は数字表示部をユーザーフォーム(全画面)で表示文字をVBAで切り替えたほうが簡単だな 上司気取りの人が上から目線でダメだしし出したけどこの人どんだけ偉いの?
まさか感謝でもしてもらえるとか妄想してんのかな >>887
で、君にはどんなダメ出しが欲しいんだ? まあ、自分で作って「フラッシュ暗算」で面白いものを作ってみろよ
自分で満足できないものは、他人は評価しないよ >>881
Dim i As Long
i = 1
Do While Range("A1").End(xlDown).Row > i
Cells(Cells(i, 1), 3) = Cells(Cells(i, 1), 3) + Cells(i, 2)
i = i + 1
Loop
答えやアドバイスをしないでマウントしてくるやつは結局何も出来ないやつと同じなので放置で。 >>892
だよね
ひらがなのあ行か行…で括るっぽいし
2行目の2と4行目の2が紐づく1が違うから考えれば出来そうだけど面倒そう これでどうや!w
Dim i, j, k As Long
i = 1: j = 1: k = 1 'i=データの行 j=書き込みセルの行 k=数列のカウント用
Do While Range("A1").End(xlDown).Row >= i
Cells(j, 3) = Cells(j, 3) + Cells(i, 2)
If Cells(i + 1, 1) <> k + 1 Then j = j + 1: k = 0
i = i + 1
k = k + 1
Loop >>896
>これでどうや!w
何に対して言ってるのかな?。なんだろう?こんなの提示して?
よくわからんな >>897
ばっかだなぁ、881に対していってんだろw
つかお前マウントとることしかしないASDのザコという認識だから何も求めてない。レスいらない。
するならちゃんと自分で作ったものを提示してからだ。できたらあやまる。 例えば
「Do While Range("A1").End(xlDown).Row >= i 」
こんなの"A1"と変数jとiが同期できていないことでプログラムじゃないよ >>898
からかうしかないけど、>>881って何か意味あるんか?
バカって面白いな >>899
いや、そうじゃなくってよ。
俺はプロじゃないから変なことしてるかもしれない。いやあるだろう。
そいでお前は凄いのかもしれないけど結局何も作ってないわけだろ?
それって何も出来ないのと同じなんだから偉そうにするなって言いたいの。
お前さ、俺の言っている意味解ってる? >>903
無能が無能に教える意味あるか、無能が威張る意味あるか?
役に立つってなんだよ?
お前の満足は何だよ、作ったってことか? >>904
ん?お前無能なの?無能なのに威張ってるの?ダメじゃん。
役に立つって何?満足って何ってどういう意味?
俺はそんなこと書いてないけどそれはどこから出てきたんだ?
お前ののーみそか? おれがこのスレで作っても意味ないからな質問スレだ答えるだけ ああ、そういうことか。
質問には答えるけど代りにお前が作ることはないって意味でいいのか?
それがお前のポリシーなら俺はお前に口はさまないよ。
偉そうにされて終わるだけみたいだからお前には質問もしたくないけどな。
質問してるやつはいろいろ試して困ってるんだろ?
俺は動くもの見せて、あとは自分で工夫するなりなんなりした方が良いと思ってる。
だって、具体的なほうが解りやすいじゃん。
それに対してお前がどうこう言うことはないだろ?俺はお前に何も聞いてないんだから。 >>907
まあ、補足すると具体的なものを使えるのは少し考えたやつ
考えない奴は応用できない、だから答えではなくヒントなんだがな >>908
うーん、辞書がわりに次々聞かれても結局俺が作ってるかいー!
みたいになりそうで確かに嫌だな。
ただお前凄そうなんだからそんくらいしてやってもバチあたらんべ。
あ、そこらへんは俺が口はさむことじゃないな、すまん。でももったいないわーほんまに。
俺は基本は自分で調べるから聞くことってほとんどないけど
本当に困っててもまともな返答来なさそうでここで聞けないからさらに困ることあるもん。
お前に言ってるわけじゃないけどライトユーザーからしたら雰囲気怖いよここ。 >>880
お前、ちゃんと満足いくもの作ってみろ
やめるのは簡単だまんぞくできるレベルもお前しだい
おれは、ダメ出しはしてやるよ、ダメな点は数多いがプライオリティは下がっている >おれがこのスレで作っても意味ない
は>>880も同様だな マウントしたがりのバカしか居ないスレですけど、それでもよかったら質問をどうぞ パラパラ漫画作って、動画に撮って再生すればいいんじゃね? 作ってるうちに楽しくなってつい作りこんでしまいました
https://www.axfc.net/u/3958012
変更点
・ランダム表示
・乱数生成
・(ほぼ)フルスクリーンモード(1920x1080、1600x900、1280x720、800x600の4種類の画面に対応)
・ユーザーインターフェースの強化
・デバッグを少々
最初に作ってほしいといっていた人の要望にかなってるかが心配 フルスクリーンならDirectXだろ、と思ったら、
Windows10だと色々面倒なのな。 Excelの起動画面、ドラクエでエンカウントしたみたいな感じにできないかな。
緑画面に白文字でExcelって、ちょっと地味じゃない? ID:pkuTd0pWだけど
やっぱり午前中はましだが午後は酒がだいぶ効いて
すまんな
まあ文字結合のお題はExcelの問題をコピペしたものだろう
これ関数とExcelの機能を使って解いた方が面白い >>881
cを作業列にして
結果をピボットテーブルを使って表示 質問です
同じブック、同じシート上にある
任意の二つのセル間を
セルで直線を引きたいと思っています
例えばA1セルとD4セルを指定したら
A1、B2、C3、D4のセルが黒く着色されるような
そんな感じです
どのようなロジックを組めば宜しいでしょうか? >>924
まず動作仕様を決める
1,指定の仕方をどうするか クリック Or 別セルで指定
2,複数回線を引くのか 取り消しは同じ指定で取り消すのか
3,クロスしたセルの色は
4,線の色はどの様に指定するのか
5,全てクリアーする処理は必要か? >>924
セルの色の指定方法は、マクロの記録でセルの色を変えて、マクロの記録の終了で確認してください >>924
何に使うのかが謎だ。
絵でも描くのかな? >>925
返答ありがとうございます
特にトリガーは定めていませんし
複数回引くことも考慮しなくていいです
こちらとしては
「二つのセル間にセルで線を引くこと」の
実際にどのセルが着色対象となるのかが
求められるロジックが必要となっています
>>926
ありがとうございます
ただ、上記しました通り
着色自体が焦点ではなく
どのセルが着色対象となるのかを
求めることができればなぁと考えています >>928
セルの位置情報から列の差が大きいか行の差が大きいかでループする側を決定します
ループする側は1増えるいく
その数に小さい側を大きい側で割って少数側を四捨五入したものが小さい側の増分でいいでしょう 追記 ループ変数は0から差分まで
列ぎょうとも 初期値に増分を足していく 列幅、行幅ともにまちまちだと考えるとマジメに座表計算がいりそうだ >>931
すまん、関係あるなそれをかんがえると確かに難しいが
実質的にその構造で線を引く意味あるのかな? >>931
所詮線はシェイプで引けばいいだけだからな
セルの色を変えることにどんな意味があるかが問題 >>935
セルにシェイプが掛かっているかはすぐ判定できるんだっけ?
できるならまあ簡単かな >>936
セルの色を変える仕様が実質的に意味あるかが疑問なだけ
意味ないもの検討する必要ないからな まあ、意味あることならいくらでも方法がある(各行列のプロパティから幅なんて取れるからな)けど
お題が意味ないこと検討する必要もない 皆さんありがとうございます
セルで線を引く質問をした者です
セル幅がまちまちのケースは
こちらも想定外でした
均等幅で求められれば良いと
考えていましたから
既に回答して頂いた方法で
試してみたいと思います
どうもありがとうございました 質問です
文字列のカラムと数値のカラムが混在する表
数値カラムは空欄セルもある
この表からセル値をコピーするとき、数値カラムでセルが空欄の時はコピー先を0にしたい
文字列カラムでセルが空欄の時はコピー先も空欄
タイトル名で判定するのはスマートじゃないと思って
セルや変数の仕様を使って上手くできないでしょうか >>941
これはVBAの質問ですか?
機能はExcelの質問だよ 数値カラムの空欄はそのまま空欄で
文字カラムの空欄を長さ0の文字列にしておけばセル参照で >>881
1が出てくる回数をそのまま行番号に使って、
1・2・3という数字を、そのまま列番号に使う。 質問です
C言語のFILEポインタをexternしているdllをvbaから呼び出すときにシグニチャーは何型ですか >>946
ごめん、勘違いしてた。
何とかできたけど、ものすごくダサい。
C列 =COUNTIF(INDIRECT("A1:A"&ROW()),A:A)
D列 =MATCH(ROW(),C:C,0)
E列 =LEFT(F:F&G:G&H:H&I:I&J:J&K:K,FIND("0",F:F&G:G&H:H&I:I&J:J&K:K)-1)
F列 =INDEX($1:$1048576,INDIRECT("D"&ROW())+COLUMN()-6,2)
G列以降 =IF(INDEX($1:$1048576,INDIRECT("D"&ROW())+COLUMN()-7,1)<=INDEX($1:$1048576,INDIRECT("D"&ROW())+COLUMN()-6,1),INDEX($1:$1048576,INDIRECT("D"&ROW())+COLUMN()-6,2),0)
E列が答えだけど、2016なら、ここはCONCATENATEで。 よろしくお願いします。
ある住所リストを宛名印刷するためのVBAを書きました。
印刷したときに、枠に収らないとまずいし、とはいえ町名の途中などで機械的に次の
行になるのもまずいので、途中、全角スペースがあったら次の行にする、という
ことを考えて、名簿リストを入力する係の人に「だいたい○文字目くらいで、市町村名あたりの
キリのいいところで全角スペースを入れておいてください」と頼んでおきました。
Jusho = sheets("名簿").cells.(rowcnt,2)
If InStr(Jusho, " ") Then
tmp = Split(Jusho, " ")
Jusho1 = tmp(0)
Jusho2 = tmp(1)
Else
Jusho1 = Jusho0
Jusho2 = " "
End If
sheets("印刷元").range("A1")=Jusho1
sheets("印刷元").range("A2")=Jusho2
sheets("印刷元").printout
こうやって、長い住所を2行に分けることに成功したのですが、
今になって、マンション名やらなんやらで、全角スペースがいくつもある場合があることがわかりました。
つまり、Jusho0に、2つ以上のスペースがある場合が出てきて、そうすると、tmp(2)やtmp(3)が
発生することなってしまい、印刷の住所が途切れてしまうことになりました。
私のVBAの書き方が悪かったのだと思います。
「1つ目のスペースで2つに分ける。2つ目以降のスペースは無視」というVBAを書きたいです。
どうすればよいでしょうか? >>881
Ruby で作った
require 'csv'
results = [ ]
# 空白区切りで、ヘッダー有り
options = { :headers => true, col_sep: " " }
# CSV 入力ファイルを、1行ずつ処理する
CSV.foreach( "input.csv", options ) do | row |
if row[ 0 ] == "1"
results.push row[ 1 ] # 要素の追加
else
results[ -1 ] += row[ 1 ] # 最終要素に文字列を連結
end
end
puts results レス数が950を超えています。1000を超えると書き込みができなくなります。