Excel総合相談所 134 at BSOFT
[2ch|▼Menu]
[前50を表示]
700:661
19/04/12 00:47:46.78 .net
>>699
レスありがとうございます。
やはりそうですか
きっかけが必要なんですね
なんとなくそんな感じがしてました。
例えばシート名を変更してそのシート内に何か変更があればというifをつければいいんでしょうか?

701:名無しさん@そうだ選挙にいこう
19/04/12 01:37:53.94 .net
>>700
>シート名を変更すると瞬時に変更される方法があるのでしょうか?
無い気がしてきた。多分、無い
ユーザー定義関数を使わずにイベントにすると色々な条件でマクロ起動できるが、「シート名を変えた時」がない
妥協でよければsheet1に以下を記述
Private Sub Worksheet_Activate() '発火条件 シートがアクティブ担った時
Cells(1, 1).Value = ActiveSheet.Name
End Sub
Private Sub Worksheet_Calculate() '発火条件 計算(再計算ではない)
Cells(1, 1).Value = ActiveSheet.Name
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) '発火条件 セルの位置変更
Cells(1, 1).Value = ActiveSheet.Name
End Sub
あと、以下は失敗したこと
揮発性関数混ぜたらどうなるかと思ったが、揮発性関数だけ再計算された
ユーザー定義関数、なんかstatic臭い挙動
=rsn()&IF(1,NOW(),"")

702:661
19/04/12 08:23:58.37 .net
>>701
夜分遅くに申し訳ありません
早速会社で試してみます
ありがとうございました

703:名無しさん@そうだ選挙にいこう
19/04/12 09:01:44.38 .net
Function RSN()
Application.Volatile
RSN = ActiveSheet.Name
End Function

704:名無しさん@そうだ選挙にいこう
19/04/12 09:05:56.93 .net
>>697
> シート名を変更すると瞬時に変更される方法があるのでしょうか?
なんか負けた気がするけど…
Function RSN(Dummy As String) As String
RSN = ActiveSheet.Name
End Function
ってやってA1に
=RSN(CELL("filename",A1))
って入れれば変わる
とりあえずCELL関数を呼出してればいいみたい

705:名無しさん@そうだ選挙にいこう
19/04/12 15:13:00.97 .net
1
2カレー 4
3
4印刷 2
5ラーメン 8
6
7
8印刷 5
↑は例です。
VBAでカレーの下の印刷ボタンを押したらカレーから印刷までの行を印刷、ラーメンの下にある印刷ボタンを押したらラーメンから印刷までの行を印刷といったようにさせたいので
カレーの横にカレー用の印刷のある行、カレー用の印刷の横にカレーのある行を(VBAではなく)エクセルで自動的に出したいです。
ただカレーやラーメンといった名前や、間のセル数は日ごとに代わります。
Match関数を使って範囲を変数で指定できればできそうなんですが、行き詰っているのでやり方を教えてください。

706:名無しさん@そうだ選挙にいこう
19/04/12 15:36:20.00 .net
>>704
揮発性関数を引数として取れば何でも良いのか
=rsn(NOW())
ちなみに揮発性関数以外はNG
=rsn(sum(1))
で、この手法最大の問題は
そもそも>>661
>ブックを開いて何も変更していないのに閉じようとすると保存しますかと聞かれます。
この問題が再発して何の意味も無いという点
>>705
かなり変な設計だけど大丈夫?
やりたいことを言ってくれれば設計からやるけどな
とりあえずボタンがフォームかactivexか教えて欲しい

707:名無しさん@そうだ選挙にいこう
19/04/12 15:54:40.09 .net
>>706
ありがとうございます。
ボタンはSelectionChangeを使って印刷という文字列の入ったセルをクリックしたら、という感じにします
なんとか自分で作ってみたいので、お気持ちはありがたいのですがお知恵だけ拝借出来たらと思います。

708:名無しさん@そうだ選挙にいこう
19/04/12 16:10:03.52 .net
>>707
>ボタンはSelectionChangeを使って印刷という文字列の入ったセルをクリックしたら、
これの実装も難しいので、「ダブルクリックをしたセルに”印刷”と入っていたら」実行されるという風に変えてある
記述するのはthisworkbookな。sheetや標準モジュールに書いても動かんぞ
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
a = 1
If Target.Value = "印刷" Then
For i = Target.Row - 1 To 1 Step -1
If Cells(i, 1).Value <> "" Then
印刷開始行 = i
GoTo p
End If
If i = 1 Then '印刷の上になにもない時は終わる
Exit Sub
End If
Next
p:
ActiveWindow.View = xlPageBreakPreview '消しても良い。確認用
ActiveSheet.PageSetup.PrintArea = "$A$" & 印刷開始行 & ":$A$" & Target.Row
ActiveWindow.SelectedSheets.PrintOut '印刷
End If
End Sub

709:名無しさん@そうだ選挙にいこう
19/04/12 16:34:47.89 .net
>>708
わざわざ作っていただきありがとうございます
自分の知らないやり方がいっぱいあるので、勉強させていただきます

710:名無しさん@そうだ選挙にいこう
19/04/12 19:27:21.55 .net
2007です
キーボードの十字キーをおして選択しているセルの移動をしていたのですが
それが動かなくなり、シークバーの移動に変わってしまいました(エクセル再起動後も)
どうしたら戻せますか?

711:710
19/04/12 19:40:49.44 .net
答えにたどり着きました
現在Scroll lockキーを探し中です

712:名無しさん@そうだ選挙にいこう
19/04/12 19:54:11.34 .net
辿り着いてよかったね
ノートだったらFnキー押しながらとかあるからね

713:名無しさん@そうだ選挙にいこう
19/04/12 19:56:02.46 .net
>>712
ありがとう

714:名無しさん@そうだ選挙にいこう
19/04/12 22:04:23.57 .net
すいません
EXCELに関する質問じゃないんですがよろしいでしょうか
画像(図面)に文字とか線とか入れるのにエクセルを使ってます。
まずエクセル開いて画像を挿入。そこからオートシェイプで線を書いたり文字を挿入したりしてます。
しかしこれだと○を書いたつもりが印刷すると歪んでたり多く線を引いたりするとすごく重くなります。
これと同じような作業をするのに何か便利なソフトはありますか?
スレ違いを承知でお伺いします。

715:名無しさん@そうだ選挙にいこう
19/04/12 22:23:24.53 .net
>>714
PhotoshopかIllustrator

716:名無しさん@そうだ選挙にいこう
19/04/12 22:41:48.72 .net
>>714
・googleSpreadsheet
ずれるかどうか知らん
・gimp
>>715の言ってるソフトのフリーソフト。互換性は低いが0ふからファイル作るなら問題はない
・パワポ
テーブルはEXCELのデータコピペすればらくちん

717:名無しさん@そうだ選挙にいこう
19/04/12 23:36:29.13 .net
>>714
図形機能がexcelと同じpowerpoint、wordは縦横比狂わないよ

718:661
19/04/12 23:53:16.18 .net
>>701
ありがとうございます!
アクティブになった時を使わせてもらいました。
シート名さえ確認すればあとはほったらかしで次のシートに行けばいいだけなので、自然な感じで使えそうです!
本当に感謝しております
>>704
>>703
レスありがとうございます。
確かに瞬時に変わるので素晴らしいと思いましたが、やはり変更していないのに保存しますか?と聞いてくる問題が出てきますので、せっかく考えて頂いたのに残念ですが見送らさせてもらいます。
しかしこういうコードの使い方は覚えておいてまた他の事に活かす様に記憶しておきます。
皆さんありがとうございました。

719:名無しさん@そうだ選挙にいこう
19/04/13 02:58:40.39 .net
質問です。よろしくお願いいたします。
ある名簿シートの、電話番号の列に、電話番号の数字以外に、
たまに、"(実家)"とか"(職場)"などの文字が入っている場合があります。
VBAで一行ずつ走査して、そういう数字以外が混じっていたら消去して数字だけにする、
ということをやりたいです。ただ、電話番号の最上位が0である場合が多いので、いちばん最初に
'(アポストロフィ)がついており、数字ではないといってもこのアポストロフィは残さないとまずいです。
dim tel as string, afterTel as string
Do
tel=sheets("名簿").cells(row,5)
afterTel = **** 'telから数字以外の文字を消去(でも先頭の ' は消しちゃだめよ) ← ★ここ
sheets("名簿").cells(row,5)=afterTel
row=row+1
loop
VBAで、この4行目をどういうコードを書けばいいのか、教えてください。

720:名無しさん@そうだ選挙にいこう
19/04/13 03:24:47.32 .net
>>719
URLリンク(vbabeginner.net)で文字列から数字のみを抽出する/
これを使って出力時にアポストロフィを頭につける

721:名無しさん@そうだ選挙にいこう
19/04/13 06:24:39.55 .net
>>715-717
ありがとう御座います
gimpはよく使ってるのでそれで試してみたいと思います
パワポpcに入ってないんだよな…

722:名無しさん@そうだ選挙にいこう
19/04/13 06:42:20.71 .net
>>720
ありがとうございました!!

723:691
19/04/13 14:31:26.62 .net
>>693
お礼遅くなって申し訳ありません
おかげさまで解決できました
ありがとうございます

724:名無しさん@そうだ選挙にいこう
19/04/13 16:47:33.56 .net
A1~A7セルに=today(),=today()+1・・・と今日を起点に一日ずつずれた日を「〇月〇日」という形で表示し、
VBAで入力規則のリスト表示にして必要なところに表示していこうとしています
リストを作った先の書式を設定しないと日付が文字列に変換されてしまいますが、仕様上書式はいじりたくありません
ExcelでもVBAでも構いませんので、「〇月〇日」という日付の書式を「〇月〇日」という文字列に変えるとか、いい解決方法はありませんか?

725:名無しさん@そうだ選挙にいこう
19/04/13 17:04:41.98 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Googleスプレッドシート
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
グラフを挿入しようとしたら、画面右側に
グラフのカスタマイズのウィンドウは表示されるものの
「決定」のようなボタンアイコンが出て来ません。
どのようにしてグラフを挿入すれば良いのでしょうか。

726:名無しさん@そうだ選挙にいこう
19/04/13 17:39:38.24 .net
>>725
挿入→グラフ
でグラフが挿入されている
E10セルなので、もしかすると画面外にあるんじゃないか

727:名無しさん@そうだ選挙にいこう
19/04/13 17:53:19.57 .net
>>724
text関数で解決しない?

728:名無しさん@そうだ選挙にいこう
19/04/13 17:55:37.95 .net
>>726
ご名答。
表示→固定にしていて画面外に表示されていました。
ただ、グラフを表示させたい場所が行固定した行の上側に当たるところで
どうやっても固定行の下にしか配置できません。
上側に配置するにはどうすれば良いのでしょうか。

729:名無しさん@そうだ選挙にいこう
19/04/13 18:29:23.57 .net
724ですが自己解決しました
ありがとうございます

730:名無しさん@そうだ選挙にいこう
19/04/13 18:41:24.37 .net
>>728
なんだこの動作。色々試してみたけど無理っぽい
カメラ機能なら行けるんだけど無かった

731:名無しさん@そうだ選挙にいこう
19/04/13 19:55:22.02 .net
【1 OSの種類         .】 Windows7・10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【質問内容】フォームコントロールで作ったマクロを登録したボタンをキーボードで押したい
A列、B列、C列にそれぞれ必要事項を入力するとE列に文章が合成される数式を入れました。
その文章は最終的にブラウザ上で入力作業をするのですが、そのままE列の該当セルを
コピーすると改行が含まれてしまうため、D列に以下のマクロを登録したボタンを設置し、
それをクリックすれば改行なしのテキストがクリップボードにコピーされるようにしてあります。
----------------------------------------------------------------------
Sub 右のセルをコピー()
  Dim xClip
  Set xClip = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
  With xClip
    .SetText ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 1).Value
    .PutInClipboard
  End With
  ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 1).Select
End Sub
----------------------------------------------------------------------
このボタンをキーボードで押すことはできるでしょうか?D列には同じボタンが並んでいるため、
クイックアクセスバーにマクロを登録ではできないと思いますが、ほかになにか方法はあるでしょうか?

732:名無しさん@そうだ選挙にいこう
19/04/13 21:22:16.97 .net
application.callerを使っているからだめでは?

733:名無しさん@そうだ選挙にいこう
19/04/14 00:16:22.42 .net
最近エクセルのアイコンが変わりました?
先日新しいブックをつくったら、横長で白地の多いデザインになっていました

734:名無しさん@そうだ選挙にいこう
19/04/14 01:23:49.38 .net
>>731
>E列に文章が合成される数式を入れました
この時点で改行消せば?

735:名無しさん@そうだ選挙にいこう
19/04/14 01:25:03.50 .net
>>733
そっか

736:名無しさん@そうだ選挙にいこう
19/04/14 06:42:25.19 .net
Excel 2019でセル内に絵文字を入れると
フォントが勝手にSegoe UI Symbolに変わるのは2019の仕様ですか?
2016ではならないです

737:名無しさん@そうだ選挙にいこう
19/04/14 08:21:22.47 .net
昔から、書式が勝手に変わるのはエクセルの仕様。
その都度、やり直す。

738:名無しさん@そうだ選挙にいこう
19/04/14 10:26:10.05 .net
WEBからのコピペだと書式もそのままコピーされる

739:名無しさん@そうだ選挙にいこう
19/04/14 10:45:46.93 .net
コピペではないです
例えば くもり を変換して絵文字で入力しようとすると
雲だけの絵文字&#9729;は書式は変わらないのに
雲に隠れた太陽&#9925;の絵文字の方はSegoe UI Symbolに勝手に変わるという状況です
2016の方はそういう現象は起きないです

740:名無しさん@そうだ選挙にいこう
19/04/14 11:10:06.42 .net
vba(プログラミング)初心者です
ユーザーフォームにページを作ってページ毎にテキストやリスト、チェックの内容をセルに突っ込むマクロを作っています
コマンドボタンクリック
range("a1").value=textbox1.value
range("a2").value=checkbox1.value
...
range("a10").value=listbox4.value
えんどさぶ
こんな感じで長ったらしく手打ちで書いているのですがもっと簡単に処理するテクニックなどありましたら教えて下さい

741:名無しさん@そうだ選挙にいこう
19/04/14 11:41:45.48 .net
731です
>>732
やはりだめですか。D列の押したいボタンがあるセルを選択した状態でマウスで
クリックではなくキーボード操作でなんとかならないかなと思ったんですが・・・
>>734
説明不足でした。文章自体に改行はなく、エクセルのセルをコピーした後ブラウザや
テキストエディタなどにペーストした際に入る文末の改行をなくしたい、という意味でした。

742:名無しさん@そうだ選挙にいこう
19/04/14 12:13:15.33 .net
>>739
MS IMEの原因?googleIMEではそもそも
>雲に隠れた太陽
これが出てこなかった
>>740
>ユーザーフォームにページを作って
ページってなんだ?
>もっと簡単に処理するテクニックなど
配列に入れて処理すればいいけど、多分対して変わらないと思う
Sub foo()
arr = Array("あ", "い", "う")
For i = 0 To UBound(arr)
Cells(i + 1, 1) = arr(i)
Next
End Sub

743:名無しさん@そうだ選挙にいこう
19/04/14 12:14:27.48 .net
>>741
セルをコピーせずにvalueで取ればその改行は無く成ると思う
A1セルの内容はこんな感じで撮れる
foo = cells(1,1).value

744:名無しさん@そうだ選挙にいこう
19/04/14 12:46:55.12 .net
iPadのExcelで入力した一覧を、同じiPadのWordに差し込み印刷ってできますか?
もちろんプリンタはAirPrintに対応しています。

745:名無しさん@そうだ選挙にいこう
19/04/14 16:27:55.31 .net
すみません,質問させてください。
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

例えば,
A1セルに100
B1セルに100
と数値が入っています。
他のある数値をA1の100からひき,A1が0になったらB1のセルからひく
ということはできますか。
例えば,ひく数が105だったとしたら,
A1は0になって,B1は105−100=5だけB1から引き,B1には95と表示される
というふうにしたいです。
わかりにくくてすみません。よろしくお願いします。

746:名無しさん@そうだ選挙にいこう
19/04/14 16:32:45.40 .net
>>745
既に数値の入っているB1セルには無理だな
C1とD1セルを使うとして、以下
C1=105
D1=A1-C1+IF(A1<C1,B1,0)

747:名無しさん@そうだ選挙にいこう
19/04/14 17:06:29.77 .net
>>746
ありがとうございます。
それだと,C1=98のときにD1=2になりませんか?
最初はA1の数値だけが減っていって,それが0になったら,B1(D1)が減っていくとしたいのですが…

748:名無しさん@そうだ選挙にいこう
19/04/14 17:11:57.46 .net
>>747
98の時は102にしたいの?
それなら
D1=A1+B1-C1

749:名無しさん@そうだ選挙にいこう
19/04/14 17:15:07.19 .net
>>747
あぁ、A1もB1それぞれの結果を出したいのか
C1=105
A2=MAX(0,A1-C1)
B2=MIN(B1,(A1+B1)-C1)

750:名無しさん@そうだ選挙にいこう
19/04/14 21:33:40.01 .net
質問です
A2に数字を入力した時に5以下ならB2に何も入れずに、それ以上の数字ならB2に表と入力されると同時に、何も表示してなかったB1に裏と表示させる関数またはvbaなどありますか?
同じ行だけだと
=IF(A2<5,"","表")あたりで出来そうなのですが、上の行にも反映させるのが分かりません
ちなみに5以上が連続で続く事はありません

751:名無しさん@そうだ選挙にいこう
19/04/14 22:35:00.36 .net
>>750
B1 =IF(A2<5,"","裏")
B2 =IF(A2<5,"","表")

752:名無しさん@そうだ選挙にいこう
19/04/14 22:55:32.82 .net
>>750
最後の1行が謎すぎる

753:名無しさん@そうだ選挙にいこう
19/04/14 22:56:47.72 .net
>>751
早々にレス頂きありがとうございます。
自分の説明が不十分だったのですが、
行は何行もあって、しかも表(5以上)が来る行が偶数行だと限らないのでこの式ですとB3やB5に5以上が来た場合、裏になってしまう様な気がしますが…

754:750
19/04/14 23:00:31.81 .net
>>752
説明不足ですみません
例えばB列に
2
6
7
と5以上が連続で来ることはないと
いう意味でした

755:750
19/04/14 23:40:10.54 .net
>>754
>>753
BではなくAの間違いでした
すみません

756:名無しさん@そうだ選挙にいこう
19/04/14 23:52:35.41 .net
>>754
B列と書いてるけどA列のことと読み取って
A列に5以上の数字が1つ以上あればB1の値が"裏"になれば良いの?
それとも、
A2の値が2の時、B1,2の値はブランク
(A2の値が5以上ならB1は"裏"、B2は"表")
その後にA3に6が入力された時、B3の値が"表"、B2の値が"裏"
その後にA4に仮に3が入力された時、B3,4の値がブランク
ということ?
書いててよく分からなくなってきた

757:750
19/04/15 00:01:07.94 .net
>>756
説明不十分で申し訳ありません
BはAの間違いです
例えば
A列  B列
2
1   裏
6   表
1
4
の様な感じに出来ればと

758:名無しさん@そうだ選挙にいこう
19/04/15 01:00:19.40 .net
まだわからん
こういうこと?
AB
1
1裏
6表
1
1裏
6表
1裏
6表
1
1
1

759:750
19/04/15 01:18:11.84 .net
>>758
はいその様な形です
本当に夜遅くまで申し訳ありません&#128166;

760:名無しさん@そうだ選挙にいこう
19/04/15 04:29:04.88 .net
>>759
B1 =IF(A1>5,"表",IF(A2>5,"裏",""))
B2以降、B1をコピペ

761:名無しさん@そうだ選挙にいこう
19/04/15 06:47:47.33 .net
【1 OSの種類         .】 Windows7・10
【2 Excelのバージョン   】 Excel2010
A1に
シートXYZのD14の値が空欄なら空欄
シートXYZのD14の値が何かしたら文字が入ったらその文字を入力する計算式
教えてください

A1とD14は別シートです

762:名無しさん@そうだ選挙にいこう
19/04/15 06:55:56.40 .net
if(xyz!d14="","",xyz!d14)

763:名無しさん@そうだ選挙にいこう
19/04/15 07:03:15.97 .net
>>762
うおおおおおお
解決しました
ありがとうございます

764:名無しさん@そうだ選挙にいこう
19/04/15 07:04:07.46 .net
カッコがなぜか一つ多かった
ミスってしまった
Excel難しすぎます

765:名無しさん@そうだ選挙にいこう
19/04/15 07:38:20.43 .net
書式で年月を元号表示してるんだけどいつこれ改修されるの?
win10x64 1809
Excel 1903(ビルド11425.20204 クイック実行)
office365

766:750
19/04/15 12:29:08.86 .net
>>760
ありがとうございました!
何度も申し訳ありませんでした。
本当に助かりました。

767:名無しさん@そうだ選挙にいこう
19/04/15 12:38:08.40 .net
>>765
書式で令和を表示するだけなら >>514

768:名無しさん@そうだ選挙にいこう
19/04/15 17:17:36.48 .net
A B
櫻井 あ
松本 か
二宮 さ
櫻井 た
松本 な
二宮 は
のようなデータシートがあるとして、
別に用意した「櫻井」シートの特定のセルに「あ」が入力され印刷→「あ」が削除され「た」に書き換わり印刷
これを松本・二宮についても同じように行いたい場合どのような方法が考えられますでしょうか。
VBA使用可能です。

769:名無しさん@そうだ選挙にいこう
19/04/15 17:18:06.06 .net
ズレてる気がしますがB列にひらがながあるイメージです

770:名無しさん@そうだ選挙にいこう
19/04/15 17:31:49.48 .net
>>768
For r = 1 to 6
  シート名 = Cells(r , 1)
  Worksheets(シート名).Range(A1) = Range(B1).Value
  Worksheets(シート名).PrintOut
Next r

771:名無しさん@そうだ選挙にいこう
19/04/15 17:32:02.61 .net
>>768
Sub Macro1()
Set データシート = Worksheets("データシート")
データシート.Activate '一応
最終行 = データシート.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To 最終行
シート名 = データシート.Cells(i, 1).Value
データ = データシート.Cells(i, 2).Value
Sheets(シート名).Cells(1, 1) = データ
Worksheets(シート名).Activate
ActiveWindow.SelectedSheets.PrintOut
Next
End Sub

772:750
19/04/15 17:34:50.24 .net
>>760
何度もすみません
実際にこのまま入力してみたのですが、一行上の裏の表示には連動されなかったです。
Excelのバージョンか自分の入力間違い等でしょうか?
バージョンは2007です。
申し訳ありません

773:名無しさん@そうだ選挙にいこう
19/04/15 18:36:14.18 .net
>>772
>>757にならないってこと?

774:名無しさん@そうだ選挙にいこう
19/04/15 19:21:05.51 .net
>>771
ありがとうございます。
>>771の方は理解でき、>>771の方だけを別ファイルで実験してみてうまく行ったのですが、>>770がよくわかりません・・
これは「櫻井」〜「二宮」の別シートを作るためのコードということですか?
要は事前に細かく作り込んだ「櫻井」シートを用意しておき、そこにはには一覧表の櫻井に対応するひらがなを入れ、同じく「松本」シートには一覧表の松本に対応するひらがなを入れ・・ということをやりたいわけです。
わかりにくくてすみません。

775:750
19/04/15 21:09:03.38 .net
>>773
会社のエクセルでは表しか出なかったのですが
家でLibreofficeに入力すると出来ました!
もう一度会社で入力してみます。
申し訳ありません

776:750
19/04/15 23:34:27.60 .net
>>773
何度もしつこく申し訳ありません
Libreofficeで試して気が付いたのですが、実際会社ではA列ではなくV列で、B列ではなくC列を使用して、数値も0.4を境にしています。
それでC列に
=IF(V1>0.4,"表",IF(V1>0.4,"裏",”))
と入力してV列に数値を入力すると、表しか出てきません。
列順が逆になるとこの関数を変えなくてはいけないしょうか?

777:名無しさん@そうだ選挙にいこう
19/04/16 00:39:02.84 .net
>>771がある程度解決したのですが、
最終行を取得するに当たって関数のみが入った空白セルを除外するにはどういしたらいいでしょうか?
Sub Macro1()
Set シート1 = Worksheets("シート1")
シート1.Activate '一応
最終行 = シート1.Cells(Rows.Count, 11).End(xlUp).Row
For i = 1 To 最終行
データ = シート1.Cells(i, 11).Value
シート1.Cells(1, 1) = データ
シート1.Activate
ActiveWindow.SelectedSheets.Printout
Next
End Sub

778:名無しさん@そうだ選挙にいこう
19/04/16 02:36:27.72 .net
>>776
式をよく見てみ
V1じゃなくてV2
もしかして、うまく出ないって言ったときもB1とB2を間違えて入力したんじゃないの?

779:750
19/04/16 03:38:48.73 .net
>>778
間違えていました
お恥ずかしいかぎりです。
お手数をお掛けしまして申し訳ありません。

780:名無しさん@そうだ選挙にいこう
19/04/16 08:35:57.82 .net
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
ワークブックA(xlsm)とワークブックB(xlsx)があり、Bの特定のシートのセルをAの末尾にワークシートを追加して位置を指定してペーストするコードを組みたいのですが。
条件は
・AとBはファイル名やパスが変わることがあるため、直接指定はできない。
・オートフィルターと可視セルコピーを使っているため配列の使用ができない。
・書式情報を保持するためにBを開いたままAに貼り付ける必要がある。
AからBを開いてコピーする部分まではできているので、変数宣言とペースト部分だけでもサンプルコードをみせて頂けたら。

781:名無しさん@そうだ選挙にいこう
19/04/16 13:21:49.62 .net
>>780
出来てるヤツを貼ってくれないと変数宣言も出来ないよ

782:名無しさん@そうだ選挙にいこう
19/04/16 18:17:56.21 .net
エクセルでデータベースを作るとして、データ格納用のシートとデータを管理する(集計したり加工する?)シートを分けたいと考えています。
管理用シートには関数を使って複数の条件でしぼり込んだデータを表示したいと思っています。
その場合に、検索範囲を例えばA1:A300とするのとA:AとするのとではCPUにかかる負荷が違ってくるものと推察します。
似たような関数を組んだセルが60くらい並ぶ仕様を考えているので、かなりの負担がCPUにかかるのではないかと思っています。
ちなみに、A:A300と書いたのは、300くらいで5年分のデータの量になるので書きました。
5年経ったら、関数を書き換えてA:A600とかにしようかな、という心算です。
ただ、何年かごとに関数を書き換えるのも面倒ですし、できたら作ったときに完結しているものがいいなと思い、A:Aという書き方も考えましたが、やはり計算時間がかかりそうに思いまして、質問させていただいています。
オフセット関数というものを使うと、検索範囲の指定を自動化できると聞きましたが(よく分かっていませんが)、それだとA:Aと書くのと違うのでしょうか?

783:名無しさん@そうだ選挙にいこう
19/04/16 18:21:30.97 .net
新元号「令和」対応、マイクロソフトは更新プログラムで利用可能に
スレリンク(bizplus板)
URLリンク(jp.techcrunch.com)

784:名無しさん@そうだ選挙にいこう
19/04/16 18:39:12.15 .net
>>782
計算式とバージョンしだい

785:名無しさん@そうだ選挙にいこう
19/04/16 18:47:38.81 .net
質問です
シート1のデータをシート2に自動的に抽出して表示したいです
条件に合う列のデータを自動的に。
今はフィルターとマクロでやってますが
それらを使わず関数でやることは可能でしょうか?
フィルター関数というのがあると聞いたのですが、社のオフラインパソコンでは
探しても見つかりませんでした

786:名無しさん@そうだ選挙にいこう
19/04/16 18:51:47.50 .net
>>782
A:Aで指定しても最終行が300行なら、EXCELは内部的にA1:A300みたいに扱うから気にしなくて良い

787:名無しさん@そうだ選挙にいこう
19/04/16 18:54:55.80 .net
>>785
可能と言えば可能だが止めておいたほうが良い
死ぬほどめんどくさい
ABCDE列の内、ACDが条件に合致するとすると
作業用シートのA1、C1、D1に1、2、3と入れる。max()を使う
後はsmall()で取得していく

788:名無しさん@そうだ選挙にいこう
19/04/16 18:58:09.45 .net
>>787
ありがとうございます
調べてみます
マクロ使わないで済むなら試してみます

789:名無しさん@そうだ選挙にいこう
19/04/17 01:54:56.79 .net
>>782
パソコンのスペックしだい。
あと計算を自動から手動に切り替えたら。

790:名無しさん@そうだ選挙にいこう
19/04/17 23:22:55.15 .net
>>789
自動で都度計算されてしまうものだと思っていましたが、必要なときにだけ再計算して表示を更新するようにすることもできるんですね。
それは知りませんでした。
ありがとうございます。
調べてみます

791:名無しさん@そうだ選挙にいこう
19/04/18 00:50:35.20 .net
Excelを用いて、ゲームのイベントの今までの傾向から次に来るイベントの種類や日程を予測したいです。
今までのデータを、イベント名、イベントの種類、イベントタイプ、開始日程、終了日程の
行を作って全て入力しました。ここから次にくるイベントの種類やタイプなどそれぞれの予測が出るようにしたいのですが、それができる関数やマクロはありますか?
ちなみにイベントの種類は4種類、タイプも4種類の中から選択という形で、毎回順番に出る訳ではありません。
もちろん予測なので外れても問題はないのですが何となく分かっているだけでもかなり違ってくるのでそういう方法があれば教えていただきたいです。

792:名無しさん@そうだ選挙にいこう
19/04/18 01:08:21.38 .net
>>791
フィルタかけて目視ぐらいしか確認方法ないような・・・

793:名無しさん@そうだ選挙にいこう
19/04/18 02:57:10.85 .net
>>791
Select Caseステートメントをネストさせ予想するしかないんじゃ?

794:名無しさん@そうだ選挙にいこう
19/04/18 09:16:30.53 .net
コンピューターによる予測というのは、まず人間が法則を発見して、それをプログラミングや関数に置き換えることによって可能になる物
法則がまったくわからない場合は、たとえばグラフを書くなり視覚化して目視で推測するぐらいしかない
その「法則を発見する」段階までコンピューターにやらせようというのが、今研究されてるAIの機能の一つで、まだ実現は遠い
余談になるけど、スマホアプリのイベントは中の人が前日や当日に急に決めることがけっこうあるので、予測するのは不可能に近い

795:名無しさん@そうだ選挙にいこう
19/04/18 09:41:20.90 .net
>>791
無いと思う
自分でフィルターかけて表示して
その数値見て傾向を自分の頭で考えるぐらいじゃないのかな

796:名無しさん@そうだ選挙にいこう
19/04/18 09:42:31.55 .net
>>791
年何回イベントが開かれてるかという平均や
グラフは作れるでしょ
イベントの種類ごとの年間件数
春夏秋冬で分けたときの数値もだせるし
テーブルつくってやれば昇順とか消したりとかで後は自分で数えるだけ

797:名無しさん@そうだ選挙にいこう
19/04/18 09:56:43.22 .net
>>791
イベントカテゴリ毎に開始日付を最小二乗法使って予測すればok
期間は単純平均で十分だろう

798:名無しさん@そうだ選挙にいこう
19/04/18 10:10:10.25 .net
>>797
質問の内容からして
データーを取って入力して答えを出すまで面倒な質問が山ほど来る気が

799:名無しさん@そうだ選挙にいこう
19/04/18 10:18:41.23 .net
>>798
それに答えるのがこのスレだろw

800:名無しさん@そうだ選挙にいこう
19/04/18 11:31:21.22 .net
791です
皆さん回答ありがとうございます。
フィルタで目視の方法と最小二乗法を用いて予測したいと思います
縦軸開催回、横軸日付で近似曲線出したあとFORECAST関数使って出してみたらいけました!
他にも良い方法があれば教えていただきたいです。ありがとうございました!!

801:名無しさん@そうだ選挙にいこう
19/04/18 16:50:49.24 .net
勉強不足で申し訳ないが教えて下さい。
Aというブックに「小麦、大豆、りんご」と入力されたセルを作り、Bというブックで参照させるときに
小麦
大豆
りんご
と改行させて表示させたいです。
よろしくお願いします。

802:名無しさん@そうだ選挙にいこう
19/04/18 16:52:16.94 .net
SUBS TITUTEで「"、"」を「"&C HAR(10)&"」に置き換えて前後にもCONCATEN ATEで「"」付ければいけるかな?とにわか知識なりに色々試したけど上手くいきません。
申し訳ない!教えて下さい!

803:名無しさん@そうだ選挙にいこう
19/04/18 17:17:39.82 .net
>>802
エラーで数式晴れなかったわ
URLリンク(jsfiddle.net)
、をchar(10)に置き換えて、
書式設定から「折り返して数式を表示する」にチェックだけでいい

804:名無しさん@そうだ選挙にいこう
19/04/18 17:33:09.57 .net
>>803
801です。
あなたは神か。
悩みが解決しました。素早いご回答ありがとうございました。

805:名無しさん@そうだ選挙にいこう
19/04/18 21:08:18.50 .net
日本の年号変更と元年
URLリンク(support.office.com)
書式設定のユーザー定義で元年を表示する
[<=43585][$-ja-JP]ggge"年"m"月"d"日";[>=43831]ggge"年"m"月"d"日";ggg"元年"m"月"d"日"
Text 関数で元年を表示する
[<=43585][$-ja-JP]ggge"年"m"月"d"日";[>=43831]ggge"年"m"月"d"日";ggg"元年"m"月"d"日"

806:名無しさん@そうだ選挙にいこう
19/04/18 21:30:54.07 .net
>>805
[<43586]ggge"年"m"月"d"日";[>=43831]ggge"年"m"月"d"日";ggg"元年"m"月"d"日"

807:名無しさん@そうだ選挙にいこう
19/04/19 21:02:11.40 .net
レイアウト等が少し違うブックにデータを貼り付ける際に、VBAで事前にレイアウトを合わせる処理をしました。
その後コピーして貼り付けようとしたら
「この操作は複数の選択範囲には適用できません」
のようなメッセージがでて貼り付けができなかったんですが、同じ処理を手動でやると貼り付けできます。
VBAで処理した内容は
・連続した3列を削除 Columns("AA:AC").Delete
・実線の罫線を引く(元は点線) Range("A13:AE200").Borders.LineStyle = True
です。
コピーするセルにはセルの結合がありますが、結合する列数は揃えてあります。コピーする範囲は同じ行の連続したセルです。
貼り付けができなくなった原因ってなんでしょうか?

808:名無しさん@そうだ選挙にいこう
19/04/19 21:07:17.17 .net
>>807
結合してる場所みれば一瞬で終わるんだけど、ブック上げるのは難しいか

809:名無しさん@そうだ選挙にいこう
19/04/19 21:15:30.59 .net
>>808
すいません、データ持ち出せないんですよね
誰がいつ作ったブックなのかもわからないんですよ

810:名無しさん@そうだ選挙にいこう
19/04/19 21:48:44.68 .net
>>807,809
んじゃわからん
pasteの部分も重要
selection.pasteみたいにしてると多分おかしくなる
>・連続した3列を削除 Columns("AA:AC").Delete
ここでselectionが変になっているような気がする
>・実線の罫線を引く(元は点線) Range("A13:AE200").Borders.LineStyle = True
これは多分どうでもいい

811:名無しさん@そうだ選挙にいこう
19/04/19 22:19:26.30 .net
>>810
コピペはVBAではなく手作業でした。同じブックのAAからAC列を手作業で削除するとペーストできて、VBAで削除するとペーストできない、という状態でした

812:名無しさん@そうだ選挙にいこう
19/04/19 22:31:32.77 .net
>>811
わからんねぇ
以下はどうなってるの?
・何をコピーしたのか
・選択範囲

813:名無しさん@そうだ選挙にいこう
19/04/19 22:43:37.00 .net
>>812
コピーしたのはすべて文字列、範囲はA:AE列(7列、5列、3列等のセルの結合あり)で、飛ばした列はないので「複数の選択範囲」ではありません。列の非表示もありません。

814:名無しさん@そうだ選挙にいこう
19/04/19 23:22:14.03 .net
B2〜B10のデータから条件に合ったセルのそれぞれのA列にある数値を合計してB1に表示するにはどうしたら良いでしょうか?

815:名無しさん@そうだ選挙にいこう
19/04/19 23:50:57.92 .net
>>813
見ないと分からんね
selection.areas.count
これが選択範囲の数なんだけど、これが1ならバグ
2以上なら何らかの理由で分割されている。ほぼ間違いなく列削除が原因だけど違うかも知れない。見ないと分からない
>>814
sumif()
=SUMIF(B2:B10,"b",A2:A10)
URLリンク(i.imgur.com)


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1836日前に更新/334 KB
担当:undef