X



Excel総合相談所 129
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@そうだ選挙にいこう
垢版 |
2017/10/02(月) 18:58:15.04
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

前スレ
Excel総合相談所 126(実質127)
https://find.2ch.net/search?q=excel

Excel VBA 質問スレ
https://find.2ch.net/search?q=excel+vba

【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.2ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80
0952名無しさん@そうだ選挙にいこう
垢版 |
2017/12/17(日) 14:29:43.21
空白の行があるデータを抜きだそうとすると、ctrl+下キー一発ではむりで、二発、3発、4発と空白の行が出るたびにやらなきゃいけないから面倒だなあというぼやき
0957名無しさん@そうだ選挙にいこう
垢版 |
2017/12/17(日) 20:44:00.52
substituteでもっと簡潔にできるねえ
0959名無しさん@そうだ選挙にいこう
垢版 |
2017/12/18(月) 02:01:07.59
大量の行からなるデータのうち一部をコピーして別シートに貼るって作業、みんなならマクロにする?
使いまわせるようなやつがいい
0960名無しさん@そうだ選挙にいこう
垢版 |
2017/12/18(月) 02:28:25.53
>>959
条件がはっきり決まってるなら=やindex,matchでやる
それが100回1000回繰り返すとか短時間で済ませないといけないならマクロにする
0961名無しさん@そうだ選挙にいこう
垢版 |
2017/12/18(月) 04:30:04.91
アンダーバーは半角スペースに置換して

B1=TRIM(MID(SUBSTITUTE($A1,"』","________",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"『","[",COLUMN()/2))+1,9))
C1=TRIM(MID(SUBSTITUTE($A1,")","________",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"(","[",COLUMN()/2))+1,9))
0962名無しさん@そうだ選挙にいこう
垢版 |
2017/12/18(月) 04:51:04.82
すごく微妙な無駄があったんで修正
現代に実在する姓は漢字5文字が最長なので

B1=TRIM(MID(SUBSTITUTE($A1,"』","____",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"『","[",COLUMN()/2))+1,5))
C1=TRIM(MID(SUBSTITUTE($A1,")","____",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"(","[",COLUMN()/2))+1,5))
0963名無しさん@そうだ選挙にいこう
垢版 |
2017/12/18(月) 08:27:09.63
もっといいアルゴリズムがありそうなのに、思いつかないまま些細なことが気になる
カッコの直後はスペースだからもう1個減らしてもいいじゃん

B1=TRIM(MID(SUBSTITUTE($A1,"』","___",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"『","[",COLUMN()/2))+1,5))
C1=TRIM(MID(SUBSTITUTE($A1,")","___",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"(","[",COLUMN()/2))+1,5))
0968名無しさん@そうだ選挙にいこう
垢版 |
2017/12/18(月) 22:03:13.29
excel2013ですが、シートにパスワード保護を掛けて保存しても、excel2003ではパスワード保護が無視されてしまいパスワード無しの保護なってパスワード無しで開けられてしまいます。
昔に誰かがマイクロソフトのフォーラムに質問していた下記の現象と同じなのですが解決方法はないでしょうか?
excel2013は最新のバージョンにしてありますが解決しないです。

https://answers.microsoft.com/ja-jp/office/forum/office_2013_release-excel/excel2013%E3%81%A7%E3%82%BB%E3%83%AB%E3%81%AB/ecb72d8e-c7a3-47ba-a9f0-68094f5c8044
0969名無しさん@そうだ選挙にいこう
垢版 |
2017/12/18(月) 22:12:58.27
>968
仕様です
シートのパスワード保護は見られないためではなく、誤って変更するのを防ぐためにあります。セキュリティはゼロです
0971名無しさん@そうだ選挙にいこう
垢版 |
2017/12/18(月) 23:52:41.82
B1=CONCATENATE(C1,D1)

で、このB1を計算式でなく、文字列データにして保存したいんだけど
どうすりゃいいの

データにしたあと、CとDの列は消去。
0973名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 00:02:51.56
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

基本的な質問で恐縮ですが、
セルA1〜C5全てに入力したデータがあって、
他のセル(例えばA6)にoffset関数を使って
A1〜C1、A2〜C2というように行毎にAからC列の情報を参照するにはどうすれば良いでしょうか?
[幅]の設定を3にしても指定したセルの情報しか参照してくれません。
0974名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 00:41:30.00
>>968
エクセルでは無理。
保護をしてもシートコピーとかで簡単に開きます。
0975名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 00:45:59.21
>>973
仕様です。
計算であれば範囲指定などに使えるがoffset単体でデータの結合は無理。
=offset(hogehogeA)&offset(hogehogeB)&offset(hogehogeC)とか力技で何とかするしかない。
0977名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 06:43:52.63
>>969
>>974
ありがとうございます。

開けられないためでなくr書かれているように計算式を変更されないためにシート内に
入力するセル(非保護)と計算式が入った結果を表示するセル(保護)を設定して
シートにパスワードの保護を掛けて保存してます。
会社がexcel2003で自宅がexcel2013で、そのデータを自宅に持ち帰りパスワード保護を解除してデータを作り変えたりしてます。
そのデータは主に他の支店でも運用(excel2003)しており、自宅で変更した後にexcel2013でパスワード保護を掛けて他支店に送ってもパスワード保護が無意味で開くことができ困ってました。
(会社のexcel2003で再度パスワード保護を掛けて再配布する手間を掛けております)
仕様なら仕方ないですがバグですよね?
0978名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 06:49:45.28
excel2003でパスワード保護を掛ければ、excel2013でもパスワード保護が掛かったままで正常の動作なのですが
逆が出来ない(2013でパスワード保護を掛けても、2003で使うとパスワード情報が破棄されている状態)のです。
0979名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 06:53:27.80
>会社がexcel2003で
まずはここを変えることを提案

>仕様なら仕方ないですがバグですよね?
知らん。とりあえず仕様
サポート終了ってのはそういう事

シートを非表示にしたほうがマシだな
後はvbaにでもするか
0980名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 07:42:04.13
>>979
vbaにしてもvba自体がvbaでパス解除できるからイタチごっこ
0981名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 07:59:48.47
>>980
>開けられないためでなくr書かれているように計算式を変更されないために
この目的ならこれで十分
vbaのパス解析してまで触ってくるようなスキルがある奴ならそもそもこんな問題は起こらない

はい、論破
0982名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 12:10:20.63
>>973,975
一応補足すると、2016からはtextjoin関数が増えてできるようになった。
それに対応するために、同等の動きをするVBAがネットで検索するといくつかヒットする。
ご参考まで。
0983名無しさん@そうだ選挙にいこう
垢版 |
2017/12/19(火) 19:30:56.56
a1に
SH-800×250×14.0×22.0×18
と入力されているものを

b1に800
c1に250
d1に14
e1に22
f1に18
と入力するようにして欲しい
出来ればvbaと数式両方欲しい
0986名無しさん@そうだ選挙にいこう
垢版 |
2017/12/20(水) 00:00:07.27
>>985
VBAじゃないと無理か。VBAが嫌いな上司対応だったのでそれは諦める。

あと懸念事項があって、
800は1000とか4桁になることがある

18は0とか1桁になることがある

こういう風に文字の長さが動的になる。
そういうときどうすりゃいんだろう
0987名無しさん@そうだ選挙にいこう
垢版 |
2017/12/20(水) 00:14:19.57
>>983
B1=MID(A1,4,3)
C1=MID(A1,8,3)
D1=MID(A1,12,2)
E1=MID(A1,17,2)
F1=MID(A1,22,2)
0991名無しさん@そうだ選挙にいこう
垢版 |
2017/12/20(水) 07:42:50.36
>>986
substituteで要らない範囲を全部""で消すのが一番簡単かも
0992名無しさん@そうだ選挙にいこう
垢版 |
2017/12/20(水) 09:37:09.22
でてくる数値が5個固定なら正規表現で決め打ちもできるよ
With CreateObject("VBScript.RegExp")
  .Global = True
  .Pattern = "\d[\.\d]*"
  With .Execute(Range("A1").Value)
    Range("B1:F1").Value = Array(.Item(0), .Item(1), .Item(2), .Item(3), .Item(4))
  End With
End With
0995983
垢版 |
2017/12/21(木) 01:04:15.04
>>983の件忙しくて何もしてないです
書いたらアップします

>>989
とりあえず書いてみてあとでそこ動かせばいいかな的なノリ

>>993
その通りなんだけど、>>983が要望なので丸鋼とかは想定しなくて良い
0997名無しさん@そうだ選挙にいこう
垢版 |
2017/12/21(木) 21:25:47.07
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセルでグループ化しての非表示状態(+と-で表示、非表示を切り替えできるやつ)のときや非表示のときに、
セル範囲選択してコピー&ペーストすると非表示部分までコピー&ペーストされてしまうんですが、表示部分だけコピーして非表示部分はコピーされないようにする方法ってないでしょうか?
0999名無しさん@そうだ選挙にいこう
垢版 |
2017/12/21(木) 22:52:35.21
>>998
ありがとうございます!早速明日会社のエクセルで試してみます!助かりました!
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 80日 3時間 56分 39秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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