1つ目;
「E4からO27」と「Q4からAA27」と「E31からO54」と「Q31からAA54」が空白だったら、右下から左下に向かう斜線を「自動的に」引くことはできますか?
2つ目;
「AD4」に数値(例えば8)を入力したら、
E4から1と始まってF4に2,G4に3,H4に4,I4に5,G4に6,K4に7,L4に8,M4は空白,N4は空白,O4は空白と「自動的に」入力させることはできますか?
※よって、AD4には入る数値は、必ず11以下です。
同じく、「AE4」に数値(例えば4)を入力したら、Q4から1と始まってR4に2,S4に3,T4に4,U4は空白,V4は空白,W4は空白,X4は空白,Y4は空白,Z4は空白,AA4は空白
同じく、「AF4」に数値(例えば5)を入力したら、E31から1と始まってF31に2,G31に3,H31に4,I31に5,J31は空白,K31は空白,L31は空白,M31は空白,N31は空白,O31は空白
同じく、「AG4」に数値(例えば5)を入力したら、Q31から1と始まってR31に2,S31に3,T31に4,U31に5,V31は空白,W31は空白,X31は空白,Y31は空白,Z31は空白,AA31は空白
3つ目;
既に作成してしまった表なのですが、項目(現在C列に入力しました)を「あいうえお順」に「行ごと」並べ替えることはできますか?
つたない表現で申し訳ありません。
初心者です。
安易なご解説をいただけたら幸いです。
よろしくお願い致します。
No.1
- 回答日時:
1つ目;
VBAを使えば出来そうですけれど、初心者でVBAはツラいですねぇ・・・
2つ目;
こっちは意外と簡単に出来そうです。
まず、E4に =IF(AND(ISNUMBER(AD4),AD4>0),1,"")
次に、F4に =IF(AND(ISNUMBER(E4),E4<$AD4),E4+1,"")
あとはF4をO4までへコピーすれば可能です。
次もこれと同じ様な感じですね。
3つ目;
C列にカーソルを置いて
A
Z↓
というアイコンで出来ます。
※これでうまくいかない場合もあります。
1つ目;VBAという機能は、初心者には無理なのですね???
2つ目;試してみますね。
実は、まだ試していないのです。
昼間は会社員・夜は通信制大学の学生+資格取得のスクール生で、今月はちょっと忙しいのです(泣)。
3つ目;残念ながら、うまく行かなかったのです(ウルウル)。
※2つ目をしっかり勉強させて頂きます。
早速のご回答をありがとうございました。
No.2
- 回答日時:
VBAでもいいですか。
1、2とも可能です。
1の斜め線は、表に対して1つ、4本の斜線ですか。
セル一つひとつにですか。
図形の斜線ですか、スラッシュ"/"ですか。
線を消すことがありますか。
(リセット機能は必要ですか)
ちなみに具体的には何をするものですか。
違う方法もあるかもしれません。
3は「並べ替え」ではどうですか。
並べ替えたい表を選択して
データ-並べ替えを選んで
行をソートなら、C列を最優先キーに指定してOK
*ダメなら、データ-並べ替えで
オプションで「ふりがなを使わない」にして実行
*列を並べ替えもできます。
1,2は内容により、再度回答したいと思います。
VBAという機能は、初心者には無理かも?とのご回答を、下記の方にいただきました。
私に使いこなせるのでしょうか???(半泣)
でも、もしよろしかったら、是非教えてくださいね。
1つ目;
斜線は、セル1つ1つを想定しておりました。
しかし、表に対して1つの線が描けるなら(合計4つ)、そちらでも結構です。
簡単な方で結構です。あまりこだわりません。
>図形の罫線,スラッシュ”/”か・・・
回答なっていないようでしたら、再度尋ねていただきたいのですが、
「塗りつぶしの色」というアイコンの隣にある、「罫線」というもので描いていただけると助かります。
>線を消すことがありますか・・・
質問に書きました「数を入力する欄」が、何度か変更されることを想定しております。
したがって、「あります」との回答でよろしいのでしょうか。
>ちなみに具体的には何をするものですか・・・
下記の方へのお礼にも書かせていただいたのですが、通信制大学と資格取得スクールの講義を受けております。
「単位数」や「科目ごとの回数」,「講義の日」,「論文提出日」,「評価」などを記録しております。
同じ科目をダブって聞かなくてもすむように,また、今月優先的に聞かなくてはならない講義はどちらか,など、いろいろです。
うまく説明できなくて申し訳ないのです。
イメージ的には「大学で受講する講義が1回増えれば、スクールで受講する同じ科目の講義は1回減る」・・・そのような感じでしょうか。
3つ目のご回答については、これからやってみます。
質問しておきながらで失礼は十分承知ですが、今月(今週)は、特に講義があちこちで忙しいです。
お礼やポイント発行、締め切りが遅くなるかもしれませんので、許してくださいね。
2月24日の朝までには、1度は覗くように致します。
では、再度のご回答をお待ちしております。
よろしくお願いいたします。
No.3
- 回答日時:
考え方だけ説明します。
質問1は全セルを取得して
各セルに入力があるかを判定します。
全てなければ斜線を描く、
1つでもあれば描かない、
という処理をします。
質問2はワークシートイベントを使います。
セルに変更があったらデータ入力する。
ただ全てのセルが対象なので
特定セルに変更があったかを判断する
処理を加えます。
どのセルかの判定は
Select Caseで処理を分けます。
少し要約しすぎですが
考え方としてはこれでできます。
No.4
- 回答日時:
表の縦軸、横軸は何をあらわしていますか。
また入力データ(11以下の)が
2の時、10の時ではいれるデータは変化しますか。
固定で1,2,3,4,5,6,空白・・ですか。
(1,2,3・・はどんな意味ですか)
11以下の数字を入れるのはどんな時ですか。
斜線を引くのはどんな時ですか。
処理内容、処理手順が分かればもう少し
いいものができるかもしれません。
No.5
- 回答日時:
#3の具体例です。
下のマクロを使うとできます。
Sub 斜め罫線を描く()
Application.ScreenUpdating = False
Range("E4:O27,Q4:AA27,E31:O54,Q31:AA54").Select
選択範囲 = Selection.Address
For Each 選択セル In Range(選択範囲)
If 選択セル.Value = "" Then
選択セル.Borders(xlDiagonalUp).Weight = xlThin
End If
Next
Application.ScreenUpdating = True
End Sub
消す場合は下です。
Sub 斜め罫線を消す()
Application.ScreenUpdating = False
選択範囲 = Selection.Address
For Each 選択セル In Range(選択範囲)
選択セル.Borders(xlDiagonalUp).LineStyle = xlNone
Next
Application.ScreenUpdating = True
End Sub
描く場合は、固定の範囲を、
消す場合は、直前に範囲指定していた範囲(Activeな範囲)
を処理します。
どちらも同じですが、
選択範囲をFor~ Next文で1セルずつ
順番に処理しています。
#3は考え方のみで省略しすぎだったので
今回上記の例を書きました。
完璧です。感激の嵐・・・
こんなに「スバラシイ技術」をいただけた私は、かなりの幸せ者です。
本当にありがとうございました。 <(_ _)>
Sub 斜め罫線を描く()
Application.ScreenUpdating = False・・・画面のチラツキ防止???(1)
Range("E4:O27,Q4:AA27,E31:O54,Q31:AA54").Select
選択範囲 = Selection.Address
For Each 選択セル In Range(選択範囲)
If 選択セル.Value = "" Then
選択セル.Borders(xlDiagonalUp).Weight = xlThin・・・これが「斜線を引け!」命令???
End If
Next
Application.ScreenUpdating = True
End Sub
Sub 斜め罫線を消す()
Application.ScreenUpdating = False
選択範囲 = Selection.Address
For Each 選択セル In Range(選択範囲)
選択セル.Borders(xlDiagonalUp).LineStyle = xlNone・・・これが「斜線を消しなさい!」命令???
Next
Application.ScreenUpdating = True
End Sub
☆私が100%理解できたのは、下の「セル消去」だけです(喜びの泣き)。
Sub セル消去()
Range("E4:O27,Q4:AA27,E31:O54,Q31:AA54") = ""
End Sub
3月11日に、マクロ操作 社内研修2回目があります。
ドイツ語を『読・ま・さ・れ・る』より怖いー。
「Aさん! 1行目を音読して訳しなさい!」ときます。
「サブ セル消去...えーっと、セル消去しなさいの命令を始めましょう?ですか???」
というような感じです(イヤだー。できないー。)
使いこなせるようになったら、楽しいでしょうね。
こんなに人に喜ばれる技術を持っていらっしゃるなんて、うらやましい限りです。
20ポイントしか発行できないことが、本当に悔やまれます。
3月11日までに,少しでもまともな発音ができるよう、これから辞書と格闘いたします。
これからも、スバラシイ技術で皆さんを助けてあげてくださいね。
※2月28日に、ポイント発行の上,締め切らせていただきます。
もしお時間を割いていただけるようでしたら、私がプラスしましたコメントが合っているか・・・教えていただいて良いですか?
☆こんなにお手数をおかけした質問者、過去にいました?(苦笑・・・いえいえ、爆笑でお別れしましょう)
No.6ベストアンサー
- 回答日時:
余計だったかもしれませんが
下に各行のことを書きました。
Sub 斜め罫線を描く()
Application.ScreenUpdating = False
画面のチラツキ防止? →◎です。
Range("E4:O27,Q4:AA27,E31:O54,Q31:AA54").Select
検査する4表を選択
選択範囲 = Selection.Address
選択した4表全部を配列として、変数「選択範囲」に取り込む
(たぶん、E4,E5,E6・・・たくさん入ってて、アタマから読むカンジ?)
For Each 選択セル In Range(選択範囲)
取り込んだ「範囲」を、一つずつ取り出す(最後まで)
If 選択セル.Value = "" Then
セルの内容が空("")だったら以下の処理をする
選択セル.Borders(xlDiagonalUp).Weight = xlThin
これが「斜線を引け!」命令? →◎です。
End If
セルの検査終了
Next
次のセルへ(For~Next間を繰り返す、次のセル、次のセル・・)
Application.ScreenUpdating = True
チラつき制御解除
End Sub
Sub 斜め罫線を消す()
Application.ScreenUpdating = False
チラつき制御開始
選択範囲 = Selection.Address
選択ずみの範囲(マクロ起動前のアクティブなセル範囲)を
全部取り込み
For Each 選択セル In Range(選択範囲)
各セルを順番に呼び出す
選択セル.Borders(xlDiagonalUp).LineStyle = xlNone
これが「斜線を消しなさい!」命令? →◎です。
Next
For、Next間を、選択したセルの最終セルまで繰り返す
Application.ScreenUpdating = True
解除
End Sub
エラそうに自分で作ったみたいなカオしてますが
本で見たものをそのままを引用なので・・。
加えて、今回は#1の方の計算式がとても良かったので
半分以上#1さんのおかげです。
なのでわたしは、そのようなお言葉を頂けるような
ことはしていません。
今回のことで私自身が新しいことを学ぶことができたので
とても感謝しています。(手数?とんでもありません)
いろいろお忙しいようですがガンバってください。
#1さんには直接お礼できませんが、よろしくお伝えください(感謝)。
爆笑ですか、そうですね(爆)。ではでは。
ご解説を拝見したときは、「ご丁寧さ」と「謙虚さ」に頭の下がる思いでした。
この質問・ご回答は、私の永久保存版となりました。
フロッピーにて、大切に保存させていただきました。
私も何度か質問者の方へ回答させていただきましたが、
自分は『本当に相手の方のために、精一杯の知恵を提示した回答をしていたのか』と、恥ずかしくなりました。
今回、kenken0001様のご回答に触れることができ、Microsoftアプリケーションのみならず、
自分の回答方法に疑問が持てたことは、たいへん有意義でした。
他人のために時間を割くということ・・・
その中で,精一杯の知識を提示するということ・・・
文字のみで説明することの難しさ・・・
表現・回答方法・・・
先に回答された方への配慮・・・
多くのことを学ぶことができ、感謝でいっぱいです。
本当にありがとうございました。
>いろいろお忙しいようですがガンバってください。
私も頑張ります。
kenken0001様も お体に留意され、ご活躍ください(←どこで? 爆)。
またお会いできる機会がありますことを、楽しみにしております。
peso様,kenken0001様のおかげで、無事に表が完成致しましたことを、心よりお礼申し上げます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Visual Basic(VBA) VBAを使いシート間で貼り付け 3 2023/03/14 20:53
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Excel(エクセル) xlDownの使い分けについての質問です vbaでxlDownを使って一覧近い空白までのセルをコピー 3 2022/08/04 12:20
- Excel(エクセル) エクセルの昇順での数値入力のミスの見つけ方を教えてください。 4 2022/06/26 20:41
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
Excel > ピボットテーブル「(空...
-
「データ要素を線で結ぶ」がチ...
-
エクセルでCSVを編集するとき、...
-
ピボットテーブルで空白セルの...
-
エクセルにて負の時間を0:00と...
-
エクセルで、「複数のセルの中...
-
空白セル内の数式を残したまま...
-
excel2010 空白セルにのみ貼り...
-
SUMIFS関数で「計算式による空...
-
形式貼り付けの「空白を無視す...
-
【Excel】 csvの作成時、空白セ...
-
Excelで、入力文字の後に自動で...
-
COUNTAで式をカウントしない方法
-
色つき行の一括削除は?
-
エクセル 連番が途切れていると...
-
空白セルにハイフンを表示
-
VLOOKUP関数について
-
Excel:関数が入っているセルに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
excel2010 空白セルにのみ貼り...
-
エクセルでCSVを編集するとき、...
-
「データ要素を線で結ぶ」がチ...
-
Excelで、入力文字の後に自動で...
-
ピボットテーブルで空白セルの...
-
エクセル 連番が途切れていると...
-
関数TRANSPOSEで空白セルを0に...
-
空白セル内の数式を残したまま...
-
Excel > ピボットテーブル「(空...
-
エクセルで、「複数のセルの中...
-
SUMIFS関数で「計算式による空...
-
空白を0とみなす関数
-
【Excel】 csvの作成時、空白セ...
-
エクセルで上の行の値を自動的...
-
《Excel2000》SUMPRODUCT関数で...
-
一列の中の金額を他のセルに
-
形式貼り付けの「空白を無視す...
-
エクセルで空白文字の前後を入...
おすすめ情報