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列に入力しました)を「あいうえお順」に「行ごと」並べ替えることはできますか?

つたない表現で申し訳ありません。
初心者です。
安易なご解説をいただけたら幸いです。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

ソート C++」に関するQ&A: C++ ソートのやり方

A 回答 (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さんには直接お礼できませんが、よろしくお伝えください(感謝)。
爆笑ですか、そうですね(爆)。ではでは。
    • good
    • 0
この回答へのお礼

ご解説を拝見したときは、「ご丁寧さ」と「謙虚さ」に頭の下がる思いでした。
この質問・ご回答は、私の永久保存版となりました。
フロッピーにて、大切に保存させていただきました。

私も何度か質問者の方へ回答させていただきましたが、
自分は『本当に相手の方のために、精一杯の知恵を提示した回答をしていたのか』と、恥ずかしくなりました。

今回、kenken0001様のご回答に触れることができ、Microsoftアプリケーションのみならず、
自分の回答方法に疑問が持てたことは、たいへん有意義でした。

他人のために時間を割くということ・・・
その中で,精一杯の知識を提示するということ・・・
文字のみで説明することの難しさ・・・
表現・回答方法・・・
先に回答された方への配慮・・・

多くのことを学ぶことができ、感謝でいっぱいです。
本当にありがとうございました。

>いろいろお忙しいようですがガンバってください。
私も頑張ります。
kenken0001様も お体に留意され、ご活躍ください(←どこで? 爆)。
またお会いできる機会がありますことを、楽しみにしております。



peso様,kenken0001様のおかげで、無事に表が完成致しましたことを、心よりお礼申し上げます。
ありがとうございました。

お礼日時:2002/02/28 08:40

#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は考え方のみで省略しすぎだったので
今回上記の例を書きました。
    • good
    • 0
この回答へのお礼

完璧です。感激の嵐・・・
こんなに「スバラシイ技術」をいただけた私は、かなりの幸せ者です。
本当にありがとうございました。 <(_ _)>



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日に、ポイント発行の上,締め切らせていただきます。
 もしお時間を割いていただけるようでしたら、私がプラスしましたコメントが合っているか・・・教えていただいて良いですか?

☆こんなにお手数をおかけした質問者、過去にいました?(苦笑・・・いえいえ、爆笑でお別れしましょう)

お礼日時:2002/02/24 21:56

表の縦軸、横軸は何をあらわしていますか。


また入力データ(11以下の)が
2の時、10の時ではいれるデータは変化しますか。
固定で1,2,3,4,5,6,空白・・ですか。
(1,2,3・・はどんな意味ですか)

11以下の数字を入れるのはどんな時ですか。
斜線を引くのはどんな時ですか。
処理内容、処理手順が分かればもう少し
いいものができるかもしれません。
    • good
    • 0

考え方だけ説明します。



質問1は全セルを取得して
各セルに入力があるかを判定します。
全てなければ斜線を描く、
1つでもあれば描かない、
という処理をします。

質問2はワークシートイベントを使います。
セルに変更があったらデータ入力する。
ただ全てのセルが対象なので
特定セルに変更があったかを判断する
処理を加えます。
どのセルかの判定は
Select Caseで処理を分けます。

少し要約しすぎですが
考え方としてはこれでできます。
    • good
    • 0

VBAでもいいですか。


1、2とも可能です。
1の斜め線は、表に対して1つ、4本の斜線ですか。
セル一つひとつにですか。
図形の斜線ですか、スラッシュ"/"ですか。
線を消すことがありますか。
(リセット機能は必要ですか)

ちなみに具体的には何をするものですか。
違う方法もあるかもしれません。

3は「並べ替え」ではどうですか。

並べ替えたい表を選択して
データ-並べ替えを選んで
行をソートなら、C列を最優先キーに指定してOK
*ダメなら、データ-並べ替えで
オプションで「ふりがなを使わない」にして実行

*列を並べ替えもできます。

1,2は内容により、再度回答したいと思います。
    • good
    • 0
この回答へのお礼

VBAという機能は、初心者には無理かも?とのご回答を、下記の方にいただきました。
私に使いこなせるのでしょうか???(半泣)
でも、もしよろしかったら、是非教えてくださいね。

1つ目;
斜線は、セル1つ1つを想定しておりました。
しかし、表に対して1つの線が描けるなら(合計4つ)、そちらでも結構です。
簡単な方で結構です。あまりこだわりません。

>図形の罫線,スラッシュ”/”か・・・
回答なっていないようでしたら、再度尋ねていただきたいのですが、
「塗りつぶしの色」というアイコンの隣にある、「罫線」というもので描いていただけると助かります。

>線を消すことがありますか・・・
質問に書きました「数を入力する欄」が、何度か変更されることを想定しております。
したがって、「あります」との回答でよろしいのでしょうか。

>ちなみに具体的には何をするものですか・・・
下記の方へのお礼にも書かせていただいたのですが、通信制大学と資格取得スクールの講義を受けております。
「単位数」や「科目ごとの回数」,「講義の日」,「論文提出日」,「評価」などを記録しております。
同じ科目をダブって聞かなくてもすむように,また、今月優先的に聞かなくてはならない講義はどちらか,など、いろいろです。
うまく説明できなくて申し訳ないのです。
イメージ的には「大学で受講する講義が1回増えれば、スクールで受講する同じ科目の講義は1回減る」・・・そのような感じでしょうか。

3つ目のご回答については、これからやってみます。

質問しておきながらで失礼は十分承知ですが、今月(今週)は、特に講義があちこちで忙しいです。
お礼やポイント発行、締め切りが遅くなるかもしれませんので、許してくださいね。
2月24日の朝までには、1度は覗くように致します。

では、再度のご回答をお待ちしております。
よろしくお願いいたします。

お礼日時:2002/02/22 11:07

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↓
 というアイコンで出来ます。
 ※これでうまくいかない場合もあります。
    • good
    • 0
この回答へのお礼

1つ目;VBAという機能は、初心者には無理なのですね???

2つ目;試してみますね。
    実は、まだ試していないのです。
    昼間は会社員・夜は通信制大学の学生+資格取得のスクール生で、今月はちょっと忙しいのです(泣)。

3つ目;残念ながら、うまく行かなかったのです(ウルウル)。

※2つ目をしっかり勉強させて頂きます。
 早速のご回答をありがとうございました。

お礼日時:2002/02/22 10:40

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q葉書の罫線がある素材サイト

仕事柄人との交流が多く、名刺交換をした人にお礼状を手書きで書いています。
無地のインクジェット葉書に罫線を書きたいのですが、そういった罫線の
あるデザインをダウンロードできる素材サイトってありますでしょうか?

罫線だけでなく、ビジネス文書に差し障りない程度のうっすらとデザインが
入っていてもOKです。

宜しくお願いします。

Aベストアンサー

罫線入りの葉書って便利なのに、
テンプレートは少ないですよねぇ。

こちらのサイトはいかがでしょうか?

参考URL:http://ruriri.aisnet.jp/keisen.htm

Q空白のレコードがなくても「空白」のチェックボックス

アクセス2007ですが
テーブルのフィルタは、空白のレコードがなくても
「空白」のチェックボックスは表示されるのでしょうか?

それとも本当はどこかに空白があるのですか?

Aベストアンサー

>それとも本当はどこかに空白があるのですか
空白だけにチェック入れて[OK]をクリックしてみたらわかります

QWindows 7で罫線又は表作成ができるフリーのワープロソフトを探し

Windows 7で罫線又は表作成ができるフリーのワープロソフトを探しています。

OpenOfficeのWriterは存じていますので、これ以外でお願いいたします。
イメージとしては、ワードパッドに追加で罫線又は表作成ができる軽いものを探しています。
表計算は不要です。
文書の体裁として縦横の線が要るだけで、印刷のみに使います。
教えていただけば、Windows 7で動くかどうかは調べられますので、どうぞよろしくお願いいたします。

Aベストアンサー

何度もすみません。
プログラムの追加と削除に登録されています。
「CYPAC BeatWord 3.0」として登録されていますのでそこから削除できます。
そそっかしくてすみませんでした(汗!)

QACCESS2003。数値型のフィールドに30億以上の数値を入力できない。

 DVDに焼いたファイルのデータベースをアクセスに入力しているのですが、そのサイズをバイト単位で入力しているのですが、3ギガ以上の数字を入力すると、
「このフィールドに入力した数値がただしくありません。たとえば数値型のフィールドに文字列を挿入しました」
とでます。
 もうこれはテキスト形式のフィールドにするしかないのでしょうか?いままでたくさんのファイルを登録してきたので、ここでテキスト形式にすると以前のファイル等で不都合がでないか懸念を持っています。
 理想は数値型でなんらかの設定をして3ギガ、30億以上の数値を入力できないものでしょうか?よろしくお願いいたします

Aベストアンサー

ヘルプで数値型を検索すればわかると思いますが、
バイト型:0~255
十進型:-10^28 ~ 10^28(mdbの場合)
整数型:-32,768~32,768
長整数型:-2,147,483,648 ~ 2,147,483,647
単精度浮動小数型:-3.402823E38 ~ -1.401298E-45 と 1.401298E-45 ~ 3.402823E38
倍精度浮動小数型:1.79769313486231E308 ~
-4.94065645841247E-324 と 4.94065645841247E-324 ~
1.79769313486231E308
になります。
長整数型では30億は入力できません。21億が限界です。
容量を取りたくなければ単精度浮動小数型、容量があってもいいなら十進型にしてください。

Q飾り枠・罫線をフリーで使えるHPを教えて下さい!

ビジネス用に使う飾り枠で見積書の外側を囲う飾り枠なのですが、
WORDの罫線では使えそうなのが見つかりません。

HP上でイメージにピタッ!っとくるようなのをフリーで探しています。
あくまでもビジネス用なので落ち着いた感じです・・。

フリーじゃないけどこれはいい!というようなものもあれば・・・。
よろしくお願いします。

Aベストアンサー

>ダウンロードするとすぐにクリップオーガナイザが起動され、

その時点で、ダウンロードしたものが表示されているはずです。
Office XPのクリップオーガナイザなら、それだけで、すでに分類もされていると思います。
どこに分類されているかは、ダウンロードした画像のカテゴリを自動判別しますので、自分が選択したものになります。
今回の場合で言えば、おそらく「罫線と飾り」か「境界線と枠」になっていると思います。
分類を変えたければ、表示させておいて、「コレクションの一覧」の好きな分類の上にドラッグ&ドロップすればコピーされます。
また、右の窓に適当なものが表示されていなければ、「コレクションの一覧」をクリックして切り替えてください。
MS-WORDなどの貼り付けるには、ドロップダウンメニューからコピーしてWORD上で貼り付けをするか、WORD上で「挿入」→「図」→「クリップアート」で検索・表示させておいて、図をクリックすれば挿入されます。

QSQL文で、1,2,3、以外(0とかブランク)を1と見立てて集計したい

データを取り出す時次のように書きます
SELECT テーブル1.id, テーブル1.kubun FROM テーブル1;

このフィールドkubun、は本来、1、か、2、ですが
例外的にブランクや0(ゼロ)が入っています。
フィールドkubun、がブランクやゼロだったら、1に変換
しながら、テーブル1から集計するSQL文はないでしょうか?

テーブル1を前もって変換しておけが、いいのですが
そうした方法を使わず、集計の時に行いたいのですが

Aベストアンサー

単純にやるなら、REPLACE(フィールド名, 該当する値, 変換する値) にするのはどうでしょうか。
この例でいくと
SELECT テーブル1.id, REPLACE(テーブル1.kubun,0,1) FROM テーブル1
って感じですかね。
※上の例は0を1にする形にしかしてません。

ブランクとは、全なのか半なのかわかりませんがこれもネストさせれば
十分対応できるかと思います。

ただし、nullの場合は IsNullなどを使わなければいけません。

Qフリー素材

フリー素材を探しています。
花柄で、小さな花模様でフリーの素材はないでしょうか?
ポスターとかはがきにその花柄を印刷しまして、
そのポスターやはがきを販売しますので、
印刷物に使用でき、販売目的でもOKのフリー素材は
ないでしょうか。教えてください。

Aベストアンサー

素材辞典
http://www.sozaijiten.com/

プロの素材
http://www.hakata-good.co.jp/

満タンWEB
http://www.dex.ne.jp/mantan/index.html

上記は、商用OKのロイヤリティフリー素材を販売されているサイトです。
使えそうな画像がある素材集を購入すればご要望の用途にかなうかもしれません。

また、検索エンジンなどで、キーワードを「ロイヤリティフリー」「素材」「商用」などで検索されれば、その他の商用可能なフリー素材も見つかるかもしれません。

QAccessでの全データから空白削除

Access2003で、各データの数値の前後に存在する空白を全て削除したいと考えています(データ型はテキスト型)。

空白は半角スペースですが、1個~6個の幅があります。

例:" 111"、" 11 "、" 1111 "など

間に空白は入っていません。

シンプルに置換機能で検索できれば手っ取り早いのですが、データ件数が多いからか(40万件、60万件、80万件)、挙動が安定しません。

エラーが出て削除できなかったり、出来ているように見えてあるところから全く削除出来ていなかったりという状態です。

Trim関数あたりを使ってマクロでなんとかできるのかな、という想像はつくのですが、Howが全く分かりません。マクロ素人です。

よろしくお願いします。

Aベストアンサー

#1です
規則性がないと完全な自動化は難しいかなと思います。

半自動化としてモジュールで作成すれば幾分楽にはなるでしょうか。

列名はモジュール内に直接羅列するか、テーブルに入れてモジュール内で取得
で、以下を取得した列名で繰り返せばOK
 sql = "UPDATE テーブル1 SET 列名 = TRIM(列名)"
 currentdb.Execute( sql )


あるいは
UPDATE テーブル1 SET 列名1=TRIM(列名1), 列名2=TRIM(列名2), ・・・
というクエリで一括更新

Qフリーソフトで簡単に罫線が引けるソフト

1 簡単に罫線を引くことができる
2 線と線の間に文字を書くことができる。
3 表計算のように表に入力した数字を計算しなくてもい  い
4 印刷機能がある

というフリーソフトはありますでしょうか?

Aベストアンサー

フリーですべてを満たすのはOpenOfficeでしょうね。

参考URL:http://ja.openoffice.org/start/

Q検索フォームで空白を抽出したい

検索フォームを作成しました。
詳細は、
検索文字入力用テキストboxが4つ([検索1][検索2][検索3][検索4])
検索ボタン、クリアボタンがあります。
検索用クエリを作成し、検索ボタンを押すと実行されるようになっています。
クエリ抽出条件には各フィールドごとに
Like ("*" & [Forms]![検索フォーム]![検索] & "*")
と記述しました。([検索]は[検索1]~[検索4]まであります)
現在、文字を入力しての検索は上手くいっていますが、フィールドの空白だけを抽出したい場合にどのようにしたらいいのかわかりません。

ご回答宜しくお願いいたします。

Aベストアンサー

現状では、
抽出条件を入力すれば、その文字を含むレコード
空白の場合は、フィールド内が空白でないレコードが出てくるかと思います。

案1(妥協案)
クエリのデザインビューで
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") となっているところを
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") Or Is Null
とすれば、条件に合うもの + 空白分 が合わせて出てきますけど・・

案2
クエリのデザインビューで
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") となっているところを
全て削除(4箇所)
新たなフィールドを作成し
そこに
式1:IIf(IsNull([forms]![検索フォーム]![検索1]),
[テーブル名].[フィールド名] Is Null,
[テーブル名].[フィールド名] Like "*" & [forms]![検索フォーム]![検索1] & "*")
として
抽出条件に、= True
表示のチェックは外す
これで
検索1が空白の場合は、空白のレコード。
何かしら入力してあれば、その分だけ。
* の場合には、空白では無いレコード。
* そのものを検索したい場合は [*] と入力すれば
文字列中に、* を含むレコードが出てきます。

案3(案2の流れで)
式1:IIf([forms]![検索フォーム]![検索1] = "@@",
[テーブル名].[フィールド名] Is Null,
[テーブル名].[フィールド名] Like "*" & [forms]![検索フォーム]![検索1] & "*")
検索1が空白の場合は、空白では無いレコード。
何かしら入力してあれば、その分だけ。
@@ の場合には、空白のレコード。
@@は決してありえない文字列にして下さい。

※元のクエリは残して、コピーしたクエリにてお試しを

現状では、
抽出条件を入力すれば、その文字を含むレコード
空白の場合は、フィールド内が空白でないレコードが出てくるかと思います。

案1(妥協案)
クエリのデザインビューで
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") となっているところを
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") Or Is Null
とすれば、条件に合うもの + 空白分 が合わせて出てきますけど・・

案2
クエリのデザインビューで
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") となっているところを
...続きを読む


人気Q&Aランキング