1 :
名無しさん@そうだ選挙にいこう :
2008/08/27(水) 18:54:44 Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-10 あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
ttp://www.google.co.jp/ 前スレ
Excel総合相談所 72
http://pc11.2ch.net/test/read.cgi/bsoft/1215765544/
2 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 18:56:36
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ここは技術的な質問のみで。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能でExcelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、 どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。 ・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 ・B 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。
3 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 18:57:55
★ルールを無視すると…
>>1-2 あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ
1.マルチをしてしまったら…
A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
それが嫌なら初めからマルチなんてしないように。
>>2 にマルチ禁止と書いてあり、
マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。
2.
>>1 ★4に従わず、必要な情報を出さないと…
A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
これはきちんとルールに従って質問、依頼した人のみの特権です。
3.情報・条件を後出しすると…
A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
>>1 ★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
長文になってもいいので詳細かつ明確かつ具体的に書きましょう。
★VBAについて
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
4 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 18:59:04
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
5 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 18:59:50
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える) ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA) ・ 行の高さを0.25きざみ以下の単位で指定する ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト) ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) ・ 祝日を判断する (作業セルに祝日を列挙、VBA) ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合) ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する (プラグイン) ・ 罫線幅の自由指定 ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA) ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整) ▼操作 ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成) ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA) ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA) ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA) ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える) ・ 1セルを分割 (分割したいセル以外を結合)
6 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 19:00:20
7 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 19:01:35
8 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 19:02:22
||
|| ━ 質問のしかた ━
||
|| ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
|| ★2 要望は具体例や図を使って明確かつ具体的にしる。
|| ★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
|| ★4 質問テンプレ(雛形)は必須ではないが、
|| OSやExcelのバージョン、VBAの可否などは必須情報。
||
|| ∧ ∧ 。
|| ( ,,゚Д゚)/ ジュウヨウ!! E[]ヨ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄ ̄ ./| ________________
| ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ は〜〜〜〜い /
∧ ∧ ∧,,∧ ∧ ∧
( ,, ∧▲ ミ ∧ ∧ ( ∧ ∧
〜(_( ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
@(_(,,・∀・)@ ( *)〜ミ_ ( ,,)
@(___ノ 〜(___ノ 〜(___ノ
エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。
【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536
9 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 19:08:00
【 このスレの登場人物 】 ┌─質問者─────────── どこにでもいるごく普通の初心者だったり 会社で上司に無理難題を押しつけられて困っている人だったりする。 たまに学生が宿題を持ち込んでくることも。 ┌─回答者─────────── テンプレを使わないと無視したり、質問を小出しにするとキレたりするくせに 自分は回答を小出しにして優越感に浸りニヤニヤしている嫌なヤツ。 ┌─自称回答者───────── 質問者を煽ったり、回答者を煽ったり、とにかくスレを引っかき回すだけで 何の役にも立たない賑やかし。単なるヒマ潰しでこのスレを見ている。 ┌─VBA厨 ─────────── VBAは万能と信じ、どんな単純な問題もついVBAで解いてしまう。 Module1がデフォルトで挿入されている世界を夢見るが、いまだ実現していない。 その実態はほとんどが理系の(元)学生。ピボット厨に目の敵にされている。 ┌─ピボット厨────────── ピボットテーブルの機能が強力すぎるため、なんでもできると錯覚している。 口癖は「データを正規化して出直せ」「ピボッと参上ピボッと解決」など。 弱点は大嫌いなVBAを使わないとテーブルのリアルタイム更新ができないこと。 ┌─啓蒙先生────────── ピボット厨一派の過激派。Excelはピボットテーブルだけのためにあり、 それ以外の機能はワークシート関数すら不要と言い切る。ピボットテーブルで 解決できない質問からは威嚇しながら逃げる。最初から出てこなきゃいいのに。 ┌─そのほか────────── ワークシート関数厨……何重にも入れ子になった複雑怪奇な数式を作り出し、 関数だけでどんな問題も解いてしまう。たまに自分でも何をやっているか わからなくなる。悩みは数式バーが1行しかないこと、頭が薄くなってきたこと。 配列数式厨……意外と使えるやつだが滅多に出てこない、というか出番がない。 極めてマイナーな存在。見かけたらその日はいいことがあるかも。 ナレーター……誰か知らない人。
テンプレの終了。
激しく乙〜〜〜(・з・)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セル 単位 保護 パスワード エクセルの2002以降は、セル単位でのパスワード保護が可能なのは 知っていたのですが、 Exsel2000で同じような処理をできないでしょうか? 例えば、A1の横のB1にマクロボタンを作り、A1を変更する場合には、 B1に置いたマクロボタンを押してパスワードを入力して保護を外し変更。 他の領域、A1やB1以外のセルはパスワードの入力の必要がない状態。 やり方を知ってる方がいましたら、助言お願い致します。
13 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 22:20:09
【1 OSの種類 .】 Win Xp 【2 Excelのバージョン 】 Excel 2003 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 クロス マトリックス 元シートに name rank point あ A 2 い B 1 う A 2 え A 3 のようなデータ400行程。 rankは8種類(確定)、pointは30種類くらい(不定)になります。 これを別シートに rank を縦軸、pointを横軸にマトリックスを作り、対応する枠の中にnameを入れたいのです。 point rank 1 2 3 A あ え い B う 何も入らない枠もありますし、同じ枠に10個のnameが入るときもあります。 それぞれの枠に入る個数を求めるのは出来たのですが、そのままnameを並べることができません。 複数のnameが入るところは、同一セルに改行でもセルが縦に(横に)並んでもどちらでもokです。 例で言うと、”あ・い”は同一セルでも、別セルでも構いません。 どうかよろしくお願いします。
14 :
名無しさん@そうだ選挙にいこう :2008/08/27(水) 23:48:09
Option Explicit Sub Macro6() Dim MyRange As Range: Dim cl As Range Dim ShMatrix As Worksheet: Dim EndRw As Long Dim MyCol As Integer: Dim MyRw As Long Dim lc As Long: Dim MyMax As Long Dim MyStr As String: Dim MyArray() As String Dim MyArray2() As Long Set MyRange = Selection EndRw = Selection.Rows.Count MyMax = WorksheetFunction.Max(MyRange.Columns(3)) ReDim MyArray(1 To 8, 1 To MyMax) ReDim MyArray2(1 To MyMax) For lc = 2 To EndRw MyStr = MyRange.Cells(lc, 1).Value MyCol = MyRange.Cells(lc, 3).Value MyRw = Asc(StrConv(MyRange.Cells(lc, 2).Value, vbNarrow)) - 64 If MyArray(MyRw, MyCol) <> "" Then MyArray(MyRw, MyCol) = MyArray(MyRw, MyCol) & Chr(10) & MyStr Else MyArray(MyRw, MyCol) = MyStr End If Next Set ShMatrix = Sheets.Add For lc = 1 To MyMax MyArray2(lc) = lc Next ShMatrix.Range("B2").Resize(8, MyMax).Value = MyArray ShMatrix.Range("B1").Resize(1, MyMax).Value = MyArray2 ShMatrix.Range("A2").Resize(8, 1).Value = WorksheetFunction.Transpose(Array("A", "B", "C", "D", "E", "F", "G", "H")) End Sub
15 :
名無しさん@そうだ選挙にいこう :2008/08/28(木) 00:35:38
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 関数 連番 最近独学でExcelを使用し、パチンコの予想期待収支計算などを集計しているのですが、 2点質問させて頂きたいのでよろしくおねがいします。 @関数の一部を連番にしたい A3=A1/(A2/J10)からS3=S1/(S2/J10)まで連番(というのでしょうか)で関数をつけたい。 この場合、関数セルはA3,B3,C3・・・S3になる。 但し、J10の部分は列に依存せず固定値のままにする。 A言葉に二つの数値を意味づけ、関数で計算させたい。 B1,C1に関数を記述する。 B1=(aa*D1) C1=(bb/D1) A1に海と記入すると、aa=400 bb=100と指定される。 A1に海、D1に10と記述した場合、 B1=4000 C1=10となる。 川と記入した場合はaa=1000,bb=500となる。 故にB1=10000 C1=50となる。 このように、一つのセルにある日本語を入力することで、aaとbbの二つの値が指定されるようにしたい。 以上になります、非常に分かりづらい文章になってしまいました。申し訳ございません。 このような少し複雑な指定の関数の表記法があれば教えて頂きたいです。
16 :
名無しさん@そうだ選挙にいこう :2008/08/28(木) 01:10:05
1 オートフィル・絶対参照 2 if関数 無駄に時間かかるから最初は何でもいいから入門書読んだほうがいいよ
17 :
15 :2008/08/28(木) 01:26:34
>>16 レスありがとうございます。
単語が分かっただけでも十分です、今まではどんなキーワードで検索すればいいかすら分からなかったので・・・。。
色々勉強してきます、ありがとうございました。
18 :
名無しさん@そうだ選挙にいこう :2008/08/28(木) 02:13:03
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】トラブル さっきエクセルの本見ながらスロットの収支を作ってた超初心者です。 2時間くらい奮闘して作成してたのですが、空白部分を指定してテーブルとして書式設定というところで表スタイルを青っぽいのを指定したところ 画面が青くなり上の方にあるボタンがほとんど灰色になって押せなくなってしまいました。 インターネットでしばらく検索してみたのですが、わかりませんでした。 とても初歩的な質問で申し訳ないのですが、元に戻す方法がわかる方、教えてください。よろしくおねがいいたします。
A列にある数列、B列にある数列で共通のもののみ 抽出するにはどのようにしたらいいでしょうか?アドバイスお願いします
>>19 C1にif(a1=b1,1,"")
で下にオートフィル、後はC列で1をオートフィルタとか
>>20 レスありがとうございます
if関数の項目調べながらしてみます
22 :
名無しさん@そうだ選挙にいこう :2008/08/28(木) 15:10:30
ActiveXコントロールを殺してくれ
23 :
名無しさん@そうだ選挙にいこう :2008/08/28(木) 17:00:31
>>18 テーブルツール デザイン
っていうタブがメニューに出来てるはずなので、そこをクリックして、
ツールの 「範囲に変換」をクリック
24 :
名無しさん@そうだ選挙にいこう :2008/08/28(木) 19:58:02
今まで碌にパソコンを触ったことがなかったんですが今度入社した会社で Excelとwordが必要になりました。 理解しやすく、必要十分な書籍などありましたらピックアップして教えていただけないでしょうか?
25 :
13 :2008/08/28(木) 21:21:51
>>14 ありがとうございます。本当に助かりました。
point列が数字じゃなく、文字の時は
対応表のようなものを作って数値にしてしまうしかないんでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 シート作成 ファイル名 付与 原本となるブックがあり それを元に Book1 Book2 Book3 Book4 ・・・ と任意の数だけブックを任意のフォルダに作成し かつブック名に日付(8月1日、8月2日・・)と付けて作成する方法を 教えてください。 参考になりそうなサイトでも構わないです。 よろしくお願いします。
27 :
名無しさん@そうだ選挙にいこう :2008/08/28(木) 21:28:12
>>24 自宅にワード、エクセルがあるなら
FOM
これで十分。
28 :
名無しさん@そうだ選挙にいこう :2008/08/28(木) 22:07:59
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 × 【4 VBAでの回答の可否】 × 【5 検索キーワード 】 テキストボックス 方向キー 左右 お願いします。 テキストボックス内で、方向(矢印)キーを使って カーソルを移動させる際に、 左右のキーの時のみ逆に移動してしまいます。 よい修正法があったらお教えください。
29 :
名無しさん@そうだ選挙にいこう :2008/08/29(金) 10:54:34
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 置換をする時に例えば01や02に置き換えたいのですが、 どうしても1や2となってしまって0が消えてしまうのですが どうすれば01や02で置き換えられるでしょうか?
30 :
名無しさん@そうだ選挙にいこう :2008/08/29(金) 11:02:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 OK 特定の行(たとえば50行まで 50行以降はOKにしたい) 行の削除・追加を禁止することはできますか?
>>29 '01や'02と入力
もしくは書式設定で文字列に設定しておくか
>>24 テキトーな本を買って一通り書いてある通りにやってみればいいよ
文字入力・罫線がどうこうなレベルならどの本も大差ない
ちなみにダイソーでも売ってるが内容は他とほぼ同じ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 否 【4 VBAでの回答の可否】 OK 1 a あ カ 2 b い キ 3 c う ク 4 d え ケ ↓ 4 d え ケ 3 c う ク 2 b い キ 1 a あ カ のようにデータを完全に上下逆に並べ替えたいのです。 何百行もあるし、これからもデータが追加されるので手作業だと大変です。 よろしくお願いします。
カの右に1から連番を振ってその列を基準に降順で並び替え 追加する時は挿入か、移動辺りか
>>31 ありがとうございます
書式設定で文字列にしていてもなぜか置換するときだけ
0が省略されて困ってたのですが'01と入力したらクリアできました
助かりました
【1 OSの種類 .】 Windows2000以降 【2 Excelのバージョン 】 Excel2000以降 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 折れ線グラフを作成したいのですが、 プロットするための元データは、必ず一旦セルに書き出してRangeで範囲指定しなければならないでしょうか。 VBAの変数配列で保持している横軸縦軸のデータを、直接グラフに読み込ませたいのです。
>>33 ワォ、その方法は思いつきませんでした。ありがとうございました。
37 :
名無しさん@そうだ選挙にいこう :2008/08/29(金) 21:37:43
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 こんなグラフを作りたいのですが良い方法ありますか? 5 ■■■■■ 10 ■■■■■■■■■■ 5 ■■■■■ 3 ■■■ 数値だけを入力し、積み上げグラフを自動で作成したい。
39 :
名無しさん@そうだ選挙にいこう :2008/08/30(土) 07:41:07
>>38 あらかじめ列の幅をそろえておいて
a2=if(a1=>column()-1,"■","")
オートフィルとか
質問よろしくお願いします。 1−1 と入力すると 1月1日 と表示されてしまいます。 1−1 と入力したらそのまま 1−1 と表示させるにはどうすれば良いでしょうか?
「’1−1」と入力する あらかじめ当該セルの表示形式を文字列に変更する
できました。ありがとうございました!!
>39できませんでした。もうすこし詳しくおねがいします。
タブ文字を含んだ文字列をセルに貼り付けて、 「=code(1)」のように、タブ文字の文字コードを取得しようとすると、32(半角スペース)が取得されてしまいます。 「=char(9)」のように書けばタブ文字を表現できることは知っているのですが、 文字列に含まれるタブ文字を、スペースとは区別して処理したいのですが、 どうしたらいいのでしょうか?
45 :
44 :2008/08/30(土) 14:55:46
あ、詳細を書き忘れました。 44の質問は、Excelの関数だけで解決したいのです。 マクロや、手動で検索するのではない方法はありますでしょうか?
一つのセルにsum関数の結果と件を表示したい =fixed(sum(範囲),,) & "件" ではうまくいきませんでした。 よろしく。xp 2003
貼り付けた時点で半角スペースに置き換えられるみたいだから 貼り付ける前に処理しないと区別は出来ないのではアルマイカ。
48 :
46 :2008/08/30(土) 18:59:05
すまんです。範囲のデータを文字型にしていたのを忘れていたorz 久しぶりだったモンでとんだ勘違いでした。逝ってきます。
1 XP 2 2000 3 いいえ 4 否 5 If 空白セル セルAとセルBの数字が等しい場合はセルCに 1 セルAとセルBが空白の場合はセルCに 0 お願いします
50 :
名無しさん@そうだ選挙にいこう :2008/08/30(土) 21:49:23
すいません質問させてください いま 請求先 請求金額 CC工業 256 CC工業 33250 CC工業 48660 CC工業 225 DD商事 746 DD商事 445 LL産業 1125 LL産業 998 LL産業 444 ZZスクール 1258 ZZスクール 19450 株式会社QQ 33804 のような表があって 会社毎に効率よくセルの網掛けをしていきたいんですが (1こずつフィルターをかけてちまちまやるんじゃなくて) どうしたらよろしいでしょうか。 おねがいします
【1 OSの種類 .】 WindowsXPsp3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel vba find sheet1をCtrl+Fで検索する時、sheet2のA1セルの内容で検索させるにはどうすればいいですか? 教えてください
52 :
名無しさん@そうだ選挙にいこう :2008/08/30(土) 22:50:34
>>49 =IF(AND(ISBLANK(A1),ISBLANK(B1)),0,IF(A1=B1,1,""))
>>50 100件くらいなら手動でやったほうが早いだろうが、データが多いか頻繁に行うならVBA使えば良い
VBAに関しては「自分でコード書いて」(
>>3 ★2)
>>51 Sub Find2()
If ActiveSheet.Name = "Sheet1" Then
Cells(1).Find Worksheets("Sheet2").Range("A1").Value
End If
CommandBars.FindControl(, 1849).Execute
End Sub
をCtrl+Fに登録
シート名の頭が小文字なら書き換えて
55 :
名無しさん@そうだ選挙にいこう :2008/08/30(土) 23:46:34
Excel2007ってユーザー登録しないと使えなくなんの?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 if 異なるセルに やりたいこと: 例えば、B2は式が入っていないで、ユーザが色々書き込めるとします。 A1にはチェックボックスを作って、B1にリンクさせてあります。 A2に以下の式を書きたいのですが、VBAじゃないとできないのでしょうか? =IF(B1=TRUE,『B2に空白文字列』,『なにもしない』) B2には自由に入力出来るように式を入れたくないのです。 要はチェックのON/OFFで指定のセルのクリア(上書きによる)をしたいのです チェックOFFで値が再現される必要はありません。 方法ありましたら教えて下さい。
57 :
名無しさん@そうだ選挙にいこう :2008/08/31(日) 00:31:16
4行目の件が良く分からないけど、 式・値のクリアは関数では無理。VBAや置換などじゃないと あとそういう場合はコマンドボタンがいいと思う
あるデータを散布図でプロットして近似曲線の「累乗近似」を出したいんだけど選択できません。 どうすれば累乗近似で出すことができるんですか? ちなみにそのデータは系列が3つでそれぞれの系列で35個ほどのプロット数です。
59 :
58 :2008/08/31(日) 00:50:00
解決した 0の値があるとだめなんだな
60 :
名無しさん@そうだ選挙にいこう :2008/08/31(日) 09:54:25
俺も旧バージョンのを2007でひらくと28のような症状になるのだが…。
61 :
名無しさん@そうだ選挙にいこう :2008/08/31(日) 11:00:47
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003sp3 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 列 文字列 リスト 抽出 1本の列に入力されている内容を確認するために 重複を除いて一覧として書き出す方法ありますか
62 :
61 :2008/08/31(日) 11:18:12
フィルタオプションの設定ですね 質問取り下げます
>>61 調べたいのがA列として、作業列の2行目以降に=ISERROR(VLOOKUP(A2,A$1:A1,1,FALSE))と入れてから
オートフィルタでTRUEの行をコピペ
64 :
61 :2008/08/31(日) 12:21:41
>>63 ありがとうございます。
断然こちらの方法が利用価値高いです。
65 :
名無しさん@そうだ選挙にいこう :2008/08/31(日) 15:29:48
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可・否 【5 検索キーワード 】 マクロの初歩を一通り眼を通しましたが理解不能 1 2 3 4 A 3/5 5/5 6/1 7/21 B 5/2 6/1 6/22 6/27 C 5/3 5/7 5/21 6/1 1.2.3・・・手順 ABC・・・サンプル 日付 このシートを 3/5 5/2 5/3 5/5・・・ 1 A B C 2 A 3 4 といった具合に並び替えていく方法をどなたか教えてください(`・ω・´)
66 :
前半 :2008/08/31(日) 18:15:42
>>65 Option Explicit
Sub test()
Dim MyArray() As String: Dim MyRange As Range: Dim MyRange2 As Range
Dim MaxCol As Integer: Dim MyCol As Integer
Dim MaxRw As Long: Dim MyRw As Long: Dim lc As Long: Dim CntCells As Long
Dim Mysh As Worksheet
Set MyRange = Selection
With MyRange
MaxCol = .Columns.Count: MaxRw = .Rows.Count: CntCells = (MaxCol - 1) * (MaxRw - 1)
ReDim MyArray(CntCells - 1, 2)
lc = 0
For MyCol = 2 To MaxCol: For MyRw = 2 To MaxRw
MyArray(lc, 0) = .Cells(MyRw, MyCol).Value
MyArray(lc, 1) = .Cells(MyRw, 1).Value
MyArray(lc, 2) = .Cells(1, MyCol).Value
lc = lc + 1
Next: Next
End With
67 :
後半 :2008/08/31(日) 18:24:53
Set Mysh = Sheets.Add Set MyRange2 = Mysh.Range("A1").Resize(CntCells, 3) With MyRange2 .Value = MyArray .Sort Key1:=MyRange2.Range("A1"), Order1:=xlAscending, _ Header:=xlYes, Orientation:=xlTopToBottom, OrderCustom:=1 ReDim MyArray(MaxCol - 1, CntCells) For lc = 1 To MaxCol - 1 MyArray(lc, 0) = lc Next lc = 0 For MyRw = 2 To CntCells If .Cells(MyRw, 1).Value <> .Cells(MyRw - 1, 1).Value Then lc = lc + 1 MyArray(0, lc) = .Cells(MyRw, 1).Value End If MyArray(Val(.Cells(MyRw, 3).Value), lc) = .Cells(MyRw, 2).Value Next .Clear End With Mysh.Range("A1").Resize(MaxCol, CntCells + 1).Value = MyArray End Sub 1 日付 サンプル 手順 の形式にして変数に格納 2 新規シートに書き出し・ソート 3 日付の重複を確認しながら変数に格納 4 一時的に書きだしてたデータを削除・最終的なデータ書き出し の手順で処理してます。
68 :
名無しさん@そうだ選挙にいこう :2008/08/31(日) 19:30:01
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マクロ 矢印 色の変更 ドラッグしてマクロを実行すると描画するが、これの色を黒い変更したいです。
69 :
名無しさん@そうだ選挙にいこう :2008/08/31(日) 19:32:27
Sub test() Dim target As Range Dim arrowLeft As Double Dim arrowTop As Double Dim arrowWidth As Double Dim shp As Shape Dim myCell As Range If TypeName(Selection) <> "Range" Then Exit Sub If Selection.Rows.Count > 1 Then Exit Sub Set target = Selection For Each myCell In target.Cells arrowWidth = arrowWidth + myCell.Width Next arrowLeft = target.Cells(1).Left arrowTop = target.Cells(1).Top + target.Cells(1).Height / 2 Set shp = ActiveSheet.Shapes.AddLine(arrowLeft, arrowTop, arrowLeft + arrowWidth, arrowTop) With shp.Line .EndArrowheadStyle = msoArrowheadNone .EndArrowheadLength = msoArrowheadShort .EndArrowheadWidth = msoArrowheadWidthMedium End With End Sub どなたかご教授ください。 また、現状水平線しか引けないのでかのうなら、斜めもひけたらと思っています。 よろしくお願いします。
70 :
名無しさん@そうだ選挙にいこう :2008/08/31(日) 20:34:53
>>68 デバック中にset shp 以降でshp のウォッチ式を見ればわかりますよ
Sub test()
If TypeName(Selection) <> "Range" Then Exit Sub
Set target = Selection
arrowleft = target.Left
arrowright = arrowleft + target.Width
arrowtop = target.Top
arrowbottom = arrowtop + target.Height
If Selection.Rows.Count = 1 Then
arrowtop = (arrowtop + arrowbottom) / 2
arrowbottom = arrowtop
End If
Set shp = ActiveSheet.Shapes.AddLine(arrowleft, arrowtop, arrowright, arrowbottom)
With shp.Line
.EndArrowheadStyle = msoArrowheadNone
.EndArrowheadLength = msoArrowheadShort
.EndArrowheadWidth = msoArrowheadWidthMedium
.ForeColor.RGB = 0
End With
End Sub
71 :
名無しさん@そうだ選挙にいこう :2008/08/31(日) 20:36:35
Sub Macro1() Selection.Borders(xlDiagonalDown).LineStyle = xlNone With Selection.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End Sub Sub Macro2() Selection.Borders(xlDiagonalDown).LineStyle = xlNone With Selection.Borders(xlDiagonalDown) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End Sub
>>68 線を引くだけならこれでいいはず
Sub aaa()
With Selection
ActiveSheet.Shapes.AddLine(.Left, .Top, .Left + .Width, .Top + .Height).Select
End With
Selection.ShapeRange.Line.ForeColor.SchemeColor = 0
End Sub
>>70 ユニコードを使うとVBEにそのままコピペできなくなるぞ
ユニコードっつうか文字参照な
74 :
65 :2008/08/31(日) 21:36:05
>>66 >>67 ご回答ありがとうございます
さっそく試してみます(`・ω・´)
【1 OSの種類 .】 Windows2000以降 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 シートの保護について質問です。 Excel2000で、2002以降と同じように「セルデータの書式の変更のみを許可する」、というオプションを選ぶ方法はあるでしょうか。 2000で保護対象から「データ」を外すと、書式変更が出来ますが変更したくないセルのデータも触れるようになってしまいます。 2000環境で作成した後、2002環境のマシンにコピーしてシートを保護、という事も出来ますが、出来れば複数マシンを移動したくはないのです。 よろしくお願いします。
76 :
名無しさん@そうだ選挙にいこう :2008/09/01(月) 14:19:50
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 住所が例えば「渋谷1−2−3」となってるとすると これを2つのセルに「渋谷」「1−2−3」と 一発できれいに分ける方法はありますでしょうか ちなみに当然ながら「豪徳寺」のように文字数がバラバラ だったり「○○1297」のようにハイフンがなかったり色々な住所があります 数字は全角です
補足です 共通するのは漢字やひらがなの文字から数字に変わることと 数字で終わることです 文字から数字に変わるところで切れたらと思うのですが 良い方法ありましたら教えてください
>>65 Sub hoge() '日付データ(タイトル以外)を範囲選択して実行する
Dim ary(), mx, num, i, j, k, tmp
mx = Selection.Cells.Count - 1
num = Selection.Columns.Count
ReDim ary(mx, 2)
i = 0 '配列に読み込み
For Each r In Selection
ary(i, 0) = r.Value
ary(i, 1) = Cells(r.Row, 1).Value
ary(i, 2) = Cells(1, r.Column).Value
i = i + 1
Next
For i = 0 To mx - 1 '並び替え(重複データは無視)
For j = i + 1 To mx
If ary(i, 0) > ary(j, 0) Then
For k = 0 To 2
tmp = ary(i, k)
ary(i, k) = ary(j, k)
ary(j, k) = tmp
Next k
End If
Next j
Next i
For i = 1 To num 'セルへ書き出し(50行目とする)
Cells(50 + i, 1) = i
Next
For i = 0 To mx
Cells(50, i + 2) = ary(i, 0)
Cells(50 + ary(i, 2), i + 2) = ary(i, 1)
Next
End Sub
【1 OSの種類】 Windows XP 【2 Excelのバージョン】 Excel2000 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード】 エクセル MM/DD/YYYY hh:mm:ss エクセル 書式設定 etc MM/DD/YYYY hh:mm:ss.nnnのような日時のデータがあります。 具体的には「09/01/2008 15:05:30.676」のような形です。 これをセルの書式設定の変更のみで「hh:mm:ss」で表示できますか? 「15:05:30」と表示できれば良いのですが。 どなたかご教示ください。
【1 OSの種類 .】 WindowsVista64 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 初心者ですが宜しくお願いします。 表を作っていたのですが、いつもどおりセルを選択しようとすると、 複数のセルが同時に選択されてしまいます。 (たとえば目的のセルの下に続けて縦に4コマとか) 新しいドキュメントを作ると今まで通り選択できるのですが、 作業中のドキュメントではどのシートでも同じ症状がでてしまいます。 これはそのような設定があるのでしょうか?
セルを結合しちまったかな。
>>69 Sub hoge()
If TypeName(Selection) <> "Range" Then Exit Sub
Dim x0, x1, y0, y1
With Selection
If .Rows.Count <= 2 Then '横線
x0 = .Columns.Left: x1 = x0 + .Columns.Width
y0 = .Rows.Top + .Rows.Height / 2: y1 = y0
ElseIf .Columns.Count <= 2 Then '縦線
x0 = .Columns.Left + .Columns.Width / 2: x1 = x0
y0 = .Rows.Top: y1 = y0 + .Rows.Height
Else '斜線(選択範囲をドラッグした向きの対角線)
x0 = .Columns.Left: x1 = x0 + .Columns.Width
If .Column = ActiveCell.Column Then
If .Row = ActiveCell.Row Then
y0 = .Rows.Top: y1 = y0 + .Rows.Height
Else
y1 = .Rows.Top: y0 = y1 + .Rows.Height
End If
ElseIf .Row = ActiveCell.Row Then
y1 = .Rows.Top: y0 = y1 + .Rows.Height
Else
y0 = .Rows.Top: y1 = y0 + .Rows.Height
End If
End If
End With
ActiveSheet.Shapes.AddLine(x0, y0, x1, y1).Select
End Sub
>>79 hh:mmのような日時書式定義が適用されるのはシリアル値(数値)のみ
「09/01/2008 15:05:30.676」ってのが
シリアル値「39692.6288272685…」を「MM/DD/YYYY hh:mm:ss.000」という形式で表したものなら
表示形式を普通に「hh:mm:ss」にするだけでいいが、文字列として入力されてるなら
当然ながら日時書式定義を適用するにはシリアル値(数値)への変換が必要であり、
表示形式は文字通り表示に関する設定で値そのものの変換機能は無いので表示形式だけでは無理
まあ単にVBAで一括置換するなり、関数で別セルにシリアル値変換して、それを値のコピーするなりすれば済む話だがな
84 :
名無しさん@そうだ選挙にいこう :2008/09/01(月) 23:01:09
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 × 【4 VBAでの回答の可否】 × 間違ってセルの文字を消してしまって、Ctrl+Zで戻り過ぎたときには どう操作すればよいのでしょうか?
Ctrl+Y
86 :
名無しさん@そうだ選挙にいこう :2008/09/01(月) 23:26:28
>>76 find、chooseかindexあたりの関数、rightかleftを組み合わせて使えばいいのはわかるんだが酔っ払っててわからない
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 ほんの少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 名前をつけて保存 ワークブックを開く 元となるエクセルファイル(home.xls)にデータを入力します。 C1セルに通し番号(001〜)を入力し、【Save】を実行すると「..\Data\通し番号.xls」という風に保存される。 (このときhome.xlsが表示されたまま) 002,003…と次々に入力と【Save】を繰り返し、修正の必要があればC1セルに通し番号を入力し【OpenData】を実行すると「通し番号.xls」が開かれる。 必要なデータを修正した後に【Save】を実行すると「..\Data\通し番号.xls」に上書きで保存される。 …というものを作りたいのですが、【Save】【OpenData】ともにうまくいきません。 参考までに、現在のものを貼り付けてみます。 よろしくお願いします。 Public Sub Save() Dim path As String Dim name As String path = ActiveWorkbook.path name = Range("C2").Value ActiveWorkbook.SaveAs Filename:=path & "\Data\" & name & ".xls" ActiveWorkbook.Close End Sub Sub OpenData() Dim path As String Dim name As String path = ActiveWorkbook.path name = Range("C2").Value Workbooks.Open Filename:=path & "\Data\" & name & ".xls" End Sub
88 :
名無しさん@そうだ選挙にいこう :2008/09/02(火) 03:07:43
【1 OSの種類 .】 Windows vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 あまり使えない。for、if程度。只今勉強中。
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 ユーザーフォーム はい いいえ 名前を付けて保存
やりたいことを簡単に書くと、
実行したマクロを起動させ、マクロの処理が終わると、Userformで作ったダイアログが出てくる。
そこには「はい」「いいえ」のコマンドボタンがあり、
「はい」を押すと、「名前を付けて保存」の画面が出るようにしたい。
説明が下手なので、詳細は、アップロードしたエクセルファイルをご覧ください。
よろしくお願いいたします。
【場所】
ttp://applis.servehttp.com/index.htm 【ファイル名】
00024326.rar
89 :
名無しさん@そうだ選挙にいこう :2008/09/02(火) 03:08:44
90 :
名無しさん@そうだ選挙にいこう :2008/09/02(火) 08:38:55
>>38 アクセス禁止のあおりを食って遅くなったけど、自己解決しちゃったカナ?
最近見ないけど、むかしバーチャートでよく使われてた
A列に数値があるとして
1行目: =REPT("■",A1)
2行目: =REPT(" ",SUM($A$1:A1))&REPT("■",A2)
3行目: =REPT(" ",SUM($A$1:A2))&REPT("■",A3) 以下2行目の式をコピー
フォントはMSゴシックなどの等幅フォントに設定
>>87 > name = Range("C2").Value
C2じゃなくてC1じゃねーの?
> (このときhome.xlsが表示されたまま)
だったらSaveAsではなくSaveCopyAsでCloseは無しだな
Openの方は、
> 「通し番号.xls」が開かれる。
でいいなら、C2の部分と例外処理が取れてない以外は問題無さそうだけど
通し番号.xlsの内容をhome.xlsに反映させたいというのなら話は別だが
というか、こういう場合はデータをExcelブックとして保存するのではなくxmlなどに保存した方がいいと思うけどな
>>88 対象マクロの最後でUserForm1.Show
ユーザーフォームに
Private Sub CommandButton1_Click()
Application.Dialogs(xlDialogSaveWorkbook).Show
End Sub
ただ、単に「はい/いいえ」の入力を求めて、「はい」の場合に保存ダイアログ出すだけなら
わざわざユーザーフォーム使わずに、MsgBox使った方がいいと思うけどな
If MsgBox("ログと 〜 保存しますか?", vbYesNo) = vbYes Then
Application.Dialogs(xlDialogSaveWorkbook).Show
End If
マクロの名前が Save() とか 変数が name とか path とか やめた方がいいよ
ABC DEF GHI JKL MNO PQR TUV WXY って感じの表を作り ABCの縦の列を全て名前→定義で英語1という名前をつけたとします それからデータの入力規則、リストで元の値に =英語1 とします ABCを選択したら別の枠に DEF 、GHIを選択すれば JKL って感じに出力したいのですがどうすればよいのでしょうか?
VLOOKUP
【OSの種類 】 WindowsXP Home SP3 【Excelのバージョン 】 Excel2007 【VBAが使えるか 】 少々 【VBAでの回答の可否】 可 【検索キーワード 】 セルの塗りつぶし エクセル2007でセルを、「塗りつぶし」ボタンの「標準の色」から任意の色(例RGB 255,255,0)に 塗りつぶしました。 一旦ファイルを保存して再度開いた時にこの色が(RGB 255,255,13)のように 微妙に変わる事があります。 ネットで調べてみましたが該当するトラブルは見つけられませんでした。原因や対処法を ご存知の方がいられましたら教えて頂けないでしょうか?
エクセル2003で 突然キーボードの矢印キーがセルの移動ではなくて スクロールさせるキーになってしまったんですが 元に戻すのは何処の設定でしょうか? ヒントだけでも頂けませんか>< よろしくお願いいたします。
>>95 2007で変わったかもしれないが
2003までの仕様では、Excel上ではフルカラー全色が制限無く使えるのではなく
フルカラーの中からパレット上に選択された色しか使えないので、それ以外の色を指定すると
パレット上に存在する近似色に置き換わる
>>96 ScrollLockキーを押せ
アンケート結果のデータをいつも手作業でやっていたので自動で処理させようかと思い順調にできていたのですが思わぬところでつまづきました はい A ああ いいえ C いい いいえ B かか どっちでも B ささ どちらでも B たた はい C なな こんな感じの表を まずいいえ、どちらでも、はいの順番に並び変えて012のアンケートは大きい数字ほど下にしたいのですがどうすればいいのでしょうか? いいえ 1 かか いいえ 2 いい どっちでも 2 ささ どちらでも 2 たた はい 1 ああ はい 3 なな
99 :
95 :2008/09/02(火) 15:21:41
>>97 回答ありがとうございます。
塗りつぶしの色は、パレット上に最初から配置されている色を選んでも時折このような症状が
出ます。
赤や黄色のように前のバージョンのパレットにもある色は大丈夫なようなのですが、
仕様なのでしょうか・・・。
>>98 エスパーですが、
データ(D)→並び替え(S)でA列を昇順、B列も昇順にしたらいいのではないか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 リスト 関数 リストに計と入れ、それを選択すると決められた範囲内の合計が、 決められた場所に表示されるようにしたいです。 できるだけ優しく説明していただければ嬉しいです。 よろしくお願いします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 リスト 関数 リストに計と入れ、それを選択すると決められた範囲内の合計が、 決められた場所に表示されるようにしたいです。 できるだけ優しく説明していただければ嬉しいです。 よろしくお願いします。
連投ごめんなさい
104 :
87 :2008/09/02(火) 22:35:21
>>91 すみません。C2→C1でした。
SaveAsをSaveCopyAsに変えたら思ったとおりの【OpenData】になりました。
ありがとうございました。
ただ、name.xlsを呼び出した後に【Save】すると「..\Data\Data\通し番号.xls」に保存しようとして上手くいきません。
>>92 メソッド名等と被るからでしょうか?
とりあえず、name→FNameとか変更してみました。
105 :
87 :2008/09/02(火) 22:37:04
>>SaveAsをSaveCopyAsに変えたら思ったとおりの【OpenData】になりました。 SaveAsをSaveCopyAsに変えたら思ったとおりの【Save】になりました。 の間違いです。すみません。
セクロスの質問所はここですか?
ちがいます
並び替えってABCやCBAのやり方は知ってるけどBCAの順番に並び替えできる? ABC以外の文字はないです
BCAてどんな基準で並んでるのよww
>>108 ユーザー設定リストを登録して並べ替えオプションでそれを選択
だと思う
ピボットテーブルで、年や月毎にグループ分けする方法は すぐ出るのでわかるのですが 年齢を20代、30代、、、ごとにグループ分けするには どうすればいいんでしょうか? よろしくお願いします。
>38 回答ありがとうございました。
セルA1 B1 にそれぞれ A A A B A C A D B A B B B C B D に文字を入力したらC3に A A あ A B い A C う A D え B A お B B か B C き B D く という文字を表示したいのですがどうしたらいいのでしょうか? A+A=あ
>>113 AA あ
AB い
という一覧表を作って
=VLOOKUP(A1&B1,一覧表,2,FALSE)
一覧表っていう部分だけどそんなやり方でも出来るんですね B1:G9って感じにいつもしてた
私の会社では入社前にクレペリン検査をしてるんだけど検査結果で af って文字を丸で囲ってる記号があるんだけど 私は af と入力しその上に円を書いている 例えば その文字を A1 に書いてるとし A2 に =A1 と書いても反映されず どうするのがベストなのかな?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 行番号 数式 オートフィル あるセルにいれた数式を=A1として、→方向にオートフィルでドラッグしたとき それぞれのセルに入る数式の変化が通常なら=A1、=B1、=C1、=D1となるところを 数式の1の部分だけを+70ずつ増やしていくということはできるでしょうか? セルに入る数式は=A1、=A71、=A141、=A211、という感じです
119 :
名無しさん@そうだ選挙にいこう :2008/09/03(水) 20:00:54
>>113 C1に↓これを入れて下へコピー
=CHAR(CODE(JIS(CHAR(CODE(A1)*4+CODE(B1)-44948)))-256)
↑ これはABが全角用だから、半角の時は 44948 を 148 に汁
xp,2002 複数セルの数式の頭に一気に=を付けたいのですが どのような方法があるでしょうか? 置換ではできませんでした
123 :
名無しさん@そうだ選挙にいこう :2008/09/03(水) 22:51:41
xp2003 マウスポインタと連動して動く、エクセルをみやすくするため?の横棒って どうやって表示するんでしょうか、、、教えてください。。。
ロータス1・2・3の質問スレはここですか?
127 :
sage :2008/09/03(水) 23:55:11
>>77 こんなのはどうでしょう?
A1セルに住所が入力されているとして、
漢字部分
=LEFT(A1,LEN(A1)-LENB(A1)+LENB(ASC(A1)))
数字部分
=RIGHT(A1,LENB(A1)-LENB(ASC(A1)))
※住所中の全角カナは事前に半角カナへ置換しておく
128 :
88 :2008/09/04(木) 03:06:05
>>91 ありがとう。
解決しました。
msgboxの方がよさそうですね。
129 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 04:50:19
厨な質問恐れ入ります。 My親父殿がExcel2000を愛用しているのですが、 ・この使用期限はいつまででしょうか? ・来年前半あたりには2007を買わせたほうが良いのでしょうか?
カメラ機能に限らず写真とかをA1に貼ったとする A2に =A1 にしても画像が表示されないんだが表示する方法はないのでしょうか?
>>130 だからそれがカメラ機能
>>129 使用期限はない
2007は今のところ買わないほうが良い
個人的にはタダでも使わない(他にエクセル・openofficeがない場合の最終手段)
132 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 09:50:11
>>77 >>127 こんなのも有るよ
「エクセル技道場」
ttp://www2.odn.ne.jp/excel/index.html これを改造すれば出来るよ(ちなみに式は配列式だよ)
> 数字+文字列から数字のみを取り出す
> ○数字+文字列から数字のみを取り出す
> =LEFT(A1,LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))
133 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 12:20:23
社長 山田太郎 東京都 副社長 山田花子 東京都 取締役 山田次郎 東京等 ・ ・ ×10000人分 みたいな文字列のエクセルデータを、3列にして 社長 山田太郎 東京都 副社長 山田花子 東京都 取締役 山田次郎 東京等 として、名簿を横に並べて、印刷したいのですが、どうやったら並べ替えて印刷できますのでしょうか。
AC 山田A AB 山田D AA 山田C AC 山田B AA 山田E を、 AC 山田A AC 山田B AA 山田C AB 山田D AA 山田E って感じにしたいのですがどうしたらいいのでしょうか? AC 山田A AB 山田B AA 山田C AC 山田D AA 山田E 自分でいろいろすると上のような感じになってしまいます
AA 山田A AB 山田D AA 山田C AC 山田B AA 山田E こんな感じの表があれば左にAAと書いてる横一列のみ出力べーじに 出力するにはデのでしよえたな、
>>133 汚いけど、A1から社長が始まり、F1に社長、I1に副社長、L1に取締役
だとすると、
F1: =INDIRECT("A"&((ROW()-1)*2+ROW()))
I1: =INDIRECT("A"&((ROW()-1)*2+ROW()+1))
L1: =INDIRECT("A"&((ROW()-1)*2+ROW()+2))
じゃだめかな。もう一ひねりできそうな気がするが。
ちなみに
G1: =INDIRECT("B"&((ROW()-1)*2+ROW())) (山田太郎を表示)
H1: =INDIRECT("C"&((ROW()-1)*2+ROW())) (東京都を表示)
あとは同。
>>134 意味不明だな。
AC 山田A
(略)
AA 山田E
を選択(反転)してデータ、山田A優先で並べ替えとどこが違うの?
>134 二列を選択して並び替えるんだ
138 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 13:43:14
>>136 ありがとうございます。
汚いとはどういう意味でしょうか。
あとそれは、ページ設定→シート→印刷範囲で設定するとそうなるのですか?
それとも他の設定でそのように印刷出来るのでしょうか。
再度質問ですいません。
139 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 13:55:10
>>138 こんなことじゃエクセルは君には無理だ、
入門書を読んでから、またおいで
140 :
136 :2008/09/04(木) 13:58:08
>>138 汚いってのは、自分が書いた数式のことね。
> ページ設定→シート→印刷範囲で設定するとそうなるのですか?
これじゃ無理。
3列に並べた表を新たにつくって、そっちを印刷しろってことさ。
まず、シートに
>>136 で書いた数式入れてみなよ。
話はそれからだ。
これ初心者の質問か迷ったんですけど 表をプリントアウトした場合に 2枚目以降も、1枚ごとに先頭に項目名を表示するにはどういう設定をするのか 教えて下さい!
A1とA2に入力した文字が同じであればA2に 〃 を入力。違うならA2の文字はそのままにする方法ありませんか?
144 :
129 :2008/09/04(木) 15:59:57
>131 >使用期限はない >2007は今のところ買わないほうが良い ご教示ありがとうございました。助かりました。
145 :
141 :2008/09/04(木) 16:37:15
>>143 ありがとうございます!
しかしせっかくですが、自分はエクセル2007なので
ちょっとやり方が違うようでした。。。
同じ項目を探して辿ったのですが
表示された、印刷のタイトル行に入力ができませんでした。
またよろしくです。。
146 :
141 :2008/09/04(木) 16:43:36
突然ですが、自己解決しました!! ありがとうございました。
147 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 17:00:34
>>140 ありがとうございます。
兎に角やってみます!
148 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 18:18:24
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル マクロ シート 文字列 選択 状態 1年1組 1年2組 1年3組 … 1年10組 2年1組 2年2組 等の 複数のシートがあります。 その中で1年という文字列を含むシート全てを選択状態にしたいのですが、 マクロで出来たと思ったのですが、すみませんがコードをお願いできないでしょうか?
149 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 18:31:51
VBAのMod演算子について質問ですが、10.5 Mod 3.5 は何で2になるの? 0になりそうなものだが。
>>149 左の10.5が銀行型丸めで10になり、右の3.5が同じく銀行型丸めで4になる。
すなわち10 Mod 4として計算されるから答えは2で合ってる。
152 :
149 :2008/09/04(木) 18:53:35
>>151 サンクス、そのように計算されるんですか。
だとするとヘルプはちょっとおかしくないですか?
そのように計算されるなら、resultが少数になることはありえないんじゃ???
>>152 ヘルプの間違いは探せばいくらでもある。
あまり鵜呑みにするな。
154 :
149 :2008/09/04(木) 19:06:15
まあresultが小数になることは無いから、resultの少数は切り捨てられるってのは 別に書く必要は無いけど、計算時に > このとき浮動小数点数は整数に丸められます。 と書いてあるんだから、動作としては解説通りで間違ってはいないだろ。
156 :
名無しさん@そうだ選挙にいこう :2008/09/04(木) 19:48:51
A1に AA A2に AB があり B1 DAA B2 DBB と表示させたくて B1に=゙D゙A1 B2に=゙D゙A2 を入力しましたがエラーになりました どうすれば良いのでしょうか?
B1に=゙D゙ & A1 B2に=゙D゙ & A2
A1 B1 にそれぞれ1という文字が入ってるとします =IF(A1+A2,゙good゙,゙bad゙) だとちゃんと動作してくれるのですが 1の代わりに日本語入れると動作してくれないです どこをどうすれば改良してくれるのでしょうか?
ここをこうして改良してみました =IF(A1&A2<>"",゙good゙,゙bad゙)
=IF(A1+A2,゙good゙,゙bad゙)って何を求めているの? 動作してくれたの? 漏れのは無理みたいw
>>155 他
そうなんだよね。悩ましい。
話題からそれるけれど、
ttp://msdn.microsoft.com/ja-jp/library/se0w9esz (VS.80).aspx
VBから操作しようと思ったら、
例題を実行するVBA以下ソースとまったく違うんだ。こまったもんだ。
Sub main()
Dim testResult As Double
testResult = 10 Mod 5
Debug.Print "Ans1:" & testResult
testResult = 10 Mod 3
Debug.Print "Ans2:" & testResult
testResult = 12 Mod 4.3
Debug.Print "Ans3:" & testResult
testResult = 12.6 Mod 5
Debug.Print "Ans4:" & testResult
testResult = 47.9 Mod 9.35
Debug.Print "Ans5:" & testResult
End Sub
俺の場合、VBでもVBAでもVBSでも MODは算術計算というよりほとんど条件分けに使ってるから 全然困らないな 算術計算するときは自分でMod関数作れば良いだけだし
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい(ちょっとだけ) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel コマンドボタン 固定 vbaでコマンドボタンを押す事によりデータ抽出をしているのですが、その過程で 押す前の位置は当然、問題ないんですが押してデータ抽出をすると、行削除をしているからなのかコマンドボタンの位置があらぬ所に変更されてしまいます。 セルK1にコマンドボタンを置くとして、どのようなアクションが起こってもコマンドボタンの位置を固定(K1)にする事などできないでしょうか? よろしくお願いします。
>>164 俺の感覚からいくと、処理のためのシートとデータのシートは一緒にしない。
よくわからないから、マクロ記録してみたよ。
質問不明瞭だけど次のようなコードでいけるんでないの?
ボタンは、B3:C4あたりに配置した。(CommandButton1)
Sub Macro()
Dim cLeft, cTop As Double
ActiveSheet.Shapes("CommandButton1").Select
cLeft = Selection.ShapeRange.Left
cTop = Selection.ShapeRange.Top
Debug.Print "削除前左:" & cLeft
Debug.Print "削除前上:" & cTop
’削除処理とかここだし。
Rows("1:6").Select
Selection.Delete Shift:=xlUp
ActiveSheet.Shapes("CommandButton1").Select
Debug.Print "削除後左:" & Selection.ShapeRange.Left
Debug.Print "削除後上:" & Selection.ShapeRange.Top
Selection.ShapeRange.Left = cLeft
Selection.ShapeRange.Top = cTop
Debug.Print "移動後左:" & Selection.ShapeRange.Left
Debug.Print "移動後上:" & Selection.ShapeRange.Top
End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】パワーポイント 文字数 カウント スレ違いで大変申し訳ありませんが、 パワーポイントのノート画面部分の文字数のみをカウントするマクロって ないでしょうか?PPTファイル内の文字数をカウントするマクロは見つけたのですが。 ご存知の方いらっしゃいましたら、よろしくお願いします。
>>164 プロパティで位置とサイズ固定できなかったっけ?
あれはオートシェイプのみだっけ
169 :
名無しさん@そうだ選挙にいこう :2008/09/05(金) 06:16:24
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A1に「1」と入力すると、C1〜E1までが赤くなる(3マス) A2に「2」と入力すると、D2〜G2までが赤くなる(4マス) A3に「3」と入力すると、C3〜E3までが黄色くなる(色違い) A4に「4」と入力すると、C4〜E4までが赤くなる。&1マスごとに「A」と記入される(文字と色) というのはできますでしょうか? 欲張りすぎていて、難しいでしょうか?ご教授のほどよろしくお願い致します。
>>169 教授じゃないので難しいことは分からん。
・色を変えたいセルに条件付き書式を設定
・文字を表示したいセルはIF文
EXCEL2002、厳密にはスレ違いとわかっていて質問 (Excelで)NumLockで数値を入力していくときに、 = を出すにはどうすれバインダー NumLock状態だと Shift + "‐"では出ないのぜ 毎度解除して = を入力して戻すのは非効率なので なにか方法があるのだとおもうのぜ
>>159 ( ´,_ゝ`)プッ
あんた、足し算の意味もわからないのか?
>168 固定できる。 >171 普通は介助しなくても入力できる。 そういう仕様のノートならメーカーを恨め。
>>173 ためになるコメントありがとう。
リンク先で検索ワードがわかったので窓の杜でも探してみたけど
よくわからなかったのぜ
会社のノートなのでいろいろ入れるのはこわいのぜ
NumLock状態でまわりのキーをShiiftとかでいろいろためしてみたけど
だめだったのぜ、おっけーあきらめた
>>175 ためになるコメントありがとう。不治通め・・・
>>175 >>162 のリンク読んでみると、VBのMod演算子とVBAのMod演算子と仕様が違うらしいから、間違ってVBのヘルプをそのまま載せたんじゃない?
=E2 と入力したセルをコピーしたら値が増えるのをなんとかしたい 上記のセルが複数欲しい時は手動で直すのがかなり面倒 なんとかならない?
フィルコピーなら絶対参照 コピー%ペーストならINDIRECT
>>178 言いたい事は分かるし解決法も分かるが
お前の態度が気に入らない
>>177 そうでもないみたい。
解説がいまいちなのは確かだね。
すみません 月 日 時 分 A1 A2 A3 A4 B1 8 1 7 52 これを一つのセルに1:7:52(月は必要なし)という感じに抜き出して日付にしたいのですが ググってもわからなかったのでここで・・・。 分かる人がいましたらお願いします・・・
>>182 行列逆にするなよ気色悪いな
=A2+TIME(A3,A4,0)
書式設定は
d:h:mm
だが変わった記述だな
>>184 ありがとうございます!行と列は普通に書き間違えました・・。
ゆくゆくはこの形式から例えば
1日10時10分が
1日7時52分〜2日3時25分の間なら正、じゃなければ負といったように
時間で範囲指定をするつもりです。問題がなければ・・・
【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 若干 【4 VBAでの回答の可否】 可 教えてください。 20080101 20081005 といったデータ(値)を 2008/1/1 2008/10/5 として表示形式で好きな表示に変える、ということがしたかったのですが、 煮詰まってしまいました。 yyyymmddという形式は決まっているので、ためしに CONCATENATE(LEFT(A1,4),C1,MID(A1,5,2),C1,RIGHT(A1,2)) (A1="20081010"、C1="/" ) として見かけ上2008/10/10 となっても表示形式で(例えば)10月10日 とはなってくれませんでした。 一連のVBAでの中でつかうので出来ればVBAで解決したいと思っております。 なんかすごく簡単に出来そうなのに出来なくて混乱しております。 なにとぞご教示お願いします。
=year(right(a1,4),mid(a1,5,2),right(a1,2))
=date(right(a1,4),mid(a1,5,2),right(a1,2))
Google DocumentのスプレッドシートにDCount()がなくて対処法を知りたいんですが、 どこで質問したらいいでしょう?
190 :
186 :2008/09/05(金) 22:29:49
>>187 >>188 早速のレスありがとうございました。
残念ながら
>>187 は私の理解の範疇を超えてしまいましたが、
>>188 は西暦を取得する部分をleftに変えたら、希望通りの
振る舞いをしてくれました!
本当にありがとうございました。
笑w
助けてくださいorz セルに「AB CD 」と、BとCの間にスペース、そしてDの後ろにスペースが 入ってます。 TRIM関数を使うとDの後ろのスペースは取ることができますが BとCの間のスペースは残ります。 このBとCの間のスペースを無くす方法ありませんでしょうか? よろしくおながいします。
置換したら?
スペースを何に置き換えするんですか?orz
195 :
189 :2008/09/05(金) 23:02:37
1〜10みたいな範囲で件数を拾いたかったんですが、 関数の組み合わせでできました。 1条件しか指定できないcountif()とfilter()で2条件のand検索できました。 =countif(filter('シート1'!C:C,A3<='シート1'!C:C),"<" & C3)
以下のような、toggleプロシージャを作りたいと思っています。 Sub toggle(ByRef obj As Variant, ByVal propertyName$) obj.propertyName = Not obj.PropertyName End Sub 具体的に、どういうものであるかというと、 今、objというオブジェクトにboolというプロパティが存在し、 その値がTrueであるとします。 それを踏まえ、toggle(obj,"bool")という引数で、toggleプロシージャを 呼び出すと、obj.boolの値がTrueからFalseとなる、というものです。 そこで、質問なのですが、”.”を使わずにプロパティを参照するには どのようにすればいいのでしょうか。 たとえば、Javascriptだとobj[propertyName]でプロパティ参照できるのですが、 VBAには類似の呼び出し方法は存在しているのでしょうか。
198 :
197 :2008/09/06(土) 10:57:58
すみません。解決いたしました。 CallByNameをつかうとできるそうです。
>>194 検索にスペースを指定
痴漢を空白にして置換プッシュ
スペースはエーテルで満たされておるのじゃよ。 虚無に置き換えるなんぞとんでもない。
201 :
分かりません…… :2008/09/06(土) 20:46:35
32500を3万2500円と表示するにはどうすればよろしいでしょうか……。
202 :
201 :2008/09/06(土) 21:03:09
自己解決しました。
203 :
名無しさん@そうだ選挙にいこう :2008/09/06(土) 23:15:11
会社で人事の仕事してるのだが、最近は人事移動と同じ日に 限って退職者がいたりして自分で、作ってる入力支援フォーマットが使いにくいので 少し改良しようかと思うのだが自分の力では、限界なので皆さんの力を貸してほしい 例えば、50人異動で1人だけ退職の場合などが対応してないので対応させたい 異動・入社・退職って感じのをクリックで選択できるようにしてたが 大まかな異動・入社・退職をクリックで選択(例として異動)したとする xxooは退職にさせたいのでクリックで変更したいのだがやり方がいまいちわからない 部長 丸山昭雄(仮) 社員番号xxxxxxx 異動 社員 xxoo 社員番号xxxxxxx 異動 バイト abcdef 社員番号xxxxxxx 異動 パート hooooo 社員番号xxxxxxx 異動 なんか説明がおかしくなってきたorz
エスパー
205 :
名無しさん@そうだ選挙にいこう :2008/09/07(日) 01:40:20
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 印刷 日にち 残したい場合 関数now 技 2002 会社のエクセルのセルに「=now()」(だったか「TODAY」だったか、)といれて印刷します。 「9月7日」と印刷されますが、 このシートを次の日に開くと「9月8日」と印刷されます。 これをやめさせる方法を教えてください。 印刷した日付を、記録しておきたいのです。 具体的に言うと、ブックの中にシートが10枚あり、 全てのシートのA1に「=now()」が入っています。 シートの1枚目から10枚目まで、毎月別々の日に印刷します。 3ヵ月後くらいに、あれは何日に印刷したか確認したいのですが、 開くと日付が開いた日になってしまうのです。 印刷日を変更したくないのですが、そのような関数があれば教えてください。
>>205 マクロ(VBA)使わないと無理。
VBA不可なら手動で印刷した日の日時を入力しておくしかない。
>>203 そういうのはよくある。やり方は色々あるけど
一例としては一人ずつ個別に「異動」「入社」「退職」を選択するラジオボタンと
「すべて異動」「すべて入社」「すべて退職」を設定するボタンを付ける。
208 :
205 :2008/09/07(日) 02:21:26
>>206 (lll´Д`)ヒイイィ!マクロって物理くらいわからん罠。
VBAの修行して行き詰ったらまた来ますw
レスアリがd
>>208 =new()を使わずに
Ctrl+*とかで日付とか時刻入力すればいい。
手間はかかるが。
210 :
名無しさん@そうだ選挙にいこう :2008/09/07(日) 06:19:26
gの列の縦にいくつかの、プルダウンメニューがあって a b c って項目があったとします 全てaにする 全てbにする 全てcにする っていう感じに プルダウンメニューで、選択できるようにしたいのですが 一括でするには、どうすればいいのでしょうか?
211 :
名無しさん@そうだ選挙にいこう :2008/09/07(日) 06:24:39
ちょっと質問です。 プルダウンメニューで 計算する 計算しない が(D7)選択できるとします =IF("計算する"=D7,1+2=,"計算しません") こんな感じにしています。 なぜか強制終了くらいますorz どこがおかしいのでしょうか?
=IF(D7="計算する",3,"計算しません") 計算式が1+2って決まっているんならそれくらい先に計算し(ry
とりあえず「1+2=」という書き方はおかしいな。「1+2」にしないと
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 出納張を作っています。日付順に記入している支出・収入の項目を別シートで 分類別に内訳を作りたいのですが、どうすればいいのかアドバイス願います。 sheet1 日付 摘要 分類 支出 2008/9/1 キャベツ 野菜 200 2008/9/2 梨 果物 300 2008/9/2 チョコ お菓子 100 2008/9/3 にんじん 野菜 100 2008/9/3 リンゴ 果物 200 2008/9/4 ポテチ お菓子 150 これを、sheet 2 で以下のように自動的に表示するようにしたいです。 分類 日付 摘要 支出 野菜 2008/9/1 キャベツ 200 野菜 2008/9/3 にんじん 100 野菜支出 計 300 果物 2008/9/2 梨 300 果物 2008/9/3 リンゴ 200 果物支出 計 500
>>215 自分でデータ>並び替え、や、集計などをせずに、
sheet1で入力したデータを別のsheetで並び替えと集計を同時に作成されるようにしたいのですが
それは可能ですか?
sheet1の日付順一覧と、sheet2の分類別一覧それぞれ必要なのですが、
sheet1の項目を埋めたら、sheet2に214のような分類別内訳も作成され、後は印刷すれば
全部出てくる。という形にしたいです。
実際に出納帳に記入していくのはエクセルをあまり知らない人なので、その都度並び替えや
集計など、エクセルの機能を使わせるのは難しく、また色々いじって滅茶苦茶になったりしそうなので、
入力と印刷だけすれば良いというフォームが理想です。
ピボット厨から勝ち誇ったようなアドバイスがあると思います。
ありがとうございます。ピボットを調べてみましたが、ピボットの更新をしないと 入力した数値の更新が出来ないみたいなので、自分の狙いとは合いませんでした。 sheetを分けずに、日付順で並んだ項目を分類のA→Z並び替えをして 分類別に表示させ、印刷する、という方法でやってみることにします。
プルダウンメニューを使ってB2:B100にあるプルダウンメニューを全て同じ値を指定するにはどうすればいいのですか?
範囲選択してctrl+enterジャ無理か
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ダイエットで体重管理をしたいのですが、1日に不定の複数回、時刻もバラバラで体重を量って記録し グラフ化したいのですが、9/7 6:40 9/7 21:00 9/8 12:00・・・みたいに記述した場合 それぞれが1単位?として等間隔のグラフになるか、データーを表示設定で日付や時刻とすると 日付が単位で同日の複数のデーターは縦に並ぶだけのグラフにしかならないようです。 うまく日付間の該当する時刻にプロットされたグラフを作るにはどうしたらいいのでしょう?
散布図かな
あ、グラフは折れ線グラフでやりました
>>221 欲しい情報の間隔に合わせて空データを挿入する。
>>222 今、散布図でやって見ました。それっぽいのですがX軸の単位がかなりややこしい状態になりますね。
簡単に日付単位ってわけにはいかなそうです。
>>224 1時間毎とか10分毎に空データを入れるってことですか?う〜ん・・・
226 :
221 :2008/09/08(月) 00:33:30
ヒントをもらえましたので、もう少し調べればできそうです。ありがとうございました。
ちょっと質問 このスレ読んでたらプルダウンメニューっていうのを知った A B C のメニューを選択出来る状態で T1 のセルにA と記入してたら標準でプルダウンメニューをAを選択した状態にしたい どうすればよいですか?
>>227 >>1 に書かれている必須情報を書いた上で、日本語で質問すると良いと思うよ。
>>229 2007ならフィールドの適当なとこで右クリックして「グループ化」選べば
グループ化の単位を指定できるよ。他は今わからんけど
>>230 ありがとうございます。2007です。
それをしてみたのですが
秒・分・時〜年までのグループ化の項目はあるのですが
20代、30代、という区切りらしきものが見当たらないんです。
┐(´ー`)┌
>>231 それは元のデータが日付のデータになってんじゃないの?
年齢を表す数値型のフィールド作ればいけるんじゃないかな?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 野崎コンビーフ エクセルファイルA,Bがあります。 Aは編集用ファイルです。 Aに内容を書き込み、保存を行うと マクロがその内容をB書き込みます。 このような機能を実装したいのですが、 beforesaveを使うと、マクロの処理と 標準の処理が二つ動いてウザいです。 どうすればスマートに保存できるでしょうか。
235 :
名無しさん@そうだ選挙にいこう :2008/09/08(月) 17:46:17
セルに数値入力する際に「〇〇-」といれても「-〇〇」と認識できるようにできませんか?教えてください
初歩的な質問で申し訳ないですが… 【1 OSの種類 .】 Windows Vista Home Premium 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 アウトライン 上 excel セルの行をアウトラインでグループ化するときに │ - │ - │ - └ + こうなるのですが、 ┌ + │ - │ - │ - こうすることはできないのでしょうか?
【1 OSの種類 .】 MAC 【2 Excelのバージョン 】 Excel2004 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード 文字を画像に置換することは加納でしょうか。
240 :
名無しさん@そうだ選挙にいこう :2008/09/08(月) 20:51:53
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい(初心者) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル マクロ オートフィルタ 高速 データがA列からAQ列、3000行くらいのデータがあって毎日追記しています。 この中から、B列にある今日の日付とAQ列に書いた記号を抽出しています。 オートフィルタを掛けて抽出するまでに10秒以上、オートフィルタを解除するのも 同じくらい時間が掛かってます。 これをマクロで抽出して高速化できないでしょうか?
再計算なしにすると速い
Excel立ち上げ直後から、入力モードが 「ひらがな」になるように設定できますか
携帯から暇つぶしに遡ります。
マルチ等に回答してしまってたらご勘弁
>>242 VBAで可能
>>240 たかが3000行に時間かかるのは???
別の視点からも考えてみましたか?
→他のパソコンで動かすとどうか?(使ってるパソコンのスペック不足)
→リスト内に重い数式がある(数式部分をマクロ化)
>>237 文面だけ読んで回答すれば「可能」。
エスパー能力あまりないからな・・・
>>235 数式と作業列使っていいなら
入力セルがA列だとしたら
B1セル
=IF(ISERROR(FIND("-",A1)),A1,1*("-"&LEFT(A1,FIND("-",A1)-1)))
250 :
240 :2008/09/09(火) 00:06:39
>>244 やっぱり変ですよね?
ファイルは会社にあるので検証できないですが、先ほど50列3000行のデータを作って
マクロ化してみたら、ほぼ瞬時に動作します。
明日、また会社で検証してみます。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 はい(初心者)
【4 VBAでの回答の可否】 簡単なら可
【5 検索キーワード 】 Webクエリ
Webクエリを使用して、みずほ銀行の宝くじ当選番号案内から
当選番号のテーブルデータを取得しようと思ったのですが、
選択したいテーブルが、サイト全体しか選択できないため
「取り込み」を押しても全てのソースを取得してしまいます。
必要なテーブルデータだけの取得はできないでしょうか?
参考URL
ttp://www.takarakuji.mizuhobank.co.jp/miniloto/lt6-h2008.html
252 :
245 :2008/09/09(火) 00:22:45
>>251 一応htmlのソースも見ましたが
リンク先がデータテーブルの体をなしてなさそうに見えますが。
→全部「コピペ(テキスト貼り付け)」してから
エクセルで編集が早そうに感じます
>>242 エクセルが最初に読み込むテンプレファイル、あれの全セルに入力規則をかければいけると思う
手元にエクセルないから試せないけど
プルダウンメニューの既定値をA1に 入力した文字によって変更する事は可能でしょうか?
>>255 可能です
君が最低限必要なこと(
>>1 ★4)を伏せてるので
こちらも具体的なやり方の説明は伏せますね
256さん すいません 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】プルダウンメニュー 値 変化
258 :
名無しさん@そうだ選挙にいこう :2008/09/09(火) 11:16:14
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】Excel 同じ値 既出だとは思うのですが、中々見つからないので… Sheet1 と Sheet2 で以下のようなデータがあったとします。 【Sheet1】 【Sheet2】 A A 1 10 | 20 2 20 | 50 3 30 | 4 40 | 5 50 | : このSheet2をSheet1に合わせる時に、値の横に同じ値を持ってきたいのです。 図にするとこんな感じ 【Sheet1】 A B 1 10 | 2 20 | 20 3 30 | 4 40 | 5 50 | 50 : 文面でなんて説明したらいいかもわからず、図での説明になってしまいましたが、 どなたかアドバイスを願いします。
259 :
名無しさん@そうだ選挙にいこう :2008/09/09(火) 11:21:52
>>258 なぜ20と50なのか教えてくれ
条件は何なんだ?
260 :
258 :2008/09/09(火) 11:32:47
言葉足らずですみません。 20と50は特に意味はないです。 要は Sheet1の値をみて、Sheet2の値がイコールならば、その横のセルにもってくる… ということをやりたいのですが… そのことによって比較を行いたいのです。
261 :
名無しさん@そうだ選挙にいこう :2008/09/09(火) 11:53:28
>>258 =IF(Sheet1!A1 = $B$1,$B$1,IF(Sheet1!A1 = $B$2,$B$2,""))
これをSheet2のA1に張り付けて下にオートフィルしたあと
Sheet2のB1とB2にその横まで持ってきたい値を入れてくれ
2002なら64ネスト?だっけ?いけるだろ。
う〜ん、非効率な気がするが・・・こんな?
countifで同じ値見つかったら隣のセルの値表示すればいいんじゃねーの? sheet1のB1に =(COUNTIF(Sheet2!$A$1:$A$100,A1)>0)*A1 みたいな感じで
263 :
名無しさん@そうだ選挙にいこう :2008/09/09(火) 12:48:51
>>249 できました。親切にありがとうございました。また分からない事があればよろしくお願いします。
264 :
名無しさん@そうだ選挙にいこう :2008/09/09(火) 13:05:49
>>233 ありがとうございます。
その通りのようでした。
よく知ってますね、感心どす。助かりました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】エクセル 関数 A1に A B C のいずれかが入力されるとします Aを入力すると A2 に =B2 を入力 Bを入力すると A2 に =B3 を入力 Cを入力すると A2 に =B4 を入力 って感じにしたいのですがどうすればいいのかわかりません どなたかわかる方が居ましたら教えて下さい
>>265 入力、じゃなくて参照でいいよな?
=INDIRECT("B"&IF(A1="A",2,"")&IF(A1="B",3,"")&IF(A1="C",4,""))
267 :
258 :2008/09/09(火) 16:46:36
>>261 >>262 ご教授ありがとうございます!!
アドバイスを頂いて、作ることができました!
ありがとうございます!
268 :
名無しさん@そうだ選挙にいこう :2008/09/09(火) 16:59:21
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセルってさ(2007で確認) 列幅とか変えた時にさ(VBA側で) 勝手にActiveXコントロールのサイズ変えるよね?(再現性微妙) それとも印刷タイトルに含まれているのが原因なのか?(やっぱりVBA側で) バグ? F8で確認してみたら縦と横のサイズをどちらか変更したら もう片っぽがイカれるみたいなんだけど 変更しなくてもイカれるしなぁ(列幅変えたりとかしたら) オブジェクトのプロパティって意味あんのかよ? チェック入れてもかわんねーっつうのwww
日本語でおk
「勘違いされた、勘違いされた」が合い言葉のwww 創価学会員が通り魔から子供を守るパトロールだといって集団でうろついてるんですが 創価学会員がいつ通り魔に変身しないかとかえって怖いんですけどwww なんでも通行人をつかまえての誹謗中傷行為や人権侵害行為も 生活安全課の創価警官の●お願い●でやってあげてるんだとか言ってますけどwwwww 熊本隆談www
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 セル内にhtmlタグ(たとえば<img src="〜"/>)を入力すると タグの文字列ではなく、画像が表示されてしまいます。 htmlタグをそのまま入力する方法はありませんでしょうか? セルの書式で文字列としても、画像が表示されてしまいます。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 エクセルのVBAを利用して外部のアプリケーションへ コピペを行いたいのです VBAでエクセルのデータをコピーし既に開いている 外部アプリケーションのファイル(オフコン)へ画面を切り替えし、 データ貼り付けし、またエクセルへ戻るイメージです 切り替え後はsendkeysでうまくいきそうなのですが、 なにか切り替え方法はありませんか?
>>271 文字の前に'を打ち込んでは?
(shift+7キー)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 部署A 永谷公平 コードA 部署A 鈴木一郎 コードB 部署B 佐藤二朗 コードA 部署B 飯島三郎 コードB 部署C 谷川陽水 コードA 部署C 伊藤庸介 コードB というデータがあるとします 部署がAでコードがAの場合にはABCと表示 部署がAでコードがBの場合にはDEFと表示 部署がBでコードがAの場合にはGHIと表示 部署がBでコードがBの場合にはJKLと表示 って感じにしたいのですがどの関数を使うのがいいのかわかりませんでした どなたかお手数ですがご教授の方よろしくお願いします
275 :
名無しさん@そうだ選挙にいこう :2008/09/09(火) 23:40:25
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】エクセル 関数 文字列 式を教えてください。 A列には文章が入っています。 B列には文章に含まれる単語、C列にはコード番号が入っています。 それぞれ数百〜数千行になります。 A列にはB列の単語のいずれかが含まれる場合には、 単語に対応するC列のコードをD列に表示させたいのですが、 どのような式がよいでしょうか。 VLOOLUPやFINDなどを組み合わせてみても上手くいきません。 お手数ですが、どなたか至急お教え願えますでしょうか。
またマルチか
277 :
名無しさん@そうだ選挙にいこう :2008/09/10(水) 07:28:58
すみません ほかのスレでも質問しましたがとにかく急いでいるのでお願いします
単語がひとつならできるわけ? それでできるならB列ぼ単語をいろんな列に分割しなされ 頭が悪いならその分手を動かしなよ
EXCELを使ってメールを送信することってできますか。 期限管理表を作ってて、期限の7日前になったら各担当者に 注意喚起のメールを送信するような仕組みを作りたいのですが。
266のは B2 B3 B4 の値を読み込んでるけど B2 C2 D2 の値を読み込みならどうしたらいいの?
>>275 失敗した式を書いてみたら、修正してもらえるかも
283 :
名無しさん@そうだ選挙にいこう :2008/09/10(水) 09:23:37
>>274 作業テーブルが必要になるけど
別シートにこれ作って(Sheet2扱いで)
A列 B列 C列 D列
部署A 部署B 部署C
コードA 1010 1101 1000
コードB 1100 1001 1111
>というデータがるとします
ABC列までしか使っていなくてD列に表示すんなら
↓作業テーブルのデータ範囲
=VLOOKUP($C1,Sheet2!$A$1:$D$3,MATCH($A1,Sheet2!$A$1:$D$1),FALSE)
↑テーブルのある別シート
くわしくはヘルプで
あと下にオートフィルで。
部署が増えたりコードが増えたりしたらSheet2!のあとがテーブルだから
そこ変えて対応できるでしょ。
空白があるとか糞みたいなことぬかしたらIFERRORでなんとか
284 :
283 :2008/09/10(水) 09:25:51
Excelからコピったらぐちゃぐちゃになってるw ひでぇw
A1に文字が入力してあるとする A2に文字が入力された場合はA2の文字をB2に A2に文字が入力されてない場合はA1の文字をB2に 入力する方法ありませんか?
>>286 =if(isblank(a2),a1,a2)ってことかな?
288 :
283 :2008/09/10(水) 11:45:00
>>286 B2セルに
=IF(A1 = "","",IF(A2 = "",A1,A2))
あとは応用だ。というか入力?VBAつかわないとちょっと・・・
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Me.Range("A1").Value <> "" Then
Me.Range("B2").Value = Me.Range("A1").Value
If Me.Range("A2").Value <> "" Then
Me.Range("B2").Value = Me.Range("A2").Value
End If
End If
Application.EnableEvents = True
End Sub
だろうか?
プルダウンメニューに 項目A 項目F 項目Iという項目があるとします A1にAと入力すると 項目Aを選択 A1にFと入力すると 項目Fを選択 A1にIと入力すると 項目Iを選択 するようにしたいのですがいまいち上手いこといきません どなたか教えて下さい
>>289 vbaで出来る
が、別に表作ってvlookup使うのが普通
そもそも自動的に変わるならプルダウンの意味なくね
291 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 00:50:05
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 関数で 【5 検索キーワード 】 何ヶ月たったか エクセル 経過 A1にある日付 例) 2006/5/21 (完全に固定です) B1に =TODAY() のときC1にA1の日から現在まで何ヶ月経過したか?を表示したいです。日は切り捨てで月のみ 上記の例だと 2年と4ヶ月で C1は「28」と表示されるようにしたいです。
292 :
291 :2008/09/11(木) 01:01:01
急かしているわけではないのですが、
>>236 どなたか分かるようでしたらお願いします。
3列1000行ほどあるデータ群から値が最大の行番号を知り、 その行番号の残りの2列の値を表示したいのですがどうすればいいでしょうか? =ROW(MAX(A1:A65535))で最大値の行番号取得できそうな気はしたのですがエラーが出ました
>>294 D列にRANK関数で式を入れた後、1をオートフィルタとか
オートフィルタでトップテンの後見比べるか
後者はもちょっとスマートな方法がありそうだけどね
シートAに社員の社員番号とかが入力されてるとします シートBにシートAのセルD10〜D800の社員情報に JPDJ と文字が含まれてる場合のみシートBに書き込みしたいのですがどうすればよろしいのでしょうか?
297 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 09:55:45
>>294 =INDEX(B:B,MATCH(MAX(A:A),A:A,FALSE))
A列の最大値の隣にあるB列の値
=INDEX(C:C,MATCH(MAX(A:A),A:A,FALSE))
A列の最大値の2つとなりのC列の値
>>297 おおお、まさしくそれです。できました。ありがとうございます!
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 例えば 別のシートから =TEST!D5 =TEST!D6 =TEST!D7 というような感じに呼び出してるとします TESTシートのCの列に〇か×が書いているとします TESTシートの C5が〇の場合は=TEST!D5を出力する C6が×の場合は=TEST!D6を出力しない C7が〇の場合は=TEST!D7を出力する ってしたいのですが出来ますか?
途中で書き込んでしまいました ×の場合は行が開く方法なら関数のIFを使えば出来ましたが 行を開かないように出来ないのでしょうか?
301 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 11:26:29
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 できれば否 "001、002、003"と3つのエクセルのファイル(以下データファイル)があり 上記の3つのファイルのデータを、"005"というファイル(以下集計ファイル)で集計したいのですが この場合、データファイルを開いていないと集計ファイル側のデータは更新されないのですか? 各データファイルは毎日更新されるものなので、集計ファイルにシート移動してまとめるのが手間なんです。 何かいい手はありませんでしょうか?
302 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 12:04:40
>>299 =IF(TEST!C5 = "○",TEST!D5,"")
IFぐらいは勉強しようか
303 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 12:06:26
>>299 行を開かないってことは非表示にしたいという事かな?
じゃあVBAのほうがらくじゃね?
304 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 12:28:12
>>299 Private Sub Worksheet_Activate()
Dim lngRow As Long
Dim lngCount As Long
lngRow = ThisWorkbook.Worksheets("TEST").Range("C5").End(Direction:=xlDown).Row
For lngCount = 5 To lngRow
If Me.Range("A" & lngCount).Value = "" Then
Me.Rows(lngCount & ":" & lngCount).EntireRow.Hidden = True
Else
Me.Rows(lngCount & ":" & lngCount).EntireRow.Hidden = False
End If
Next
End Sub
305 :
304 :2008/09/11(木) 13:52:11
別シートのA列5行目から
=IF(TEST!$C5 = "○",TEST!$D5,"") を下にオートフィルして
別シートのVBAに
>>304 貼り付けたら動くよね?
2007環境しかないんで2000環境だと実証できんからあとがんば
306 :
304 :2008/09/11(木) 13:57:47
ワオ 2007ジャン
C20:C500 まで入力した4種類の文字なのですが その文字毎にページをわけるにはどうすればいいのでしょうか?
308 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 15:00:38
VBAでもいいので教えて下さい
310 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 15:26:06
いやだ
311 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 16:22:59
>>307 もうちょっと詳細希望
4種類の文字は変わらないのか?
シートに表示するのはどんなかんじ?
文字毎で4シート作成するの?それとも値を写すだけ?
環境ぐらい書け
312 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 17:21:58
>>307 前準備
最低でもC20のセルに値があること
5シート(データのあるシートとデータを移すシート)用意すること
元シート以外のシートの名前を4種類の文字に設定しておく
以上
2回に分けるぉ
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws1_Name As String
Dim ws2_Name As String
Dim ws3_Name As String
Dim ws4_Name As String
Dim ws1_Cnt As Double
Dim ws2_Cnt As Double
Dim ws3_Cnt As Double
Dim ws4_Cnt As Double
Dim End_Row As Double
Dim Cnt_Row As Double
ws1_Name = Sheet2.Name
ws2_Name = Sheet3.Name
ws3_Name = Sheet4.Name
ws4_Name = Sheet5.Name
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
313 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 17:23:24
>>312 続き
If Not IsNull(Me.Range("C20")) Then
End_Row = Me.Range("C20").End(xlDown).Row
Else
End_Row = 20
End If
For Cnt_Row = 20 To End_Row
Select Case Me.Range("C" & Cnt_Row).Value
Case ws1_Name:
ws1_Cnt = ws1_Cnt + 1
ThisWorkbook.Worksheets(ws1_Name).Range("A" & ws1_Cnt).Value = Me.Range("C" & Cnt_Row).Value
Case ws2_Name:
ws2_Cnt = ws2_Cnt + 1
ThisWorkbook.Worksheets(ws2_Name).Range("A" & ws2_Cnt).Value = Me.Range("C" & Cnt_Row).Value
Case ws3_Name:
ws3_Cnt = ws3_Cnt + 1
ThisWorkbook.Worksheets(ws3_Name).Range("A" & ws3_Cnt).Value = Me.Range("C" & Cnt_Row).Value
Case ws4_Name:
ws4_Cnt = ws4_Cnt + 1
ThisWorkbook.Worksheets(ws4_Name).Range("A" & ws4_Cnt).Value = Me.Range("C" & Cnt_Row).Value
End Select
Next
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
314 :
312.313 :2008/09/11(木) 17:28:43
>>309 欠点は空白を識別できないのと元シートになにか入力しないとマクロ起動しない点
あとシートは適当にぽこぽこ増やした方を使ってくれよ。元シート=データのあるシートで
Sheet1のVBAに追加すりゃあ他のシートのA列に表示してくれるはずだ
315 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 18:40:11
OS XP EXCEL2003 です エクセルを開いた時に画面一杯(最大)に表示させたいのですが、画面半分くらいの大きさでしか開きません 最大化させてから、閉じたりしたのですが、やはり画面半分の大きさです 最近になって、エクセルを閉じた時に必ずエラーが出るようにもなったので、この現象が影響を与えているのでしょうか? いろんなサイトをぐぐってみましたがわからなかったので質問させてもらいました よろしくおねがいします
316 :
名無しさん@そうだ選挙にいこう :2008/09/11(木) 21:21:10
【1 OSの種類 .】 WindowsxpHESP2 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 ? 【5 検索キーワード 】? 質問です。 Excel2000を使用しています。 エクセルのシートに、jpg画像を貼り付けたいのですが、 ファイルを開いて貼り付けようとすると、文字化けします。 ヤフーで検索したら、なにやらソフトを買わないと?貼り付け できないみたいなのですが、別途ソフトなどを購入しないと いけないのでしょうか?
317 :
316 :2008/09/11(木) 21:42:28
【5 検索キーワード 】Excel jpg 貼り付け 失礼しました。
んなこたーない。 挿入→図→ファイルから→好きなjpg選ぶ
319 :
316 :2008/09/11(木) 21:46:49
ありがとうございます。 今、やってみたら、できました!
320 :
61 :2008/09/12(金) 03:30:05
【1 OSの種類 .】 WindowsxpSP3 【2 Excelのバージョン 】 Excel2003 海外からもらったファイルに ctrl+Pgup → 左スクロール ctrl+Pgdn → 右スクロール こんな動作をするものがあります。どんな仕掛け?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 文字 挿入 関数 特定文字 など・・・ 色々自分なりに検索してみたのですが、わからなかったので質問させてください。 7ケタの数字(0112233)が1列に数万行あり、まず最初に先頭の文字だけをすべて削除。 次に、2文字ごとにハイフンをいれたいのです。 最終的に、11-22-33としたいわけです。 これを効果的に行うためにどうすればいいのか、ご教授お願いしたいです。 よろしくお願いします。
322 :
名無しさん@そうだ選挙にいこう :2008/09/12(金) 12:03:05
またプロバイダ規制されたので代理頼んでます。 お礼には来れないですがお願いします;; マクロで.logという拡張子でファイルを保存するにはどうすればいいでしょうか。 ダイアログを出さずに処理したくてマクロを書いています。 ダイアログでなら、拡張子まで含めて書けばできますが、それをマクロ記録しても できませんでした。 ActiveWorkbook.SaveAs Filename:="data.log", FileFormat:=xlText, _ CreateBackup:=False としましたが、data.log.txtになってしまいます。
>>321 =TEXT(RIGHT(A1,6),"??-??-??")
あ、02とかゼロが空白になるな。
>>321 =TEXT(RIGHT(A1,6),"00-00-00")
>>322 リネームすれば。
326 :
321 :2008/09/12(金) 13:37:52
327 :
名無しさん@そうだ選挙にいこう :2008/09/12(金) 23:27:39
>>327 Ctrl押しながら最大化を押してみて。
329 :
名無しさん@そうだ選挙にいこう :2008/09/13(土) 12:12:17
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 近似直線 数値 データの近似直線および近似曲線を描いて その式を表示させるのはできるのですが、 式の係数をセルに自動でもっていきたいんですけど方法はありますでしょうか? たとえばy=2x+3という近似直線であればA1セルに傾き2を B1セルに切片3をもっていきたいです。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 比較 時間 条件付き書式 if 帯グラフ 下記のようなデータが100シート、1シートにつき100件程あるのですが D E '2008-07-01 11:20:00.0 '2008-07-01 11:40:00.0 '2008-07-01 11:00:00.0 '2008-07-01 12:00:00.0 '2008-07-01 13:50:00.0 '2008-07-01 14:10:00.0 '2008-07-01 09:00:00.0 '2008-07-01 10:30:00.0 1_09:00___________10:00_____________11:00___________12:00___________13:00___________14:00 15:00~21:00 2_____________________________________________■■ 3_______________________________________■■■■■■ 4__________________________________________________________________________________________■■ 5_■■■■■■■■■ DからEまでの時間を10分刻みで帯グラフのよう(上記の様)にセルを塗りつぶしたいのですが どのような式を作ればよいでしょうか。 G1 =HOUR($D1):MINUTE($D1)>=9:00<=HOUR($E1):MINUTE($E1) H1 =HOUR($D1):MINUTE($D1)>=9:10<=HOUR($E1):MINUTE($E1) を条件付き書式に入力してみたのですが、うまくDEセルからデータを読んでもらえず オートフィルは10分刻みで時間を増やしてくれるわけもなく詰まってしまいました。 解決案を提示していただけたらと思います。 よろしくお願いします。
>>329 LINESTという関数で求めることができる。
Excelの近似曲線も実際にはLINESTで係数を求めてからグラフを表示するという処理を内部で行っている。
例えばA1:B10のデータを使って散布図と近似曲線を描いた場合、傾きは=LINEST(B1:B10,A1:A10)で
求められる。あとはぐぐれ。
>>330 まずは作業列を作って、日時のデータを文字列からシリアル値に変換だな
>332 F3 =TEXT(D3,"hh:mm:ss") G3 =TEXT(E3,"hh:mm:ss") H3 =TIMEVALUE(F3) I3 =TIMEVALUE(G3) でシリアル値に変換して J3以降を条件付書式で J3 =$H$3>=K1<=$I$3 J4 =$H$3>=L1<=$I$3 . . . k1から先を9:00:00~(シリアル値での入力) にしたのですが、うまくいかないです。 これはどこが駄目なんでしょうか・・・
2007で、終了時にいろいろ小細工するマクロを作ったのですが 一度子画面を終了させ、もう一度親画面で子画面を開くとマクロが 動いてくれません。なんかマクロ有効なのに無視されます。 何言ってんのかわかんねぇという方の為に説明しますと Excelを開くと、「Book1.xls - Microsoft Excel」とか出てきますよね。 その状態で”適当.xls”とか開くとBook1が引っ込んでこっちがが前面にでてきますよね。 まぁ図にすると ↓子画面 親画面┬ Book1.xls └(適当.xls) みたいな感じになってるわけですが、呼び方がわからんので便宜上 これらを親画面、子画面と呼ばせて頂きます。 で、話を戻すと、一度親画面Aで"マクロ.xls"を実行し、子画面だけを閉じ もう一度親画面Aで開き直すとマクロが無視されます。 新たに立ち上げた親画面では動きます。しかし、Aと同様に一度閉じて開き直すと やはりマクロが無視されます。 これは自分の作ったマクロがおかしいのでしょうか? もしそうなら何を弄ってしまうとこうなり、どうすれば子画面を閉じて開いてを 繰り返してもマクロが有効になるようにできるのでしょうか。
>>334 2007ではブックを開いた時にプロセスが勝手に増えたり減ったりするんで、そのあたりの制御はけっこう面倒だった気が。
ごめん。解決策は俺にもわからん。
337 :
330 :2008/09/13(土) 15:07:04
>336 ありがとう、すっかり忘れてた。 やってくる。
338 :
名無しさん@そうだ選挙にいこう :2008/09/13(土) 15:32:27
Excelのセルに住所を書いてリンクを貼り付けて、 そのリンクを押下すると別ウィンドウでグーグルマップを開いて その住所を表示させたいんだけど そういった事って可能なんでしょうか? 可能であればどういうやり方があるのでしょうか? 対処のデータが一個二個なら リンクにアドレスを埋めこんで指定する方法がありますが さすがにデータが1000、2000になるとそれも厳しいので
>>330 ちょっと長いけど、グラフ部分全体を選択して条件付書式を設定する。
=AND(TIMEVALUE(RIGHT($D1,10))<=(COLUMN()+47)/144,TIMEVALUE(RIGHT($E1,10))>(COLUMN()+47)/144)
元データ右から10文字に空白が無いように。47はG列を9:00に調整する為。
不等号のどちらに等号を入れるかはお好きに。
340 :
330 :2008/09/13(土) 16:44:33
無事作成できました、みんなありがとう! >339 これはすごい・・・・・・
>>338 住所を指定してGoogleマップを開く
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim 住所 As String, URL As String
住所 = Target.Value 'クリックされたセルの内容
With CreateObject("ScriptControl")
.Language = "JScript"
URL = "
http://maps.google.co.jp/maps?z=16&q= " & .CodeObject.encodeURI(住所)
End With
ThisWorkbook.FollowHyperlink URL 'URLを指定してブラウザを開く
End Sub
VBAにはクリックイベントがないので、俺にはこのあたりが限界だ。すまん。
342 :
名無しさん@そうだ選挙にいこう :2008/09/14(日) 01:38:32
あ
343 :
名無しさん@そうだ選挙にいこう :2008/09/14(日) 01:40:00
vista office2007が入ってますが2003をインストールすればヤバいでしょうか?
344 :
名無しさん@そうだ選挙にいこう :2008/09/14(日) 04:34:42
【1 OSの種類 .】 Windows vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 あまり使えない。
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 特定のフォルダ データ 集計
やりたいことは、マクロで、特定のフォルダの中に入っているデータを集計したいのです。
月毎に集めたデータを集計し、一年間のデータの推移が簡単にわかるようにしたいんです。
参考までにサンプルコードを作成していただくと、大変ありがたいです。
詳細はアップしたファイルをご覧ください。
お手数ですが、なにとぞよろしくおねがいします。
【場所】
ttp://applis.servehttp.com/index.htm 【ファイル名】
00025563.rar
>>344 今までのはExcel2003で普通に開けてたのに今回のは開けない
拡張子はxlsになってはいるが、ちゃんと97-2003形式で保存してる?
346 :
346 :2008/09/14(日) 05:19:10
>>345 passはちなみに"2008"でした。
明記してないのによくわかりましたねw
申し訳ありませんでした。
もう一度確認していただいていいですか?
すべて保存し直したので。
お手数おかけします。
【ファイル名】
00025565.rar
>>343 共存は可能だけど先に2003を入れないと関連付けがおかしくなるよ
348 :
名無しさん@そうだ選挙にいこう :2008/09/14(日) 15:03:06
>>328 ありがとうございます
やhりうまくいきませんでした。あきらめます
EXCEL関数についてお教えください あいうえお(abc) かきくけこ(ほげほげ) さしすせそ(nekdk) という行がありまして、()とその中の文字列だけを全部消したいです。 ()は全角です。()内の文字、文字数数がことなるので置換が使えないでいます。。
>>349 =LEFT(A1,FIND("(",A1)-1)
>>350 すいません 左側も文字数バラバラでした。。
あいうえお(abc)
かきく(ほげほげ)
さしすせそたちつ(nekdk)
>>351 VBAのInStr関数で『(』の位置を調べれば簡単。
流れぶった切ってごめん。 古いPCに入ってたオフィス2003のCDで別のPCにエクセルをインストールしたんだが、 エクセルを起動するたびに使用許諾契約書ってのが出てきてうざい。。 これってどうやれば消せるの?ライセンス認証はネット経由で普通に出来たんだけど。
バンドル版(固有PCとのセットライセンス)は他のPCに入れたらダメだぜ 例え元のPCからアンインストールしたとしても
>>356 そうなの!?知らんかった・・・
ライセンス認証は普通に出来たから問題ないのかとばかり・・・orz
A4のセルに次の書式を打ち込みたいのです A1が数字の時は、A2*A3、A1が数字ではない時は文字列を返す A2*A3が数式エラーで、#VALUEが表示される時は、文字列を表示する 教えて下さい
>>358 書式じゃなくて数式だよね?A2、A3が空でなければこれで。
=IF(ISNUMBER(A1),IF(ISERROR(A2*A3),A1,A2*A3),A1)
>>359 ありがとうございます
あともう一つお聞きしたいのですが、
シート2のA1=シート1のA1
シート2のA5=シート1のA2
これでシート2のA列を縦方向にコピー?していくと、シート2のA9がシートになります
シート2のA9をシート1のA3に対応させるためにはルックアップ関数使わなければならないのでしょうか?
すみません、
>>359 は、複雑すぎるので、#VALUEの時、任意の文字列を返す方法教えてください。
>>361 お前Excelに向いてないよ。
IFとかISERRORとかヒントが沢山あるんだから
ヘルプ見るなり、その足りない頭で少しは考えろボンクラ。
さっさと死ねチンカス。
>>361 学生か社会人かわかりませんが所属してる母体は5流でしょ?
>>363 エクセルの出来具合程度で所属母体を憶測する自分に嫌気がさしませんか?
>>360 基本、飛び飛びのセルに対してオートフィルはできないので手作業で式を入れていくしかない。
対象となるセルの数が多いなら式を工夫してコピペできるようにする。
Sheet2!A1==INDIRECT("Sheet1!A"&((ROW()-1)/4+1))
>>364 ライフワークなので割り切ってやっています
>>361 =IF(ERROR.TYPE(A2*A3)=3,"任意の文字列",A2*A3)
>>363 は「在宅Excel能力検定員」だから逆らっちゃらめ
>>361 =IF(ISERROR(A2*A3),"
>>361 はチンカス野郎",A2*A3)
"
>>361 はチンカス野郎"にお前の言う任意の文字列をあてはめろチンカス。
>>369 例えばセルが数千あって、そこに数式が数百個組み合わさってるシートに、エラーがランダムに数百のセルにちらばってる場合でもこの数式を間に入れなければ?
書式設定で、もっと簡単にできないでしょうか?
371 :
名無しさん@そうだ選挙にいこう :2008/09/15(月) 02:10:15
>>370 書式設定では無理。
そんなエラーだらけのデータベース(と呼べるかわからんもの)を
作るほうが悪いかも。
>>370 ようするに、エラーが出たときに「#VALUE!」のかわりに自分で設定したエラーメッセージを出したいってことか個とすんだな。
そういう場合はVBAを使う。
つーか、Excelの使い方が根本的にわかってない気が。
>>370 できないものはできない。
この程度の式が難しいならExcelはむいてないよ。
日付を入れてオートフィルをすると、 9月14日 9月15日 9月16日 ってなってしまいます 他のセルも一緒にオートフィルを使いたいのですが、特定セルのオートフィルを解除するにはどうしたらいいですか? 文字列最初に「'」つけてもだめだし、書式設定で文字列と指定してもだめでした
日付だけを先にCtrl押しながらオートフィルすれば? つーか質問テンプレぐらい使え。もっと具体的な回答が期待できるのに。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】Excel 2007 セル ロック 質問です。 A1とA3に必要なデータを手入力で打ち込みたいのですが A1からA3まで選択するとA1の入力が終わった時に次はA2に入力セルが移動しますよね。 A2を選択せずにA3に移動出来るようにA2のセルをロックすることは出来ないのでしょうか? ちなみにセルの結合とかそういう意味ではなくA2は残すけど選択すらしないように したいのです。数式やデータを保護という意味でもないです。 わかりにくくて申し訳ないんですがよろしくお願いします。
>>376 Ctrlを押しながらA1とA3をクリックして選択しておく。そうすると
A1にデータを入れてEnterを押すと自動的にA3にカーソルが飛ぶようになる。
>>377 素早いレスありがとです。
申し訳ないんですが一つ質問が間違っておりました。
A1とA3ではなく、A1とC1でして
その後ずっとA100とC100ぐらいまで続くのです。
入力後のセルの移動を右にしていても離れているせいか
A1のあとにC1ではなくA2が選択されてしまいます;;
>>378 とりあえずA列とB列にデータを入れて、あとでC列にコピペすればよかろう
381 :
61 :2008/09/15(月) 21:43:53
そして入力範囲を選択してから打ち込みをはじめる
382 :
344 :2008/09/15(月) 22:09:59
申し訳ありません、どなたかサンプルを作成してくださるかたはいらっしゃいませんか?
383 :
名無しさん@そうだ選挙にいこう :2008/09/15(月) 22:30:41
INDIRECT でドロップダウンリストを作ってます。 食物→果物→りんご→青森→特売→150円 食物〜特売 まではドロップダウンで選択して 最終項目 150円だけは 決定事項にするとき どのようにやればよいか どなたか教えてください!
385 :
名無しさん@そうだ選挙にいこう :2008/09/15(月) 23:16:19
Sub RETRIEVE() ThisWorkbook.Sheets("年間出荷量").Activate For M = 0 To 11 YYMM = Format(DateAdd("M", M, "2008/4/1"), "YYYY-MM") YYMM = Replace(YYMM, "2009", "2008") For I = 0 To 19 INTR = I \ 4 INTC = I Mod 4 Cells(3 + I, 4 + M) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\集計したいファイル\[" & YYMM & ".XLS]出荷量'!R" & 4 + INTR & "C" & 3 + INTC) Next I Next M End Sub お待ち。 これをtotal.xlsの標準モジュールにコピーして実行
よくそんな的外れな機能をわざわざ捜してくるなあ…
これがピボット厨ってやつか…
エクセルってどこでダウンロードすればいいんですか?
>>312-313 が自分の作ろうとしてる表にも作れそうなので使おうとしてるのだが
変える場所がよくわからない
以下以外に変更する場所ある?
ws1_Name = Sheet2.Name
ws2_Name = Sheet3.Name
ws3_Name = Sheet4.Name
ws4_Name = Sheet5.Name
391 :
334 :2008/09/16(火) 09:18:00
>>335 ありがとうございます。
マクロが原因というわけではないようですので
変にがんばらず親画面を閉じるように致しますです。
392 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 10:05:33
>>390 無いよ。つうかどこも変える必要ないはずだが。
Sheet2とかはシート作成順で変わるからねぇ。
312 とかのマクロとかってどうやって使うの? いまいち使い方分からないんだが。
394 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 12:30:37
>>393 自分じゃ使わんよ。
使うのは Private Sub Worksheet_Change(ByVal Target As Range) だって。
どんなタイミングで実行されるかは ぐぐれ
それは調べたらわかったけど 312 313 のプログラムみたいなやつはどこに貼付けたらいいの? ツール → マクロ → マクロ でいろいろとしてるがいまいちわからない
396 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 12:57:03
>>395 Alt+F11 同時押ししてでてきたやつのSheetのところ
397 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 12:58:49
Alt+F11 押したらなんかmacro1ってシートがでてきた A1のセルに入力しても変化なし どこの入力したらいいんだ?
399 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 13:46:16
少なくとも前準備が必要・・ ってすまんな。2007環境でしか試してねぇや。 ちなみにコード見たらわかると思ったが入力はC20から下だぞ
312 そのマクロだけど If Not IsNull(Me.Range〜 って行で Microsoft Visual Basic コンパイル エラー Me キーワードの使用方法が不正です って出ない?
401 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 14:04:48
でんな。じゃあもっと明示的に宣言してあげて
402 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 14:05:50
Me.Range("C20") を Me.Range("C20").Value とか?
403 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 15:14:34
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2007 人の作った表で、ウィンドウ枠が固定させているのですが 自分が解除しようとしたのですが、ウィンドウ枠の固定・解除ボタンが押せない状態です。(色も薄い) 同じブックに新たに自分でシートを作ってみると その新たなシートでは、ウィンドウ枠の固定・解除ボタンが色濃く押せます。 前述の他人が作ったシートから枠を解除するにはどうすればいいでしょうか? よろしくお願いします。
405 :
名無しさん@そうだ選挙にいこう :2008/09/16(火) 17:36:34
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】少し 【4 VBAでの回答の可否】 可 エクセルシートを作る中で壁にぶつかり、質問させていただきました。 セルに以下のようにに入力されているとします。 130 120 110 100 90 80 やりたいことは、こんなことです。 @「102」にもっとも近い値を判定しその隣のセルに「0」を表示。 A2番目に近い値を判定し、@で判定した数値より高い場合は「1」、小さい場合は「-1」を表示。 B3番目以降は、@で判定した数値より高ければ「2」、低ければ「-2」をそれぞれ表示させる イメージは以下のようなものです。 130 2 120 2 110 1 100 0 90 -2 80 -2 ご教授、宜しくお願い申し上げます。
>>405 作業列に=ABS(102-A1)と入れて、RANK関数を使えば近い順番が出る。
ちょっと時間がないので、あとは誰かにまかせた。
>>398 それはたぶんCtrl+F11を押してるよ
408 :
49 :2008/09/16(火) 19:59:45
>>54 とても遅レスですが、ありがとうございました。
>>405 作業列がB2:B7の場合
=IF(RANK(B2,$B$2:$B$7)=1,0,IF(RANK(B2,$B$2:$B$7)=2,1,IF(A2-102>0,2,-2)))
410 :
344 :2008/09/17(水) 01:44:57
すいません、ここのfor文の意味がいまいちよく理解できないのですが、 なぜに変数Iを4で割る必要があるのですか? For I = 0 To 19 INTR = I \ 4 INTC = I Mod 4 Cells(3 + I, 4 + M) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\集計したいファイル\[" & YYMM & ".XLS]出荷量'!R" & 4 + INTR & "C" & 3 + INTC) Next I
411 :
八作○ :2008/09/17(水) 03:05:51
火 が 消 え る ニ ル ヴ ァ ア ナ
元のExcel見ずに無責任に口挟めば 元データが4列に並んでるからそれを順番に見に行ってると思われ
>>409 にAの場合分けも反映させるなら作業列がB2:B7の場合
=IF(RANK(B2,$B$2:$B$7)=1,0,IF(RANK(B2,$B$2:$B$7)=2,1,2))*IF(A2<102,-1,1)
かな。そこまでする必要あるかわからんけど
A部署、B部署、C部署、D部署 という各シートがあるとします 各シートのA20:F20に社員のデータとかが書いてるとします 出力というシートを作成してどこの部署のデータを出力するか選択しシートに出力したいのですがどうすればいいのかわかりません 関数ではちょっと実現できずに困ってます
415 :
名無しさん@そうだ選挙にいこう :2008/09/17(水) 07:46:56
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL ワークシートまたぐ 株式の購入しようかと思っている銘柄の財務状態などを簡単に見比べれるようなものを作りたいと思っています ワークシート1に A列に4桁の銘柄コード、B列に現在の株価、C列に一株資産、D列にPBR、E列にPER で全銘柄分のデータを作っておいて ワークシート2で A列に4桁の銘柄コードを打ち込むと A列の4桁のコードを元に自動的にB列に現在の株価、C列に一株資産、D列にPBR、E列にPERをワークシート1を参照して値を持ってくる ということはEXCELの関数やVBAを使うことで可能でしょうか 何かをもとに何処を参照するというものの書き方を教えていただけないでしょうか よろしく願いいたします
>>414 わざわざシートそのまま抜き出す必要あるのか疑問ながら関数での解決例
出力シートを作ってA1が部署名(シート名)入力セルとすると
出力シートA2に
=INDIRECT(ADDRESS(20,COLUMUN(),1,0,$A$1))
F2までコピペ
>>415 VLOOKUPをイルカに聞いてみれば解決かと
>>416 それだと部署選択出来ないですよね?
AとB部署のみ出力
B部署、C部署、D部署のみ出力という感じに出力したいのですが。
419 :
名無しさん@そうだ選挙にいこう :2008/09/17(水) 08:26:59
>>417 ありがとうございます
やってみたら美味く出来そうです
作業量がめちゃくちゃ減りそうです
>>418 出力シートを作ってA1:A5が部署名(シート名)入力セルとすると
出力シートA6に
=IF($A1="","",INDIRECT(ADDRESS(20,COLUMUN(),1,0,$A1)))
F10までコピペ
これくらいの改変は自分でやってくれ〜
421 :
420 :2008/09/17(水) 08:49:52
>>418 関数間違えてるなごめん
出勤中の携帯だからほかにも間違えてたら修正してくれな
> 出力シートを作ってA1:A5が部署名(シート名)入力セルとすると
> 出力シートA6に
> =IF($A1="","",INDIRECT(ADDRESS(20,COLUMN(),1,0,$A1)))
> F10までコピペ
>
> これくらいの改変は自分でやってくれ〜
>>420 A部署、B部署、C部署、D部署
という各シートが四つあるんですけど?
勘違いされてる気がします
>>414 出力シートのA1に「A」〜「D」いずれかを入力
A2に=INDIRECT($A$1&"部署!"&"A20")
A3に=INDIRECT($A$1&"部署!"&"B20")
(横向きがいいならB2にでも)
・・って形で数式最後の「A20」やらを変えていけばok
オートフィルできるようにしたかったが20個ぐらいなら手作業でいけるしょ
>>416 は何がしたいかよくわからん
>>423 なかなかやりたい感じになってきました
A部署とB部署を出力したい場合はどうすればいいのでしょうか?
>>424 出力シートのB1に「A」〜「D」いずれかを入力
B2に=INDIRECT($B$1&"部署!"&"A20")
って感じで横に四つ並べたら?
というかもしかして
=A部署!A20
で良かったりする??
Aの列を昇順で並べつつ同じ文字があれば Bの列にある数字昇順で並べたいのですが それをボタンをワンクリックで実行する事は可能でしょう?
VBAでコマンドボタンに登録 マクロの記録と組み合わせれば簡単にできる じゃなきゃ素直に2列選んでデータの並べ替え
そのやり方がわからない
>>428 A-B列二列としたら両方選択してメニューバーのデータ→並べ替え
最優先されるキーとか二番目に優先されるキーとか
それはわかるけど > VBAでコマンドボタンに登録 がわからない
>>423 =INDIRECT($A$1&"部署!"&"A20")
だけどうちも少し改良して使う予定だが
値がないと 0 と表示されてしまう
なんとかならない?
>>432 =if(INDIRECT($A$1&"部署!"&"A20")=0,"",INDIRECT($A$1&"部署!"&"A20")
この形は覚えておくと便利だよ
あとはツール、オプションの中のゼロ値のチェックをはずしても0が表示されなくなる
複数列で使いたいみたいだから =INDIRECT($A$1&"部署!"&"A20:F20") を複数の列(A1〜F20とか)に貼り付けるべきでは? 飛ばし読みで解釈して横槍入れてみるw
435 :
434 :2008/09/17(水) 17:56:24
訂正 ×A1〜F20とか ○A20〜F20とか 1行分なのに勝手に複数行にしちゃだめですねw
436 :
名無しさん@そうだ選挙にいこう :2008/09/17(水) 19:02:21
ある表が既に集計されているかどうかを 判定するにはどうしたら良いですか?
その表を作成した人に、集計したかどうか聞くのがよろしいかと。。
438 :
名無しさん@そうだ選挙にいこう :2008/09/17(水) 21:21:30
オートフィルタなら Activesheet.Autofiltermode で判定できるんだけど、Subtotalにこれに該当するものはないのかなー >437 解らないならつまらん茶々入れるな
>>438 そういうおまえも結局わかってないんじゃん
440 :
436=438 :2008/09/17(水) 21:28:10
俺質問者本人だし
質問です。
>>1-3 あたりを読まないで答えを求めにくる人がいるのはなぜですか?
あ、スレ違いでしたね。失礼しました取下げます。
442 :
437 :2008/09/17(水) 22:02:35
バカは相手にしないほうがいいよw
444 :
421 :2008/09/17(水) 22:25:36
帰って来て今みたらまだ式が間違えてたねーさらに修正 入力シート作って入力セルがA1:A5までの場合 入力シートA6に =IF($A1="","",INDIRECT(ADDRESS(20,COLUMN(),1,1,$A1))) F10までコピペ 今度はExcelで試したから間違いない頭の中だけで回答して混乱させてすまんー もうすでに別解が主流か・・・そっちに合わせて「A,B・・・・」のみ入力バージョンに変えれば =IF($A1="","",INDIRECT(ADDRESS(20,COLUMN(),1,1,$A1&"部署"))) お邪魔しましたm(__)m
Excel2003です。 ハイパーリンクを設定するとそのセルの文字が 青文字になり、一度クリックすると紫文字になって しまいます。 これを任意の文字色に設定できますか?
446 :
445 :2008/09/17(水) 22:33:10
>>445 すみません、自己解決しました。
セルの書式設定で文字色を変更すれば大丈夫でした。
とりあえずはこれで大丈夫ですが、最初からハイパーリンク
を設定しても文字色が変わらない設定があれば教えてください。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 (不明) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】Excel 2003 セル 検索 Excel2003 で、セルに記述された文字列をシート全体で検索してヒットした 場合、セルの枠が反転?してその場所にジャンプしますが、大きなモニター で表示していた時、どのセルにカーソルが移動しているのか良く判らないで 探してしまう事があります。ジャンプ位置を着色するなど判別しやすくする方法 は無いでしょうか?
>>447 検索押して選択セルが移動した時にツールバーで色つけるのは邪道?
あとで戻すのが面倒だけど。
自分の場合は行列番号の色が変わった所を目安にしてる。
後は名前ボックスを見るとかもありかも。
>>447 後から神様がくるかもしれないけど
多分標準機能では無理かと。
>>447 Excelを閉じてデスクトップを右クリック、プロパティ→デザイン→配色を「ハイコントラスト 白」にすれば
カーソル位置がとてもわかりやすくなる
>>447 2007でしかチェックしてませんが、
VBエディタ開いて 対象のシートに次のコードを張ってください。
Option Explicit
Public MyObj As Object
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not MyObj Is Nothing Then
MyObj.Delete
End If
Set MyObj = ActiveSheet.Shapes.AddShape(msoShapeRectangle, Target.Left, Target.Top, Target.Width, Target.Height)
With MyObj
With .Line
.ForeColor.RGB = 255
.DashStyle = 1
.Weight = 4
End With
.Fill.Visible = msoFalse
End With
End Sub
【1 OSの種類】 Windows2000 【2 Excelのバージョン】 Excel2000 【3 VBAが使えるか】いいえ 【4 VBAでの回答の可否】可 【5 検索キーワード】比較 diff 一致 色 【6 質問の内容】 「B列に文字が入力されているファイル」、 「適当な行列に文字が入力されているファイル」 2つのファイルがあります。 「B列に文字が入力されているファイル」にある文字が、 「適当な行列に文字が入力されているファイル」にもあった場合、 「適当な行列に文字が入力されているファイル」の一致した文字に 色を付けたいのですが、どのような関数を使えば良いでしょうか?
>>433 > =if(INDIRECT($A$1&"部署!"&"A20")=0,"",INDIRECT($A$1&"部署!"&"A20")
A1の値がない時に何も出力されないようにしたいのですがどうすればいいですか?
>>452 多対多の検索はVBA使わないと無理。不可能じゃないけど面倒すぐる。
あと、質問の内容がちょっと愛麻衣で、このままじゃプログラム作れないから、
データの入っているセルの範囲とかファイル名とか、もう少し具体的に書いて。
456 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 13:03:34
>>452 条件付き書式でcountifでいいんでないそれは?
457 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 14:51:43
[2215 春日井 486-8511愛知県春日井市鳥居松町5−45]
[0568-81-4141????0568-81-3123]
[
[email protected] |]
[http//www.kcci.or.jp/?]
を
[春日井][486-8511][愛知県春日井市鳥居松町5−45][0568-81-4141][0568-81-3123][
[email protected] ][http//www.kcci.or.jp/?]
という風に変換したいのだけど、どうすればいいか教えてください。
>>452 のを勝手にまとめてみると
ファイルA(の特定の列)に入っている文字列でファイルB(の任意のセル?)を検索して
一致した「文字」に色を付ける
と読めるな
さて、色をつけるのはAとBどっちだろうか?
459 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 14:58:07
失礼しました。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 不可
【4 VBAでの回答の可否】 不可
[2215 春日井 486-8511愛知県春日井市鳥居松町5−45]
[0568-81-4141????0568-81-3123]
[
[email protected] |]
[http//www.kcci.or.jp/?]
を
[春日井][486-8511][愛知県春日井市鳥居松町5−45][0568-81-4141][0568-81-3123][
[email protected] ][http//www.kcci.or.jp/?]
という風に変換したいのだけど、どうすればいいか教えてください。
オートフィルタだけど特定の文字しか表示させないようにさせると 行が飛ぶのをなんとか出来ない?
>>457 最初に確認だけど、元データは本当にその通り?
最初の数字は必ず4ケタ?
カッコ”[”もついてるの?
必ず四行で一つ?
メールアドレスまの最後には”|”が必ずついてるの?そのままでいいの?
元データそのものを見せてもらわないと確実な処理が出来ない気がする
>>460 コピーして貼り付けすれば間の行を消すことが出来る
が、数式が入ってると面倒なことになる可能性も
463 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 15:06:15
>>461 レスありがとうございます。
・最初の数字は必ず4桁です。
・[ ]は[ ]内がひとつのセルであることを表しています。元データには入っていません。
・必ず4行で1セットです。セット間に2行何もない行があります。
・メールアドレスの最後の | はミスです。元データには入っていません。
よろしくお願いします。
>>459 VBA不可だからFINDとMIDを駆使してやるしかないかな?
あとテンプレしっかり読もうな
関数でA1とA2に数字が入力してるとします A1の数字の行数をシート1から抜き出し、その下にA2の数字の行数だけシート2を抜き出す方法は無いでしようか?
467 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 15:20:36
468 :
465 :2008/09/18(木) 15:31:47
>>467 いいんじゃない?
とりあえず住所の部分の関数での分解方法考えてみた
A1 [2215 春日井 486-8511愛知県春日井市鳥居松町5−45]
B1 =FIND("-",A1)
C1 =MID(A1,6,B1-6-3)
D1 =MID(A1,B1-3,7)
E1 =MID(A1,B1+5,LEN(A1)-B1+4)
やりたいことはこれで合ってるかな?
>>467 大体できたぞ
後聞き忘れた。二行目は電話番号と恐らくFAX番号なんだろうけど、その間の????は必ず四つでいいの?
????から変わることはある?
>>464 値だけほしければ最初にシートごとコピー、全セルを値にして貼り付けてから
オートフィルタ、貼り付けってやるかな
数式を他にも使う場合は、その場合によるとしか答えられない
471 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 15:39:44
>>468 Excelに疎すぎてこの関数が解読できませんが、多分あってます。
この4行の塊が全国の市町村の数だけあって、それを1行にまとめたいのです。
>>469 ????は元データを見てみたら半角スペース4つでした。
常に4つです。
472 :
465 :2008/09/18(木) 15:41:11
ミスってた ×D1 =MID(A1,B1-3,7) ○D1 =MID(A1,B1-3,8)
>>459 出来た
A列に元データがあるとする
B1=MID(INDIRECT("A"&INT((ROW()-1)*6)+1),6,FIND(" ",INDIRECT("A"&INT((ROW()-1)*6)+1),6)-6)
C1=MID(INDIRECT("A"&INT((ROW()-1)*6)+1),FIND(" ",INDIRECT("A"&INT((ROW()-1)*6)+1),6)+1,8)
D1=RIGHT(INDIRECT("A"&INT((ROW()-1)*6)+1),LEN(INDIRECT("A"&INT((ROW()-1)*6)+1))-(FIND(" ",INDIRECT("A"&INT((ROW()-1)*6)+1),6)+8))
E1=LEFT(INDIRECT("$A"&INT((ROW()-1)*6)+2),(FIND("?",INDIRECT("$A"&INT((ROW()-1)*6)+2))-1))
F1=RIGHT(INDIRECT("$A"&INT((ROW()-1)*6)+2),LEN(INDIRECT("$A"&INT((ROW()-1)*6)+2))-(FIND("?",INDIRECT("$A"&INT((ROW()-1)*6)+2))+3))
G1=INDIRECT("$A"&INT((ROW()-1)*6)+3)
H1=INDIRECT("$A"&INT((ROW()-1)*6)+4)
後は下にオートフィルでデータベースの完成だヒャッホー
が
>>468 のスマートさに全俺が泣いた
よく考えたらわざわざindirect使わなくても6行置きに作った後、 オートフィルタかければ済む話だったな まぁいいか・・
475 :
473 :2008/09/18(木) 15:46:38
>>471 頼むぜ
E1=LEFT(INDIRECT("$A"&INT((ROW()-1)*6)+2),(FIND(" ",INDIRECT("$A"&INT((ROW()-1)*6)+2))-1))
F1=RIGHT(INDIRECT("$A"&INT((ROW()-1)*6)+2),LEN(INDIRECT("$A"&INT((ROW()-1)*6)+2))-(FIND(" ",INDIRECT("$A"&INT((ROW()-1)*6)+2))+3))
これでいけると思う
476 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 15:49:26
>>473 ありがとうございます!!
この関数をどこにどうぶち込めばいいのかだけ最後に教えてください。
477 :
473 :2008/09/18(木) 15:51:56
>>476 B1=MID(INDIRECT("A"&INT((ROW()-1)*6)・・
ってのはB1セルに=MID(INDIRECT("A"&INT((ROW()-1)*6)・・って数式コピペしてねって意味だよ
同様にC1D1・・と続いていく
478 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 16:03:46
479 :
459 :2008/09/18(木) 16:07:36
>>478 478=476=471=459
です。この板はIDないのですね。
480 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 16:17:36
エクセル2007 windows xp 表内で記入のある枠を数えたいのですが ただし、ある特定の言葉(3種類)が入ってる枠は、数に入れたくないのですが どんな式で出来るか教えて下さい。 お願いします。
>>480 記入のある枠をCOUNTAで数えて
特定の言葉(3種類)が入ってる枠を各々COUNTIFで数えて引く
482 :
473 :2008/09/18(木) 16:22:40
483 :
465 :2008/09/18(木) 16:28:34
>>479 自分の仕事は自分でやれよw
と突っ込もうと思ったら既に代行してるしww
484 :
459 :2008/09/18(木) 16:30:00
>>482 オフィスに歓声が上がったっす。
ありがとうございます。
>>483 サーセンw
エクセル怖いです。
485 :
405 :2008/09/18(木) 18:17:40
406、409さん、ありがとうございます。 解決しました!
486 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 18:30:35
>>481 ありがとうございます。
できそうですが、=countif(A1:A10,"○○")の
"○○")の辺以降の、除外する3つの言葉の並べ方がわかる方
いたら教えて下さい。。
487 :
481 :2008/09/18(木) 18:57:20
>>486 =counta(A1:A10)-countif(A1:A10,"○○")-countif(A1:A10,"○△")-countif(A1:A10,"○□")
ではだめかな?
やりたいことを取り違えてなければこれでいけるはず
488 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 19:01:33
>>464 解決法のひとつとして別シートにコピペ(値のみで)じゃだめ?
>>464 値をコピペした後数式をコピー
作業列2列作って、1列は連番入れてもう一列はフラグ立てて
フラグの列で並び替え
連番の列で並び替えて元に戻す
のどっちかかなと
490 :
名無しさん@そうだ選挙にいこう :2008/09/18(木) 23:45:00
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 前任者から引き継いだファイルなんですが、起動する度にマクロを有効にしますか?と聞いてきます。 内容は一日の来院数を記録するだけでマクロが入ってそうにないのですが… どういうマクロが使われてるのか調べる方法はありますでしょうか?
>>490 Alt+F11でVBAのエディタ開く
フォーム、標準モジュールなどは削除する
ブックやシートにマクロを仕込んでる場合もあるので有れば消す(コードを消す)
多分これでいけるはずだ
492 :
491 :2008/09/19(金) 00:34:59
よく読んだら消す方法じゃなかったなw それぞれ右クリックして「コードの表示」でマクロが見れるはず
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL 印刷 セル エクセル etcetc 【6 聞きたいこと .】エクセルの印刷方法について教えてください。 (イメージ1) ↓印刷 A4用紙1枚目 _____________________________ l____a_b_c_d_______________l A列からD列、1行から1000行以上をうめるデータがあります。これをA4用紙に印刷しようと試みたところ、 l_1__________________________l 1枚の用紙にA列からD列、35行のデータしか印刷されず、多くの余白を残したまま次の用紙へと移行します。(イメージ1) l_2__________________________l l_3__________________________l l_:___________________________l l_35_________________________l l ____________________________l ↓印刷 A4用紙2枚目 ______________________________ l____a_b_c_d________________l l_36_________________________l l_37_________________________l l_:___________________________l l_:___________________________l : 以降延々と続く‥ (イメージ2) ↓印刷 A4用紙1枚目 _____________________________ l____a_b_c_d_____a_b_c_d_l イメージ1のような印刷形式ではなく、イメージ2のように用紙にあわせて行を折り返してくれるような l_1____________36___________l 印刷方法はないのでしょうか? l_2____________37___________l 文章力がなく伝わりにくいとは思いますが、アドバイスよろしくお願いいたします。 l_3____________38___________l l_:______________:_____________l l_35___________70___________l l ____________________________l
>>493 お手軽コースは
表示→改ページプレビュー
青い線をドラッグして調整
それか
メニュー→印刷設定
次のページ数に合わせて印刷→横を1にする
このへんが基本動作だからそれでうまくいかんかったら
いかんかった理由を添えてまたここで聞いてみれば?
>>493 ごめんよく読んでなかった。いちど
>>492 は取り消す
割付印刷はExcelだけではやったことないから
詳しい人待って下さい
他のソフト(Word)とか絡めれば割付可能だけど
もっとうまい手がありそうな気も・・・
エクセルに折り返し印刷の機能は無い。 Accessのレポート印刷にはそういう設定があるので、 恒久的に使うならいっそAccessにデータ移行してしまうのが良い
>>493 標準機能にはないな
E1に=A35とか入れてオートフィルするか、
量が多ければindirectとrow辺りを組み合わせてフォーマット自体作ってしまう
499 :
名無しさん@そうだ選挙にいこう :2008/09/19(金) 11:46:01
すごい単純なことかもだけどちょっとお助けを〜 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 選択範囲 数字から指定 えーと任意の英語、数字をそれぞれふたつずつ入力して そこから選択範囲を作りたいのだけど INDEXとかMATCHとか何か関数でできないでしょうか〜? 例としてはー A1セルにF、B1セルに826 A2セルにP、B2セルに1694 と4つ入力すると($F$826:$P$1694)の範囲選択ができるといいなと・・・ その範囲をさらに関数の引数として使いたいのです VLOOKUP("山本",[その範囲],7)とかな感じにしたいなぁと あとから範囲だけを簡単に変えれたらなぁといった具合でして こういうことってできますでしょうか? 作業用の別シートとかはいくらでも使って構わないです
>>499 =VLOOKUP("山本",INDIRECT(A1&B1&":"&A2&B2),7)
こんな感じ?A1-B2はテキトーに変えて
>>499 =LOOKUP(A3,INDIRECT("$" & A1 &"$" & B1 & ":" & "$" & A2 &"$" & B2))
こんな感じか?
502 :
501 :2008/09/19(金) 11:53:11
かぶったorz
>>493 もう解決済みかな?
暇つぶしに作ったマクロにそんな感じの編集をするものがあるんだが
504 :
499 :2008/09/19(金) 13:51:54
い、INDIRECTっ!! こんなものがあったんですね、すばらしい どうもありがとうございましたっっ!!!
505 :
sage :2008/09/19(金) 14:06:01
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 グラフ エクセルで以下のような数字を結ぶ折れ線グラフは作れますか? ・・・・・90_____________________________ 標 ・・・・・80_____________________________ 準 ・・・・・70_____________________________ 得 ・・・・・・・・・・・・・・・・・・10_ ・・・・・・・・・・・・・・・・10_ ・・・・・60_____________________________ 点 ・・・・・・10_ ・・・・・50_____________________________ ・・・・・・・・・・・・・・・・・・・・・5_ ・・・・・・・・・・・・・・・5_ ・・・・・40_____________________________ ・・・・・・・・・5_ ・・・・・30_____________________________ ・・・・・・・・・項 ・・・項 ・・・項 ・・・・・・・・・目 ・・・目 ・・・目 ・・・・・・・ ・・・・・・・・・I ・・・ II・・・III 各項目ごとに数字メモリの位置がバラバラなのですが、可能でしょうか
>>505 内容があいまいで返答できない
・や_は何?
>>505 「データラベルの追加」でラベルを追加して、その書式を「"10"」とか「"5"」っていう固定文字列の表示にするくらいかな
508 :
505 :2008/09/19(金) 14:33:59
・や_は気にしないでください X軸に項目が8つあって、その項目ごとにY軸(数値)の 場所を変えたいと考えています
509 :
506 :2008/09/19(金) 14:43:11
メモ帳に入れて眺めてたらなんとなく分かったw
大事なことを聞いてなかったな元のデータはどんなデータ?
>>505 のを
A列 |B列|C列|
項目T |20 |30 |
項目U |25 |35 |
項目V |20 |30 |
みたいな形で書いてほしい
510 :
505 :2008/09/19(金) 14:55:07
A列 |B列|C列| 項目T | D | 8| 項目U | I | 11| 項目V | N | 12| 項目W | O | 9| 項目X | Co| 18| 項目Y | Ag| 17| 項目Z | Si| 15| 項目[ | G | 12| 項目\ | W | 5| 項目] | Fr| 8| アンケートみたいなもので、B列は項目名の頭文字、C列はその値です。
A1に 振り仮名や赤字の文字があるとします =A1 で呼び出すと文字の色が反映されないです なんか特殊なやり方があるのでしょうか?
>>511 書式は基本的に反映されない
書式ごとコピーするか、カメラ機能が便利。VBAでもいいがよほどでないと逆に手間
カメラ機能はぐぐればすぐに見つかる
513 :
506 :2008/09/19(金) 16:00:22
>>510 値になるのは1つだけ・・・折れ線は1本?
>>505 見る限りでは2つ有るようだけど・・・
ピボットグラフで100%折れ線だなそれわ
ああ、数値見たいなら積み上げの方がいいのか
516 :
505 :2008/09/19(金) 16:10:41
>>513 値は一つ、折れ線は一本です
一番左のY軸は全体値です
517 :
506 :2008/09/19(金) 16:18:32
>>516 もしかして全体の合計を100%として比率でグラフを作りたい?
518 :
505 :2008/09/19(金) 16:22:05
>>517 そういうわけではないです
説明下手ですみません・・
作りたいグラフをペイントでいいから試しに書いてみてアップロードしてみては
520 :
506 :2008/09/19(金) 16:31:43
>>510 の例で言うとB列とC列を選択して
メニューの「挿入」→「グラフ」で作ったものじゃダメなのか?
でもこれだとエクセルの一般的な使い方・・・
ぶっちゃけ何を求めてるのか分からなくなってきたw
紙にボールペンで完成イメージを書いて写メしてうp
522 :
505 :2008/09/19(金) 16:44:24
>>519 すみませんアップロードの仕方がわかりません・・
>>520 折れ線グラフの形です
Y軸の標準得点(30から90)とは別に項目ごとに
また得点があり(1〜30)、さらにその項目でも
全部の得点のメモリの位置が違うので、どのように
やればよいのか分からない状態です。
>>510 の5_と10_は
それぞれのメモリの位置です。
523 :
506 :2008/09/19(金) 17:13:17
漏れのコミュニケーション能力の限界かも知れんな Y軸の標準得点 得点 メモリ(目盛り?)の位置 これらがよく分からないから理解できないのか? 図を手書きしたところで結局折れ線グラフなのは分かってるし 元になるデータ各々の性質が分かればいいはず
524 :
505 :2008/09/19(金) 17:21:05
正直Y軸の標準得点の意味は私にも分かりません・・
ただ、それを抜かしても各項目ごとに目盛りを設定する
方法が分からないのです。
>>510 には5と10の目盛りが
ありますが、項目によってそれらの位置が違いますよね?
項目によって5や10の位置を変えるなんて出来ないんですかね?
525 :
506 :2008/09/19(金) 17:28:07
なんか理解できた気がする 項目別に目盛りの間隔は変えることはできないと思う グラフ上の座標だけなら掛け算して変えることはできる
526 :
505 :2008/09/19(金) 17:32:08
>>525 やっぱり目盛りの位置(間隔)を変えることはできないのですか・・。
座標はどのように変えるのですか?
527 :
名無しさん@そうだ選挙にいこう :2008/09/19(金) 17:35:49
528 :
506 :2008/09/19(金) 17:42:34
例えば 10〜50のデータと 5〜25のデータを混ぜてグラフを作るなら 5〜25のデータの側に(50-10)/(25-5)を掛ければいい 複数あるならどれか1つを基準にして係数割り出せばいいと思う 後は実データ見ないとなんともいえない 片手まで面倒見れるのはここまでかな?
529 :
505 :2008/09/19(金) 18:21:35
>>527 項目ごとに目盛りの間隔を変えることはできますか?
>>528 ありがとうございます。頑張ってみます
530 :
名無しさん@そうだ選挙にいこう :2008/09/19(金) 20:26:36
初心者です、お世話になります。 セルA1とB1にそれぞれシリアル値による時間が入っています。 セルの書式設定により時間が表示されています。 ユーザーフォームの中のラベル1にB1からA1を引いた時間を時分秒の形で表示したいのです。 Label1.Caption = Range("B1") - Range("A1").value A1は開始時間、B1は終了時間、ラベル1は所用時間と考えてください。 とやるとシリアル値っぽいのが出るのですが、時間を表示したいのです。 助けてくださいませ。
531 :
名無しさん@そうだ選挙にいこう :2008/09/19(金) 20:27:19
パチンコ玉に傷くらいあっても問題ないだろ。
532 :
493 :2008/09/19(金) 22:18:18
>>494 レスありがとうございます。
改ページプレビューでページを変えても、折り返してくれる機能がないようなので、ちょっと不可能だと思われますが‥
また、横を1にするのもレスをする前に試してみたのですが不可能でした(^^;;
>>495 ‥‥取り消しだったんですね(_ _。)・・・シュン
>>497 ありがとうございます。Accessですかぁ。うーん
>>498 ありがとうございます。Excelというのもなかなかどうして使いづらいですね
>>503 今一生懸命498さんに教えていただいたindirectとrowを調べています(^^;;
いまいちわからない(^^;;
>>530 Format( Range("B1") - Range("A1"),"hh:mm")
ではいかんの?
>>532 行高一定 見出し行3行 1ページ40行(見出し行除く)
の場合
シートを別名で保存
A列からD列をコピー F列からI列に貼り付け
F4からI43を削除(上につめる)
J列に
=MOD(int((row()-3)/40),2)
J列=0でフィルタして印刷
>>481 ありがとうございます。
これで出来そうです。助かりました。
【1 OSの種類 .】 WindowsXPsp3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel デフォルト 設定 excelのデフォルトの枠線の色を変更したいのですがbook単位の保存になってしまいます デフォルト設定にするにはどうやればいいですか?
テンプレ(質問テンプレじゃないよ)使えば良い
>>537 凄いこんなのがあるんですね
ありがとうございました
539 :
539 :2008/09/21(日) 18:40:12
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 比較 抽出 正規表現 たとえばこのようにデータがあった場合 Aセル行内にBセル行内と(別の行にでも)同じデータがあった場合両方削除 というような動作をさせたいのですがどうすればいいのでしょう? 同じデータがあったとしても同じ行とは限らないのでややこしくなってしまいます。 宜しくお願いします Aセル Bセル あ:3 あ:2 い:3 う:3 う:3 お:1 え:3 お:3 ↓ Aセル Bセル あ:3 あ:2 い:3 お:1 え:3 お:3
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 図1 A B C 1 あ 10 a 2 い 15 b 3 う 11 c 4 え 15 d 5 お 16 e 6 か 11 f ---------------- 図2 A B C 1 15 2 2 図1と図2のようなシートがあり、図2のA1の値を図1からMatch関数で抽出したいと考えております。 =match(A1,$B:$B,0) で2という値が帰ってくると思いますが、図1のB4にある15の返り値をMatch関数で4という値を抽出するにはどうしたらいいのでしょうか。
>539 条件を再確認します。 1 データはA列とB列だけに存在する 2 セル参照はない(計算式はない) 3 同一内容のデータがあった場合はどちらのセルも内容を消去する (削除という言い方は、通常その下や右のセル移動を伴うので消去という方がいいです) VBAを使うしかないと思います。処理対象をsheet1のA1:B100の2列×100行と仮定して説明します。 第1ステップ 別シートに2列×100行分のデータを1列にして出力します。その際、セルアドレスも右隣に付加します。 A列 B列 あ:3 A1 い:3 A2 お:1 B3 第2ステップ sheet2のA1:B200をソート(ソートキーはA列)します。これで同一内容があるかどうかを判定する準備が できることになります。 第3ステップ 1行目から順次セル内容を見ていって同一内容セルかどうかの判定をします。判定結果はC列に書き込むのが いいかも。(例:×を書き込む) 第4ステップ sheet2のC1セルから下に見ていって、×があるときB列の内容(セルアドレス)でsheet1の当該セルを消去する。 VBAはこれから、という方にはちょっと難しいかも。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 たとえば現在セルの場所からcells(100,100)に移動させても セルは選択されるけど画面は動きませんよね? 画面も一緒にcells(100,100)に移動させるにはどうすればよいでしょうか?
543 :
名無しさん@そうだ選挙にいこう :2008/09/21(日) 22:59:39
ウインドウ枠の固定って機能ですが 行と列を同時に固定することってできますか?
例えばH5のセルで固定したいなら H5のセルをクリックしてウィンドウ枠の固定をすればできますが。
Sub TEST() For A = 1 To 100 TEMP = Cells(A, 1) For B = 1 To 100 If Cells(B, 2) = TEMP Then Cells(B, 2) = "" Cells(A, 1) = "" End If Next B Next A End Sub >541 悪いけど、よくそんな無駄なやり方を思いつくもんだ
今試してみたけど、普通一緒に動かない? RANGE("X999").SELECT って極普通のやり方でOKだと思うんだけど
Sub MOVE() Cells(100, 100).Select End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 家計簿で、翌月のシート作成をする際に月初日をVBAで自動入力 する方法を探しています。 具体的には、一つ左のシート(Sheet1)のA1セルが「9月1日」の場合、 現在のシート(Sheet2)のA1セルに下記の数式を入れれば「10月1日」 が取得できますが、この"数式"を自動入力するのではなく、"数式の計算結果" をSheet2のA1に反映させるにはどういう方法があるでしょうか。 シートをあらかじめ作成しておくのを避けたいため、どうにかVBAで できないかと思っています。 例1 =EOMONTH(Sheet1!A1,0)+1 例2 =DATE(YEAR(Sheet1!A1),MONTH(Sheet1!A1)+1,1)
549 :
542 :2008/09/22(月) 00:59:29
そうですよね。 >546、>547で普通に画面も動きますよね・・・ あるマクロだとCells(100,100).Selectで動いてくれないのがあるんですよね。 セルは選択してるんだけど画面が動かない。 そのシートはウィンドウ枠の固定してたんだけど関係ないよね? まあそれを解除しても一緒だか関係ないよね・・・ もう少し悩んでみます。
Sub TEST() Sheets("Sheet2").Range("A1") = DateAdd("M", 1, Sheets("Sheet1").Range("A1")) End Sub VBE上での計算結果を書き込めば良い このDATEADDが使える分、日付に関してはワークシート関数よりもVB関数の方が使いやすい
>>549 もしかして
screenupdate = false
になってない?
エクセルの使い方で質問です 「もし列Aと列Bと列Cのセルのいずれかに”○”印があったら、 列Dは”★”印」 という風にデータを抽出したいのですが、 何か良い方法はないでしょうか?? IF関数を使って、列Aに○なら★、という数式は入力できるのですが、 列Bも列Cもとなると複数の条件を設定できなくて困っています どなたかご教示いただければ幸いです
553 :
名無しさん@そうだ選挙にいこう :2008/09/22(月) 02:44:29
age
=IF(OR(A1="○",B1="○",C1="○"),"★","") これができるかが一般人とマニアの分れ目!なんつって
555 :
552 :2008/09/22(月) 02:58:10
>>554 で、できた・・・(涙)
1時間以上試行錯誤とヘルプ検索しまくったのですが、
エラーばかりでてしまって困っていました。
いざという時できないのは、日頃の勉強不足のせいですね。
本当にありがとうございます。
感謝です!
>>541 >>545 すごい!
出来ました。ありがとうございます。
VBAを使えは複雑なテキスト処理が出来そうですね。
557 :
557 :2008/09/22(月) 04:11:59
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(初心者) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 比較 抽出 A Bに更新前のデータ C Dに更新後のデータがあるとします Noは個体に通し番号が割り振ってあるとして値はそれぞれ個体にある値とします。 これを更新があった場合(上のデータではNo2の値が8→10)に Eに商品個体番号 Fに更新前 Gに更新後の値を入ると いうようなVBAを書きたいと思っています 教えていただいたものを改造しAとC両方ある物だけを出力することは出来たのですが AにあってCにないものを出力することが出来ません。 今回の例ではAにあってCにないもの(No 1 値 4)を E F G 1 4 上記のように出力させたいのと、AになくCに追加されたもの(No 7 更新後値 4)を E F G 7 4 と出力させたいです。 宜しくお願いします。
558 :
557 :2008/09/22(月) 04:13:03
途中までやってみたのですがどうにもできません A B C D E F G No 値 No 更新後値 No 更新前値 更新後値 1 4 2 10 2 8 3 9 2 8 10 3 9 4 5 4 3 6 6 4 3 5 5 4 7 4 6 6 Sub TEST3() For A = 2 To 100 TEMP = Cells(A, 1) For B = 2 To 100 If Cells(B, 3) = TEMP Then If Cells(A, 2) <> Cells(B, 4) Then Cells(A, 6) = Cells(A, 1) Cells(A, 7) = Cells(A, 2) Cells(A, 8) = Cells(B, 4) End If End If Next B Next A End Sub
559 :
549 :2008/09/22(月) 06:44:03
>>551 してる。
まだ試してないけどそれが原因でしたか
。
一度tureにしてからじゃないとダメなのか。
あとでやってみます。
ちょっと質問 A1に A B C いずれかを入力された時に C5に Aの時に川崎 Bの時に山田 Cの時に上田 と自動に標的したいのですがどうすればよいでしょうか?
>>560 =if(a1="A","川崎",if(a1="B","山田",if(a1="C","上田","")))
これでいいのでしょうか?
>>560 どっか空いてるところに一覧表を作っておいてVLOOKUP
>>557 説明がちょっとよくわかんないんだけど、こうなればいいの?
E F G
No 更新前 更新後値
1 4
2 8 10
3 9 9
4 3 5
5 4
6 6
7 4
これならワークシート関数だけで出来るけど、VBAじゃないとだめ?
564 :
541 :2008/09/22(月) 11:45:52
>545 539の人は、 「同じデータがあったとしても同じ行とは限らない」と書いているだけで、同一データがA列とB列に ひとつずつしか存在しないとは書いてありません。同一データが3個以上ある場合、545の処理では残っ てしまいますが?同一データがあるといったら3個以上のことも考えるのが実務的では?
「できました」ってレス付いてるじゃん…
質問です。 A列には日付が入力されていて B列には =IF(WEEKDAY(A3,2)<=5,"平","休")って式を入れて平日と休日がわかるようにしてあるんですが、 祝日は考慮されてないので、祝日も平と表記されます。 別シートに祝日の表を作って名前を定義したのですが、 それをさっきのB列の式にどう表記して反映させればいいのかわからず迷っています。 B列の式に祝日も休と表記するように命令するにはどうしたらいいでしょうか?
>>566 =IF(WEEKDAY(A2,2)<=5,IF(VLOOKUP(A2,祝日,1,1)=A2,"休","平"),"休")
568 :
566 :2008/09/22(月) 12:53:11
569 :
557 :2008/09/22(月) 13:13:35
>>563 そうです。
よろしければどのようにするか教えていただけないでしょうか?
>>569 E〜G列に以下の式を入れて下までコピペ
E2=ROW()-1
F2=IF(ISNUMBER(B2),B2,"")
G2=IF(ISERROR(VLOOKUP(E2,C:D,2,FALSE)),"",VLOOKUP(E2,C:D,2,FALSE))
571 :
名無しさん@そうだ選挙にいこう :2008/09/22(月) 14:32:03
>>569 Public Sub TEST()
Me.Range("E2", "G" & Me.Range("AF5").End(Direction:=xlDown).Row).ClearContents
Dim OutRow As Long
Dim UpRow As Long
If Me.Range("C2").Value = "" Then
Exit Sub
End If
For UpRow = 2 To Me.Range("C2").End(Direction:=xlDown).Row
OutRow = WorksheetFunction.Match(Sheet1.Range("C" & UpRow).Value, Me.Range("A:A"), False)
Me.Range("E" & UpRow).Value = Me.Range("A" & OutRow).Value
Me.Range("F" & UpRow).Value = Me.Range("B" & OutRow).Value
Me.Range("G" & UpRow).Value = Me.Range("D" & UpRow).Value
Next
End Sub
お前の思い描いているものかどうかは知らんが
>>557 Sub aaa()
R = 2
While Cells(R, 1) <> ""
Cells(Cells(R, 1) + 1, 5) = Cells(R, 1)
Cells(Cells(R, 1) + 1, 6) = Cells(R, 2)
R = R + 1
Wend
R = 2
While Cells(R, 3) <> ""
Cells(Cells(R, 3) + 1, 5) = Cells(R, 3)
Cells(Cells(R, 3) + 1, 7) = Cells(R, 4)
R = R + 1
Wend
End Sub
それってピボットテーブルで一発じゃね?
【1 OSの種類 】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否 】 否 【5 検索キーワード 】セル 参照 表示 -------------A---------B------C------D------E------------F----- <04行目> <2000/1/1> <50.0> <50.0> 2000/1/1の <05行目> <2000/2/1> <49.7> <49.5> <0>年 <7>ヵ月後は「47.6」←これを表示 <06行目> <2000/3/1> <49.3> <49.1> <D5>*12+<E5>+4=11行目なので「B11」 <07行目> <2000/4/1> <49.0> <48.6> <08行目> <2000/5/1> <48.6> <48.1> 仮に金利が何%なら「47.6」程度になるのは <09行目> <2000/6/1> <48.3> <47.7> C列の09行目の 「2000/6/1」←これを表示 <10行目> <2000/7/1> <47.9> <47.2> <11行目> <2000/8/1> <47.6> <46.7> 数字を挟んでいる<>は、縦の列を揃えて表示させるためで、実際にはありません *********************************************************************** 金利を計算した4行目から始まるワークシートのデータを参照したいのです 例えば上の表で2000/1/1の0年7ヵ月後なら2000/8/1で、0(年)*12+7(月)+4=11で 11行目となるので11という数字は計算してセルの上に「B11」と表示できました。 本を買って1ヶ月程度なので、ワンステップずつ計算して11→B11とセルの上に 「B11」までは表示できたのですが、ここからどうすれば「B11」の内容である <47.6>という数字がエクセルのセルに表示できるのか教えてください 同じような残高でも金利が違うとこれだけ返済金間が短縮されるのを示したいのです。 B列のこの47.6に一番近いC列の数字として(この場合は09行の47.7)になるのが何行目に なるのかを表示する方法を教えてください。 現在アク禁に巻き込まれているので返事など出来ないと思いますが、 よろしくお願いします
>>571 レスありがとうございます。
すみません、エラーがでます。
>>572 ありがとうございます。うまく通りません。
以下のような実行データにしたいです。
何がしたいかというと、EFGにどのデータが更新されたかを出力したいです。
E F Gが2 8 10となっていた場合、2の値が8から10に更新されているという具合です。
お願いいたします。
A B C D E F G
No 値 No 更新後値 No 更新前値 更新後値
1 4 2 10
2 8 3 9
3 9 4 5
4 3 6 6
5 4 7 4
6 6
実行↓
A B C D E F G
No 値 No 更新後値 No 更新前値 更新後値
1 4 2 10 2 8 10
2 8 3 9 4 3 5
3 9 4 5 1 4
4 3 6 6 5 4
5 4 7 4 6 6
6 6 7 4
576 :
名無しさん@そうだ選挙にいこう :2008/09/22(月) 18:43:31
>>575 それもしかして全部表示させて更新後値の大きい値からとか?
>>563 に対して「そうです」って言ったじゃん
ちゃんと人のレスよく読めよ…
じゃあH2=G2-F2って入れてH列を逆順にソートしろ
>>574 B1という文字列からB1セルの内容を取り出すにはINDIRECT関数を使う
579 :
名無しさん@そうだ選挙にいこう :2008/09/22(月) 19:58:41
お聞きしたいんですが、office2000をインストールをしようと思い、 Office 2000のCD-ROMを入れてガイダンスに従って行くと、 プロダクトコンプリアンスチェックで 「お使いのコンピュータ上に正規の製品を見つけられませんでした。 正規の製品が保存されている場所を選択して下さい」 とエラーがでてしまいました。 アップデート版ではないと思うのですが。。。 対処の仕方がありましたら教えて頂けますでしょうか。 又、XPを再インストールしましたが関係ありますでしょうか。 よろしくお願い致します。
>>579 CD-ROMのドライブ名を入れればいいんジャマイカ?
>>579 いやそれ普通にアップグレード版のメッセージなんだが。
メッセージが出たらCDをOffice97に入れ換えてチェックを通して、
また2000のCDに戻せば、あとは普通にインスコできるはず。
>>576 >>577 ソートの出力結果はどっちでも構いません。
558で書いたものの補足で出力例を書いただけです。
571572さんのものがうまくうごかないので
>>571 はコンパイルエラーが出るが
>>572 はちゃんと動いたぞ
ところで「Meの使い方が不正」ってエラーを前にも見た気がするんだが、もしかして同じ人?
何か特別な環境でプログラム作ってんの?
>>557 なんとなくやりたいことがわかってきた。
もしかして、こうか?
Sub bbb()
A = Range("A65536").End(xlUp).Row
C = Range("C65536").End(xlUp).Row
R = 2
For i = 2 To A
For j = 2 To C
If Cells(i, 1) = Cells(j, 3) Then
If Cells(i, 2) <> Cells(j, 4) Then
Cells(R, 5) = Cells(i, 1)
Cells(R, 6) = Cells(i, 2)
Cells(R, 7) = Cells(j, 4)
R = R + 1
End If
End If
Next j
Next i
For i = 2 To A
f = False
For j = 2 To C
If Cells(i, 1) = Cells(j, 3) Then
f = True
If Cells(i, 2) = Cells(j, 4) Then
f = False
End If
End If
Next j
つづき If Not f Then Cells(R, 5) = Cells(i, 1) Cells(R, 6) = Cells(i, 2) R = R + 1 End If Next i For j = 2 To C f = False For i = 2 To A If Cells(i, 1) = Cells(j, 3) Then f = True Next i If Not f Then Cells(R, 5) = Cells(j, 3) Cells(R, 7) = Cells(j, 4) R = R + 1 End If Next j End Sub
なんて冗長な…
588 :
名無しさん@そうだ選挙にいこう :2008/09/22(月) 21:43:35
581>>そうなんですよね。 でも他のパソコンにいれた時はできたんで、 アップグレードではないと思うので おかしいんですよね‥ どうしたらいいのでしょうか。何か考えられるものはありますか?
>>588 それは「他のパソコン」にアップグレード可能なOfficeが入ってただけだと思うが。
つーか、Officeは1台に一つ。何台にも入れるのは違法。
例外として同じ人が使う、かつ、同時には使わない場合には2台まで。
590 :
585 :2008/09/22(月) 21:51:04
>>587 俺もそう思ったが、質問が愛麻衣でこの結果が正しいかどうか確信が持てないので最適化する気になれん
>>588 アップグレードではない「と思う」ってどういう事?
MOSスペシャリスト検定のエキスパートを受検しようと今勉強中なのですが、 家のExcel2003にはその検定の途中に出てくる「XML」という機能がありません・・・。 これってもしかしてOffice Professional Edition 2003っていうモノをインストールしてないと ダメなんでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 セルのA1に10%や20%等のパーセンテージが入ります。 Select Case Cells(1, 1) Case Is = cells(1,1)="A" たとえばA1が10%だったらAという文字を入れたいんですが Case Isの後はどんな感じにすればいいのでしょうか? 10という整数を入れてもダメでした。 よろしくお願いします。
>>592 そうです。 2003のStandard版にはXML機能はありません。
>>594 ありがとうございます。そうなんですかぁ。
どうやって勉強しよorz
597 :
名無しさん@そうだ選挙にいこう :2008/09/22(月) 23:57:17
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 微妙に 【4 VBAでの回答の可否】 可 【5 検索キーワード 】新しいセル 追加 新しいワークシートを追加し、ピボットテーブルをそこに作るマクロなんですが、 実行すると、たまに永遠に新しくシートを作り続けてしまうエラーが発生してしまいます。 新しくシートを追加し、そこに名前を付け、アクティブにする構文は 以下でいいのでしょうか? Worksheets.Add after:=Worksheets(Worksheets.Count) ActiveSheet.Name = "aaa" 上記の構文より下の部分は、ピボットテーブル作成を記録し、そのまま貼りつけました。 なので、動くことは動くんですが…
>>597 そのマクロはどうやってスタートさせてんの?
>>597 >新しくシートを追加し、そこに名前を付け、アクティブにする
シートを既存のシートの末尾に追加する(追加したシートがアクティブになる)
>Worksheets.Add after:=Worksheets(Worksheets.Count)
シート名を変更する
>ActiveSheet.Name = "aaa"
どこも間違ってはいないようですね・・・
情報を小出しにされると遠回りになるだけなので
できるだけ詳しく書くべきだと思います
600 :
名無しさん@そうだ選挙にいこう :2008/09/23(火) 00:24:19
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL VBA TabStrip 追加 ユーザーフォーム内のタブストリップのタブを 右クリック→新しいページ、からではなく コード内の記述で追加したいのですが ネットで調べたりヘルプを見ましたが良くわかりませんでした すみませんがサンプルのコードをお願いします
602 :
600 :2008/09/23(火) 00:47:04
>601 素早い回答ありがとうございます 助かりました
603 :
名無しさん@そうだ選挙にいこう :2008/09/23(火) 03:21:00
>>603 そんなぶっ壊れたファイルを開かせて
被害を拡大さすつもちか?
606 :
548 :2008/09/23(火) 12:33:56
>>550 ありがとうございます!望みどおりの動作です!
607 :
名無しさん@そうだ選挙にいこう :2008/09/23(火) 13:51:18
【1 OSの種類 .】 WindowsXPHome 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel ヘッダー 整形 Excelのヘッダーに 「ページ:*****1」(*は半角スペース)というふうに スペースの後にページ番号を打ちたいのですが、 これを文字からページ番号の1の位までの位置を一定に保つことはできませんか? 1桁のときはスペース5個、2桁ならスペース4個という風にしたいのです。 ページ:*****1 ページ:****10 ページ:***100 宜しくお願い致します。
>>607 ヘッダ、フッタの桁合わせにはたしかVBAが必要だった希ガス
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 NG 9月1日 30 9月2日 40 9月2日 20 9月3日 10 9月3日 80 9月3日 90 このように注文があった場合に lookup関数とかを駆使して 9月1日 30 9月2日 80 9月3日 180 というように足し算して日ごとに集計する方法ありますか? 注文の数は各日まちまちで2回あったり3回あったりします。
↑ ピボットテーブルww つか、sumifでいんじゃね?
マクロ名とオブジェクト名を「test」という 同じ名前で設定すると、Alt+F8で表示されるマクロ名が シート名!+test.test と表示されるのですが、これはなぜでしょうか? 同じにしたほうが、VB画面ではわかりやすいと思ったのですが・・・。
>>611 同時に使う可能性がある2つのものに
同じ名前を付けるのは基本的にやってはいけないことだと思いますよ
(他の人が修正するときやコンピュータが処理するときに混同される可能性があるため)
McrTest ObjTest などのように違う名前をつけるようにしましょう
>>612 ありがとうございます。
そういう可能性があるのですね。
違う名前で管理しようとおもいます。
614 :
609 :2008/09/23(火) 17:05:17
sumifの使い方がイマイチわかりません。。。
>>614 例えばB8のセルに9月1日の計を表示、B9のセルに9月2日の計を表示させる例↓
A B
1 9月1日 30
2 9月2日 40
3 9月2日 20
4 9月3日 10
5 9月3日 80
6 9月3日 90
7
8 9月1日 =sumif(a1:a6,a8,b1:b6)
9 9月2日 =sumif(a1:a6,a9,b1:b6)
=sumif(範囲,検索条件,合計範囲)
617 :
609 :2008/09/23(火) 18:09:34
>>615 ありがとうございました
エクセル使い始めて10年以上ですが始めて知りました・・・
A B 1 9月1日 30 2 9月2日 40 3 9月2日 20 4 9月3日 10 5 9月3日 80 6 9月3日 90 7 8 9月1日 =sumif(a1:a6,a8,b1:b6) 9 9月2日 =sumif(a1:a6,a9,b1:b6) =sumif(範囲,検索条件,合計範囲)
619 :
609 :2008/09/23(火) 18:10:21
(´ω`)のろまったorz
621 :
名無しさん@そうだ選挙にいこう :2008/09/23(火) 18:14:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excelでグラフの機能では基本的に散布図以外に使用しないのですが、デフォルトでグラフウインドウを開いたときに 散布図にカーソルがいくように出来ないでしょうか? よろしくお願い致します。
横着なだけだろ。。。。我慢しろ
>>621 ツールバーにマクロボタンを追加して以下のマクロを登録しとけ
Sub sanpuzu()
SendKeys "%I", True
SendKeys "H{DOWN 4}{TAB 4}"
End Sub
【4 VBAでの回答の可否】 否
626 :
ド素人 :2008/09/24(水) 03:09:08
TODAY()から 土、日の時だけ休みと表示させたいのですがどうすればいいですか?
=IF(WEEKDAY(TODAY(),2)>=6,"休み","")
628 :
ド素人 :2008/09/24(水) 07:21:28
>>627 6と7じゃなくて6以上の条件 なるほど ありがとう
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 VBAでの回答希望です。 A B 50 45 +1 65 60 75 65 85 75 80 70 70 75 -1 65 70 Aのセルの数値をBが越えたら+1、下回ったら-1とCのセルに表示させたいです。 ただし連続して上回る、または下回る場合は表示させたくないのですがよろしく お願いします。
630 :
629 :2008/09/24(水) 17:25:21
>>629 【3 VBAが使えるか .】 いいえ
すみません間違えました。
使えますのでよろしくお願いします。
>>629 Sub a()
If Cells(1, 1) > Cells(1, 2) Then Cells(1, 3) = "'+1"
If Cells(1, 1) < Cells(1, 2) Then Cells(1, 3) = -1
r = 2
While Cells(r, 1) <> ""
If (Cells(r, 1) > Cells(r, 2)) And (Cells(r - 1, 1) <= Cells(r - 1, 2)) Then Cells(r, 3) = "'+1"
If (Cells(r, 1) < Cells(r, 2)) And (Cells(r - 1, 1) >= Cells(r - 1, 2)) Then Cells(r, 3) = -1
r = r + 1
Wend
End Sub
>>629 ワークシート関数でやった方が簡単だと思うんだけど
Sub a()
Columns("C:C").NumberFormatLocal = "+0;-0;0"
s1 = Sgn(Cells(1, 1) - Cells(1, 2))
Cells(1, 3) = s1
r = 2
While Cells(r, 1) <> ""
s = Sgn(Cells(r, 1) - Cells(r, 2))
If s <> 0 And s <> s1 Then Cells(r, 3) = s
r = r + 1
s1 = s
Wend
End Sub
>>629 > Aのセルの数値をBが越えたら+1、下回ったら-1
この説明、逆だよね?
634 :
629 :2008/09/24(水) 22:50:16
>>631 、
>>632 説明間違ってました・・・_| ̄|○
試したところバッチシでした。
ところでもう一つお願いがあるのですが例えばAのセルがBの
セルの数値より大きくて(ここまでは先程と一緒)なおかつ
Aのセルの数値が75以上だったら+1を出すにはどうすればいいのでしょうか?
>>629 の場合ですとC3に+1が表示されるようにしたいのです。
よろしくお願いします。
>>634 その条件だけではプログラムが作れない。
Aが75でBも75の時、
Aが75でBが80の時、
それぞれどうなる?
636 :
629 :2008/09/25(木) 00:05:55
>>635 >Aが75でBも75の時
この場合はAがBを越えていないので+1でも-1でもなく、
>Aが75でBが80の時
この場合はAはBよりも小さいので-1の条件になります。
これで解りますかね?
説明下手ですみません。
>>636 もう一つ確認。
70 60 +1
75 65 +1
70 60
75 65 +1
こういうふうにデータが並んでた時は、この例のように3ヶ所に「+1」と表示するの?
638 :
629 :2008/09/25(木) 07:10:00
>>637 70 60 AはBより大きいが75以下なので表示せず。
75 65 +1 AはBより大きくなおかつ75以上なので表示。
70 60 AはBより大きいが連続しているので非表示。
75 65 これも条件に達しているが連続しているので非表示。
AはBより大きくなおかつAが75以上になったら+1
のスイッチオン。
AがBより小さくなったら-1のスイッチオン。
ともに反対のスイッチが入るまではスイッチが入った
ままで、スイッチが入った時のみ+1、-1を表示。
こんな感じです。
よろしくお願いします。
>>638 >70 60 AはBより大きいが75以下なので表示せず。
>75 65 +1 AはBより大きくなおかつ75以上なので表示。
>70 60 AはBより大きいが連続しているので非表示。
>75 65 これも条件に達しているが連続しているので非表示。
は
>AはBより大きくなおかつAが75以上になったら+1
だから
70 60
75 65 +1
70 60
75 65 +1
となるはずでは?
640 :
639 :2008/09/25(木) 09:07:13
解釈が間違ってないなら
>>632 のを改変してやらせてもらうと
Sub a()
Columns("C:C").NumberFormatLocal = "+0;-0;0"
s1 = Sgn(Cells(1, 1) - Cells(1, 2))
If s1 > 0 And Cells(1, 1) < 75 Then s1 = 0
If s1 <> 0 Then Cells(1, 3) = s1
r = 2
While Cells(r, 1) <> ""
s = Sgn(Cells(r, 1) - Cells(r, 2))
If s > 0 And Cells(r, 1) < 75 Then s = 0
If s <> 0 And s <> s1 Then Cells(r, 3) = s
r = r + 1
s1 = s
Wend
End Sub
結果
70 60
75 65 +1
80 70
75 65
55 60 -1
75 65 +1
641 :
641 :2008/09/25(木) 10:16:27
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel、エラー、ファイルなど Excelにて作成したファイルに入力して保存しようとすると、 「問題が発生しました」と表示され保存できません。 過去にも同様の現象が起きたのですが、 とあるワークシートのとあるセルの数式が勝手に書き換えられていました。 今回も同様の現象だと思うのですが、上記の勝手に書き換えられたセルの特定を迅速に行う方法が知りたいのです。(*1) エラー時に、「BF990000」などの拡張子の無いファイルが作成されるのですが、 メモ帳などでは読めませんでした。 このファイル内にセルを特定するような情報が記述されているのでしょうか? もし記述されているようでしたら、*1が迅速に行えると思いますので、 この拡張子の無いファイルを読む方法をご教示ください。 また他の方法でも結構ですので、エラー元となるセルを特定するのに、 良い方法がありましたらご教示ください。
再インストール
ブックが壊れてるんだろ、普通に そんなもん直せんわ
直す方法を聞いてるわけじゃないようだが 新規のブックに全部コピペすれば直るんじゃ? エラー元の特定がしたいなら正常なセルを消していけばいい 適当な範囲を消して行ってエラーが無くなったらその辺が原因
645 :
名無しさん@そうだ選挙にいこう :2008/09/25(木) 12:23:07
すみません、よろしくお願いいたします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル ブックの共有 保存 出来ない 上書き エクセルの、ブックの共有機能についてお伺いしたいです。 エクセルファイルを共有サーバー上でブックの共有にして3人で使用しています。 ですが、他者が開いていると後から開いた人がファイルを上書き保存できない事が増えてきました。 毎回必ず保存できないわけではなく、だいたい7割ぐらいの確率で保存できません。 特にエラーは発生せず、保存されたように見えるのですが、閉じて開くとデータがありません。 色々調べてみたのですが、調べ方が悪いのかこういう事例は見つかりませんでした。 もちろん、共有が外れてたなんてことはないですし、他者が消したということもありません。 原因、対策などございましたらご教授ください。
>>645 保存されてるのは実は最後に保存した人の分だけとか?
ブックの共有の設定は見直した?
使ったことないから知らないが・・・w
647 :
名無しさん@そうだ選挙にいこう :2008/09/25(木) 16:43:18
よろしくお願いします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 配列 一致 かな? A1=1 B1=2 C1=3 D1=4 E1=5 A2=2 B2=4 C2=5 D2=7 E2=10 のように数値が入力されていたとします。 このとき、上のグループと下のグループで、 2,4,5が共通な要素で つまり共通な要素が3つあるのですが、 fx{(A1:E1)∩(A2:E2)}=3 となるような関数fx ってありますでしょうか? よろしくお願いします。
>>647 =SUM(COUNTIF(A2:E2,A1:E1))
数式入れたらShift+Ctrl+Enter
649 :
648 :2008/09/25(木) 17:02:23
650 :
名無しさん@そうだ選挙にいこう :2008/09/25(木) 18:05:18
>>648 >>649 リンクともども、速攻レスありがとうございました!
こういうの、ぱっと答えられちゃう人、尊敬。
配列、すっごく便利ですね。
これを機に、勉強してみます。
リンク先、わかりやすいです。
大感謝です!!
651 :
名無しさん@そうだ選挙にいこう :2008/09/25(木) 19:01:08
【1 OSの種類 .】 Windows2000以降 【2 Excelのバージョン 】 Excel2000以降 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 A表 日付 仕入先 金額 9/1 山田商店 100 9/1 山田商店 200 9/1 田中電子 150 9/5 山田商店 120 9/5 田中電子 180 9/5 山田無線 330 : B表 <9/1> <9/5> … <山田商店> x n <田中電子> y m 仕入明細のA表があり、それにリンクした形で同一ブック上にB表を作りたいです。 B表において、<9/1>の日付と<山田商店>の仕入先名称がA表と合致する時に、 xに9/1の山田商店の仕入合計(この場合300)を表示させるにはどうすればいいでしょうか。 ちなみに、山田商店と山田無線は親子関係にある会社で、B表上では <山田商店>と書いてあっても実際は<山田商店+山田無線>の合計になるようにしたいです。 よろしくお願いします。
>>651 静的(合計を出した後、A表を修正しない)ならピボットテーブル、
動的(A表にデータがどんどん追加や修正される)ならSUMIFで計算できる
sumifを2回でOKじゃね?
>>651 「2000以降」って言われても、2000〜2003と2007では全然違うから。
2007では集計関数が強化されてるから、そういう合計は一発で出すことが出来る。
どのバージョンでも使えるのはピボットテーブルだけど、動的な集計が出来ない。
SUMIFで集計するには基本的に作業列が必要。
655 :
651 :2008/09/25(木) 22:04:52
回答有難うございます。
>>652 SUMIFだとどのような論理式になりますか?
ANDとSUMIFを組合わせようとしたのですが上手くいかなくて…。
>>653 2回…どんな感じに組立てればいいでしょう。
>>654 申し訳ありません。
複数人が使用する予定のファイルで、各自のバージョンは2000〜2003です。
>>655 A B C
1 日付 仕入先 金額
2 9/1 山田商店 100
3 9/1 山田商店 200
4 9/1 田中電子 150
5 9/5 山田商店 120
6 9/5 田中電子 180
7 9/5 山田無線 330
という表があったとして、D列を作業列とする。
D2に =MONTH(A2)&"/"&DAY(A2)&B2 という式を入れてオートフィル。
あとは =SUMIF(D2:D7,"9/1山田商店",C2:C7) でお望みの集計結果が出せる。
この "9/1山田商店" の部分をB表の左端と上端から合成して作ればいい。
DSUM使うのはどうだろう? CriteriaはExcel2002以外なら 日付 仕入先 9/1 山田 Excel2002なら 日付 仕入先 9/1 山田* これなら山田商店も山田無線も集計されるしさ。
658 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 01:28:18
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 電話番号の修正について質問です。 090-1234-5678 90abcdefgh 090(ABCD)EFGH 03-1234-5678 3abcdefgh 042-1234-5678 ・・・・ と、ハイフンやかっこで区切ってあるもの、頭の0が表示されていないもの、携帯と固定電話が一緒になっています。 これを頭に0を表示していないものは表示し、各番号に下から4桁、4桁のところにハイフンを入れたいです。 さらに A B 090-1234-5678 090-abcd-efgh 090-ABCD-EFGH 03-1234-5678 03-abcd-efgh 042-1234-5678 ・・・・ と携帯と固定電話で列を分けて表示するにはどうしたらいいのでしょうか? よろしくお願いします。
>>658 元データがC1以下C列に入っているとして、D、E列を作業列にする。
D1=SUBSTITUTE(SUBSTITUTE(IF(LEFT(ASC(C1),1)="0","","0")&ASC(C1),"(","-"),")","-")
E1=IF(ISERR(FIND("-",D1)),LEFT(D1,LEN(D1)-8)&"-"&MID(D1,LEN(D1)-7,4)&"-"&RIGHT(D1,4),D1)
A1=IF(OR(LEFT(E1,3)="080",LEFT(E1,3)="090"),E1,"")
B1=IF(OR(LEFT(E1,3)="080",LEFT(E1,3)="090"),"",E1)
でも、一言言わせてもらうと固定電話の市外局番は4桁とは決まってないよ。
>>658 > 042-1234-5678
これ、ありえないから。
固定電話は大阪の一部だけが9桁で、あとは10桁だったはず。11桁は携帯だけ。
この場合だと局番が3桁で 042-123-4567 みたいになる。
661 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 08:38:26
使えねぇな
662 :
658 :2008/09/26(金) 09:21:04
>>659 ありがとうございます。
市外局番は気付いてましたが、とりあえず振り分けようということで無視してます。
これもきちんと直せるのでしょうか?
>>660 すみません、例に出す桁数を間違えてました。
実際には10桁で入っているはずです。
663 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 09:48:00
よろしくお願いします。
>>647-649 の応用です。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 配列 条件 かな?
A1=3 B1=2 C1=6 D1=4 E1=5
A2=2 B2=4 C2=5 D2=7 E2=8
のように数値が入力されていたとします。
このとき、上のグループと下のグループを
各列ごとに比較すると、
上のグループが下のグループより大きいものが2つあります(A1とC1)。
そこで
fx(A1>A2,B1>B2,C1>C2,D1>D2,E1>E2)=2
となるような関数fx ってありますでしょうか?
>>648 を応用していろいろ作り変えてみたのですが、
どうもうまくいきません。
よろしくお願いします。
664 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 09:54:03
レベルの高いバカが現れたな
>>663 =COUNTIF(A2:E2,">"&MAX(A1:E1))
配列数式は必要ない
・・・学校の課題かな?
666 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 10:06:30
セルの中に少し長い文章を書くときって 勝手にセルが、文章に合わせて 下に伸びてくれないの? 横に1行で長くなってしまうんだけど・・・・・
セルの書式−配置−折り返して全体を表示
668 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 10:13:19
>>667 ありがとう
ただ、質問を間違えました
セルを結合した場合を聞きたかったんです
すいません
マクロに登録はやり方がわかったのですがボタンに登録する方法がわかりません どうすればいいのでしょうか?
A列に名前 B列にフリガナが書いてるのですが あ行のみ名前を抜き出したりしたいのですが どうすればよろしいのでしょうか?
671 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 10:49:18
>>670 オートフィルタで
あ 以上 AND お 以下
とかにする
条件反射でレス打ってた・・・ 先頭1文字作業列作って抜き出してやってね
>>669 Excelのバージョンぐらい書かなきゃ
676 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 11:21:32
>>665 レスありがとうございます。
A1=3 B1=2 C1=6 D1=4 E1=5
A2=2 B2=4 C2=5 D2=7 E2=8
列ごとに比較して上の行で下の行を上回るセルの数は2です。
(A1とC1)
=COUNTIF(A2:E2,">"&MAX(A1:E1))
確かにこれだと、答は2になりますが、MAXに疑問を感じたので、
D2=6 E2=6に変えると、答はやはり2のはずなのに、0になってしまいますね。
どうしたらいいでしょう?
「上回る」ってもしかして「以上」だったのか? もしそうならMAXとかではなくて不等号の問題
>>676 単純に、こういうことでしょ
{=SUM(IF(A2:E2>A1:E1,1,0))}
669です シートの中にボタンを表示させてそのボタンを押せばマクロを実行させたいのです
>>680 貼り付けた直後にそのボタンをダブルクリック
A4用紙に十字の線いれて4分割にしてそれぞれ図と説明書きを入れたいんですけどそういうのってエクセルでやるとめんどくさいんでしょうか? ワードのがいいならそっち覚えようと思います。 あとエクセルってルビ入れたり横書きの間に縦書き入れたり行間自由にできますか?
最終的に紙に印刷するならWordのが向いてるよ Excelは印刷がウンコの搾りカス以下だから苦労するんじゃないかな
Excelは文書作成ソフトではなく計算ソフトですよ
簡単な文書や広告ならエクセルのが速いって聞いたんだけど・・・
>>686 「簡単な」文書や広告ならな
>横書きの間に縦書き入れたり
Wordよく知らないがこれってできるのか?
テキストボックス使えば出来ますよ
>>686 縦書きと横書きが混じるのは「簡単じゃない」けど、そういうのってある程度使い慣れてから
わかることなんだよな。
でもいちいちテキストボックスを貼り付けるんならExcelでも手間は大差ないけどな。
印刷目的なら間違いなくWordのがいい。
>>683 縦書きの中に横書きって組み文字のことじゃね?だったら一太郎使え。
Wordは日本語特有の文字の並べ方、とくに等間隔で文字が並ぶ縦書きが苦手。
できないことはないけど、かなり注意して編集しないと記号や約物が横倒しになったり
変な方向にずれたりする。縦書きフォントを使えばいいとか、そんな簡単なことじゃない。
Excelは論外。
印刷するんでワードにします プレビューで正確に表示されててもプリンタから吐きだした物のレイアウトが乱れてたりしたら嫌なので レスくれた人たちどうもありがとこうございました
>一太郎使え いろんな意味でありえねぇ回答だぜ
693 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 14:55:19
>>679 勉強になりました。
ありがとうございました!
694 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 20:17:38
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2008 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 空白の存在する表で min関数やAVERAGE関数を用い 空白を除いて計算するにはどうすれば良いでしょうか? よろしくお願いします。
試してみた? 空白は無視して計算するはず
696 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 20:43:41
試したのですが、minは空白のゼロが出て、 AVERAGEは空白行も含めた行数の平均になってしまいます。
うちには2008はないから検証できんなあ。2007から仕様が変わったんだろうか。
>>696 2007で試してみたけど、どっちの関数もちゃんと空白はノーカンになったぞ。
何か書式とか設定されてない?
699 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 21:03:54
お騒がせしてすみません。 書式は何も設定していません。
700 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 21:06:12
たびたびすみません。 表示形式が通貨になっていました。 標準の表示形式では、ちゃんと計算できました。 ありがとうございました。
空白のつもりで0を入力してるとか
702 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 21:21:35
>>701 さん
そうでした・・・笑
関数で0が表示されているセルに
minやavregeを使うからおかしくなったんですね・・・
ありがとうございました。
>>686 セルを方眼のように使うとバカでもそれなりにレイアウトが取れる
小学生は工作でも図表作成でもなんでも方眼入りの紙使うし、
小学校低学年はノートまで罫線ではなく方眼なように、
方眼があればレイアウトを脳内で明確にイメージする能力が無くても
そこそこのものが作れる
だから、そういう能力に欠ける人は、先に明確なイメージを作らなくても
行き当たりばったりでそこそこ形になる方眼ベースが楽に感じるかも知れないが
そういう能力さえあれば、簡単な文書でもワープロの方が速くなる
これはパソコンの知識とはあまり関係ないので、出来る人は最初から出来るし
何年もパソコン使っていながらいまだにExcelで文書や広告、計算無しの図表などを作ってる人もいる
704 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 22:46:18
ROUNDUPについて聞きたいのですが。(情報処理検定3級) B11の割合を求める問題で、割合は、「月別計(B10)/月別計の合計(F10)」 条件は、%表示で少数第1位まで表示する内容で、 私は、ROUNDUP(B10/$F$10,1)だと思ったのですが、 回答を見てみると、ROUNDUP(B10/$F$10,3)と書いてありました。 なぜ3なのでしょうか?少数第1位までなら1で表示できると思うのですが、 %に直す仮定で3のほうが効率が良いとでもなってるのでしょうか? なぜ3なのかわかる方いましたら教えてください。 お願いします。
>>704 0.1%=0.001だから。%形式に直す前の数値を基準に少数以下の桁数を数える。
706 :
名無しさん@そうだ選挙にいこう :2008/09/26(金) 22:57:25
>>705 有難うございます。また何かあったらよろしくお願いします。
>>236 英語版だけど。
アウトラインの右下にあるちっこいマークをクリックしてダイアログボックスを出す。
で、 Summary rows below detail のチェックをはずす。
日本語が分からんけど、チェックボックスが 3 つしかないから分かるっしょ。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2000 すみません。一般的な質問なんですが、 昔、ノートPCを買った時にExcel2000とワードが 付属ソフトとして付いてきました(CD-ROMもあり)。 そろそろ新しいExcelに買い換えたいのですが、 この場合、新規で買わずにアップグレード版を 買っても構わないのでしょうか? Excel2000時のユーザー登録ははっきりと覚えていないのですが してないと思います。
いいよ。ユーザー登録は関係ない
2002以前は登録しなくてもOK
本当はダメだけどね。 その手のOfficeは有る意味DSPなんだよ。 そのPCで使う事を前提として安く提供されてるんだ。 馬鹿馬鹿しいけど値段に反映されてるんだから仕方ない。 対して、パッケージ版のクソ高いofficeはPCの指定無しに 一台のみライセンスって事だけだから、AにインスコしてBにも インスコするのはライセンス違反だけど、Aから消してなら BでもCでも好きなPC一台にインスコできる。
馬鹿はレスしなくていいんだよ
708です。皆さんありがとうございます。 本当はダメだけど、アップグレード版は買えるのですね^^; それでやってみようと思います。 今はアクティベーションで ネットからIDとか監視しているのですかね? 同じExcelが同時に動いてたら、 警告したり、片方の起動を止めるとか…。
714 :
名無しさん@そうだ選挙にいこう :2008/09/27(土) 16:26:33
ごちゃごちゃ言うなら通常版買えよ、カスが!!
715 :
名無しさん@そうだ選挙にいこう :2008/09/27(土) 21:39:54
【1 OSの種類 .】 Windows 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 下記の様なリストがあり、 A列とB列で同じセルが無いかを簡単に比較する方法はありませんか。 (下で、犬、猫を抽出する方法) A B 1 リンゴ 犬 2 ミカン 猫 3 スイカ 猿 4 犬 豚 5 マンゴー 猪 6 猫 熊 今は、ひとつづつ検索をかけています。 よろしくお願いします。
716 :
名無しさん@そうだ選挙にいこう :2008/09/27(土) 21:45:00
>>715 です。
スペースがうまく表示されず、表が崩れてしまってすみません。
717 :
名無しさん@そうだ選挙にいこう :2008/09/27(土) 21:52:11
excelにまとめているアドレス帳内の全てのメアドに、BCCでメールを一括送信したいです。 普通にやると、メアドを1つ1つコピペしなければなりませんが、自動処理など楽する方法はあるのでしょうか。 教えてくださいまし。。。
>>715 意味わからんw 下の例で1の様にAとBのセルが同じなら抽出するってこと?
A B
1 犬 犬
2 リンゴ 犬
>>717 メールの送信にOutlookを使うなら、
Excelでメールアドレスの入ってる列を選択してコピー→Outlookのメッセージの作成ウィンドウでBCC欄にペースト
するだけで何百件あろうと一度に送れる。
721 :
720 :2008/09/27(土) 22:02:22
>>717 >>720 手順が1個抜けた。
メッセージの作成ウィンドウで「CC」ボタンを押して、出てきたウィンドウのBCC欄に貼り付け
>>721 ありがとうございます。
あら、そんな単純な話だったんですね、、、
まとめてコピペするとメアド毎に改行されてますが
メアド同士の間の;とかは送信時に勝手に処理してくれるってことですかね。
標準機能に無いので、VBAを使わずに抽出することは出来ない B列の重複分に目印を付けるだけなら、これをC列にコピーすればいける =IF(ISNA(VLOOKUP(B1,A:A,1,FALSE)),"","*")
>>645 うちの会社でマックをサーバーとして使ってたとき
複数のPCから同時に同じエクセルファイルを開けた
あとから開いても「使用中云々」のメッセージも出ない
結局保存されるのは最初に開いたやつの分だけだとわかった。
もしこんな感じなら対処法は「声を掛け合う」くらいだったが…
共有されたファイルを同時に開こうとすると、後から開いたマシンでは読み取り専用になるはずだけど
727 :
名無しさん@そうだ選挙にいこう :2008/09/28(日) 01:18:09
2003の場合は、ツール→ブックの共有の機能を有効にすれば、 複数のユーザーで同時に編集が可能だよ。 複数のユーザーで同一箇所の編集を行った場合は、後から保存しようと したほうのユーザーのエクセルに確認メッセージが出た気がする。
>>574 です。アク禁がとけました。
>>578 さんどうもありがとうございました
改めて続きの質問をさせてください
B列の数値と特定の数値(例えば4.5)と一番近い数値の行数を知りたいのです。
-----C------D-----E--------F
02 ********<0.3> 「****」と「< >」はここで縦の列を揃えるためです
03
04 < 95.5> <95.5> C列はB列からINDIRECT関数で得た数値を引き算した結果
05 < 90.2> <90.2> C4=95.5はB4=100 から 4.5 を引いた結果です
省略*********** D列はC列の絶対値のABS関数で「-」を削除
44 < 4.5> <4.5> セルD2は=MIN(D4:D70)でD列の一番小さい数値0.3を表示
45 < 0.3> <0.3>
46 < -5.5> <5.5> ワンステップごとに処理しないと後で何をやっているのか
省略*********** 分からなくなるのでとりあえず今はこうしています
70 <-50.1> <50.1>
ここまでは何とか出来たのですが、次にどうしたらD列の<0.3>ある行数の45を
表示することが出来るのか教えてください。
どうかよろしくお願いします
>>728 =match(D2,D4:D70,false)+3
>>729 行数がセルに表示できました。
MATCH関数の使い方を参考にして、あれこれいじっていたら出来ました。
英単語からの発想でSEARCH、FIND、みたいなのばかり見ていました
どうもありがとうございました
731 :
名無しさん@そうだ選挙にいこう :2008/09/28(日) 12:52:46
「ファイルを開く」→「ファイルの場所」で、いつもマイドキュメント が出るのですが、これ、一つ前にアクセスした場所になるよう指定でき ませんか? よろしくお願いいたします。
>>731 カレントフォルダは設定でマイドキュメント以外に変更できる。
よく使う場所が数ヶ所ならマイプレースに登録。
「一つ前にアクセスしたフォルダ」ってのはできない。
VBAでなんとかなるかな?
初心者的な質問ですみません…。 私が会社で使ってるパソコンが新しくなって、office2003に変わったのですが、一部のソフト(smile)がExcel2000にしか適応していません。 このためExcel2000だけをDドライブに入れて、一部のソフトだけで使いたいのですが、可能ですか? 小さな会社なので誰も分からないとしか言ってくれません。詳しいお兄さんたち…宜しくお願いします! OSはXPです。
734 :
名無しさん@そうだ選挙にいこう :2008/09/28(日) 16:20:42
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBでのみ回答お願い致します。 VBを使って、入力した数値を10000なら100k、1000000なら1Mみたいな感じで単位を変更する機能を付けたいのですが どうすれば良いでしょうか? それとVBで、常用対数を使い方を教えて下さい。 お願い致します。
735 :
734 :2008/09/28(日) 16:50:26
常用対数に関しては自己解決しました。 あと単位換算について回答お待ちしております。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 VBAで特定のシート名のシート以外を削除する方法を探しています。 「Sheet1」〜「Sheet10」の10シートを含むブックで 「Sheet1」と「Sheet10」を除く、「Sheet2」〜「Sheet8」を 削除したいと思っています。
737 :
736 :2008/09/28(日) 17:26:59
間違いがありました。 「Sheet1」と「Sheet10」を除く、「Sheet2」〜「Sheet8」 →「Sheet1」と「Sheet10」を除く、「Sheet2」〜「Sheet9」 の間違いです。お願い致します。
Sub TEST() Application.DisplayAlerts = False For Each WS In Sheets If WS.Name <> "Sheet1" And WS.Name <> "Sheet10" Then WS.Delete End If Next End Sub
740 :
736 :2008/09/28(日) 17:56:42
>>738-739 ありがとうございます!
希望通りの動作でした。あとは最後に
Application.DisplayAlerts = True
をつければ良いのですね。
>>734 VBとVBAは違う物だから注意な
Function x(a)
x = a
If a >= 1000 Then x = a / 1000 & "k"
If a >= 1000000 Then x = a / 1000000 & "M"
End Function
>>733 2000と2003を1台のパソコンに同時に入れて使い分けるのは可能だが、
そのsmileとやらは見たことも聞いたこともないので、
その状態で正常に動作するかどうかは知らん。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 新しいマクロでデスクトップにCSVファイルで保存する作ろうと 思いましたが出来ませんでした。 どなたか教えて下さい。 おながいします。
Sub TEST() ActiveWorkbook.SaveAs Filename:=Replace(UCase(ThisWorkbook.FullName), ".XLS", ".CSV"), FileFormat:=xlCSV End Sub
>>742 ありがとうございます!ドライブを分けてインストールすれば大丈夫ですよね?
748 :
名無しさん@そうだ選挙にいこう :2008/09/28(日) 23:50:47
6階層のドロップダウンリスト作ってるのですが 同じ文字列を違う条件で検索するのに いちいち判別記号をつけているのですが 何か良い案を教えてください! マクロ使えず VLOOKとINDIRECTを単体でしか使えず 困っています。
>>747 えっ…それってExcel起動したら2000が出てくるとか、エラーにならないんですか?
普通にExcel2003が立ち上がりますか?
たびたびすみません…。
昔会社でやったけど スタートメニューに2000と2003両方のアイコンが出来て、 どっちでも立ち上げられるようになるはず
>>750 そうでしたか!ありがとうございました!
明日会社で試してみます。色々とすみませんでした。
>>749 そのままの状態だとxlsファイルのダブルクリックでは後からインスコした方が起動するから注意な。
これはどのドライブに入れても同じ。
セルに入力後enterおしてから次に移動するセルを 指定することってできるんですか? でふぉではしたのセルですよね
754 :
名無しさん@そうだ選挙にいこう :2008/09/29(月) 02:05:09
たとえばc3の次にa3を入力c4の次はa4とか いうかんじで…
予めCtrlを押しながら入力したいセルを全部選択しておけば その順番にEnterで移動する
どうもm()m 入力する順番は決めれないんでしょうか? でふぉだと列ごとみたいですが行ごとに
ツール→オプション→編集→入力後にセルを移動する→方向 を変更(下→右)
あーありがとうございまっす♪
smileって大塚商会のか?w べつに2003でも問題ないでしょ。 何か不具合あったの?
760 :
名無しさん@そうだ選挙にいこう :2008/09/29(月) 08:32:05
【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2003 セルにカーソルを置くと、上のツールのボタンの所に、 そのセルに書いてある文字や、数式が表示される物があったのに、 いつの間にかなくなっていました。 不便なのでもう一度出したいのですが、どのようにしたらよいですか? よろしくお願いします。
ツール→オプション→表示タブ→数式バーにチェック。 ↑ いま2000でしか確認できないけど、2003もさほど変わらんでしょw
762 :
760 :2008/09/29(月) 08:45:51
>>761 出ました、ありがとうございます、助かりました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 データの集計に関してです。 あるデータをピボットテーブルを使い纏めたのですが 縦にずらっと長くなってしまい資料として見辛いです。 画面の左半分しか使っていないため、右にも表示されるようにして 今の画面の二倍の情報量を表示したいのですが可能なのでしょうか? 検索してもそのような使い方はありませんでした…orz また、ピボットはマクロ化やテンプレートのようにして 呼び出して使う事はできるのでしょうか? 毎回テーブルを作成するたびに同じ作業をしなければ ならないのでしょうか…?
764 :
645 :2008/09/29(月) 15:35:44
>>646 いえ、設定自体は複数から編集を可能になっていました。
みんなで何度も見直してみたのですがだめで。
>>725 それ!まさにそれです!
マックじゃないんですがそれです!
声をかけあう…やっぱりそれしかないんですね。
ありがとうございました。声かけあってみます。
>>764 それでいいんなら普通のファイル共有にして、後から開いたのが読み取り専用になるようにした方が確実じゃないか?
766 :
名無しさん@そうだ選挙にいこう :2008/09/29(月) 21:10:09
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 SP3 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 みなさま、どうかお教えください。 A列 B列 佐藤 9月28日 田中 9月29日 佐藤 9月30日 田中 10月1日 という情報が入力されているところで、「田中」の「今日より日付が前の物」 が何件あるか、というのを調べたいです。 見よう見まねで =SUMPRODUCT((A1:A4="田中")*(B1:B4="COUNTIF(C3:C7,"<"&TODAY())")) こんな式を入れてみたのですが答えは「0」で ただ今日より前の日付を調べるということで =COUNTIF(B1:B4,"<"&TODAY()) これを打つと、きちんと「1」と返してきます。 どのようにすればよいでしょう。。。
767 :
766 :2008/09/29(月) 21:19:30
すみません、おもいっきり間違ってました。 誤:=SUMPRODUCT((A1:A4="田中")*(B1:B4="COUNTIF(C3:C7,"<"&TODAY())")) 正:=SUMPRODUCT((A1:A4="田中")*(B1:B4="COUNTIF(B3:B7,"<"&TODAY())"))
>>767 簡単数式でやればCの列に=IF(TODAY()>=B2,1,"")の式を入力して
田中をCOUNTIFで計算すれば?
769 :
766 :2008/09/29(月) 21:51:27
>>767 すみません。「田中をCOUNTIFで計算すれば?」の意味が良くわからないのですが。
C列には1と表示されています。。。
すまん。sumifだったw C6に次のとおり入力したらどう? A列 B列 C列 1佐藤 9月28日 1 2田中 9月29日 1 3佐藤 9月30日 0 4田中 10月1日 0 5 6田中 =sumif(A1:A4,a6,c1:C4) それと=IF(TODAY()>=B2,1,"") 左の>=の=いらないねw
771 :
766 :2008/09/29(月) 22:19:30
>>768 アドバイスありがとうございます。できました。
が、ついでにもう1つアドバイスを・・・。
・作業列を使用しないでできませんでしょうか
・日付が入っていないセルもカウントしてしまうようなのですが、空白セルはカウントしない、を
組み入れることはできませんでしょうか
作業列使わない方法については酔いが醒めてからw >・日付が入っていないセルもカウントしてしまうようなのですが、空白セルはカウントしない、を >組み入れることはできませんでしょうか Cのセルの数式を=IF(B1="","",IF(TODAY()>B1,1,""))に変更したらどう?
773 :
766 :2008/09/29(月) 22:38:52
>>768 できました!よかった・・・
作業列使わない・・・はお時間のあるときにまた教えてくださーい。
本当に助かりました!感謝です。
774 :
名無しさん@そうだ選挙にいこう :2008/09/30(火) 08:39:30
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】合算 累計 計算式 循環参照 少年野球の記録をつけようと思っています。 表を二つ作って、一つ目は「今日の結果」、二つ目を「総合記録」にしたいのです。 【今日の記録】 名前 打席 打数 安打 …… ◎◎ 2 1 1 △△ 【総合】 ◎◎ 10 5 3 △△ 例えば今までの総合打席が10打席だった◎◎君が今日2打席たったとして、 「今日の記録」に2と入力したら、総合記録に12と表示されるようにしたいです。 =D3(今日打席のセル)+D23(総合打席のセル)、のようにしてみたのですが、「循環参照のため計算できません」と表示されます。 循環参照についてヘルプを見たのですが解決方法がわかりませんでした。 またこの式だと、今日打席の数字を消してしまったらまた10に戻ってしまいますよね? どうかよろしくお願いします。
>>773 自分でやるつもりのようだからヒントだけ・・・
作業列のIFを配列数式にして合計すればいいよ
>>774 D23にその式入れてるからいけない
総合打席のセル(D23)は
=SUM(日々の打席のセルの範囲)
見たいな感じにする
>775 回答ありがとうございます。 ただ、日々の打席としては残さず、 「今日の記録」欄はある意味今日の成績の入力欄のような感じで考えています。 「今日の記録」欄に入力すると、その値が「総合記録」欄に合算されていく、というか。 合算されたら「今日の記録」欄の数値は消し、また次の試合の時に入力するような感じです。 こういう計算はエクセルでは不向きでしょうか?
>>775 例えば「今日の記録」を入れる前に「総合記録」を別の行に値だけ貼り付けるなど
「昨日までの記録」をどこかに残しておかないとその計算はできません
778 :
774 :2008/09/30(火) 09:17:57
>775,777 「昨日までの記録」を貼り付けることで対処します。 素早い回答ありがとうございました。 とても助かりました。
エクセルの関数、式の 処理にかかるPCへの負荷などを調べられるサイトはありませんか? 最近自作のソフトが重くなってきたので なるべく重くなる関数、式は使わないようにしようかと思ってるのですが
>>778 【昨日までの結果】+【今日の結果】=【総合の結果】
にして
マクロの記録を押して
【総合の結果】をで全部コピーして【昨日までの結果】に値でペーストする
今日の結果を全部選択してクリアする
マクロの停止を押す
ボタンを作ってさっきのVBAを登録する。
毎回ボタンを押してから、今日の結果を入力すればOK!
>>779 VBAで1秒間に再計算何回できるか計ってみれば?
その回数が重さの目安になると思う
782 :
779 :2008/09/30(火) 18:19:08
>>781 方法はよくわかりませんが、何かヒントが見えました。
ありがとうございます。
【1 OSの種類 】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか 】 a little 【4 VBAでの回答の可否 】 VBAで下さい 【5 検索キーワード 】書式 検索 VBA A2,A3,A4にはこのユニットで使われているケーブルが抜き出してあります。 A6〜A8,A10〜A12,A14〜A16がそれぞれのブロックで使われている、 ケーブル名とその線長です、ケーブル長****mmの所は数値だけ入力すると、 書式設定でケーブル長****mmとなるようになっております。 それぞれのケーブルの線長をB2〜B4に出すのに、 書式を検索してそのセルの数値を取得しようと思うのですが、 どのようにやったらよいか皆目見当がつきません。 エクセルマスターの皆様宜しくお願いします。
784 :
783 :2008/09/30(火) 19:43:06
-------------A----------------B--- <01行目> <ケーブル名> <総線長> <02行目> <ケーブルA> <03行目> <ケーブルB> <04行目> <ケーブルC> <05行目> <06行目> <ケーブル長7000mm> <07行目> <ケーブルA> <08行目> <ケーブルB> <09行目> <10行目> <ケーブル長8000mm> <11行目> <ケーブルB> <12行目> <ケーブルC> <13行目> <14行目> <ケーブル長6000mm> <15行目> <ケーブルA> <16行目> <ケーブルC>
785 :
779 :2008/09/30(火) 19:56:10
>>783 意味がよくわからないけど
<06行目> <ケーブル長7000mm>
<07行目> <ケーブルA>
<08行目> <ケーブルB>
というのはケーブルAとBが両方 7000mm って事?
で、それぞれのケーブルの総長を知りたいって事?
そもそも表の作り方がおかしいと思うのだけど
これはどうにかならないの?
>>783 >書式を検索してそのセルの数値を取得しようと
表だけじゃなくやろうとしてることも意味不明ですね・・・
このままではどうにもなりません
>>783 エスパーしつつとりあえず書いてみた
動かしてみて考えてる通りか検証よろ
Sub a()
Dim i As Integer, j As Integer
Dim Last As Integer
'最終行取得
Last = Cells(65536, 1).End(xlUp).Row
'計算先クリア
Range(Cells(2, 2), Cells(4, 2)).Clear
'ケーブル名のループ
For i = 2 To 4
'長さのループ
For j = 6 To Last
If (Cells(i, 1).Value = Cells(j, 1).Value) Then
If IsNumeric(Cells(j - 1, 1).Value) Then
Cells(i, 2).Value = Cells(i, 2).Value + Cells(j - 1, 1).Value
End If
If IsNumeric(Cells(j - 2, 1).Value) Then
Cells(i, 2).Value = Cells(i, 2).Value + Cells(j - 2, 1).Value
End If
End If
Next j
Next i
End Sub
>>787 出来ました、ずいぶん分かりにくい表だったようですが、
解読いただき有難うございました。
書式にこだわったのは、数値のみを拾えるのはそれしか無いのかな?
と思ったからでした、IsNumericを教えていただき有難うございました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 ある特定のシートの特定のセル範囲をコピーし、 複数のシートに貼り付けると、貼り付けた部分が反転表示 されますが、これを解除するスマートな方法はありますか? 現在は貼り付けた全てのシートで任意のセルを選択する方法 しかわからないのですが、これでは画面がちらちらして・・・。
790 :
789 :2008/09/30(火) 23:03:57
書き忘れましたが、マクロでのコピー・貼り付けです。
>>789 1つのセルが選択された状態にしたいだけなら
貼り付けた後適当なセルを1つ選択すればいいだけ
どのシートも同じ範囲が選択されるはず
それが厭だと言ってるんじゃない?
793 :
791 :2008/09/30(火) 23:15:17
リロードせずに条件反射だけで書き込んだ・・・
まったく反省はしてない
>>789 >これでは画面がちらちらして
処理する前に
ScreenUpdating=False
終わったら
ScreenUpdating=True
これじゃだめなのか?
794 :
名無しさん@そうだ選挙にいこう :2008/09/30(火) 23:48:47
>>719 A列とB列に、同一内容のセルがあるかを調べたいのです。
795 :
789 :2008/09/30(火) 23:58:28
>>793 ありがとうございます!これは初めて知りました。
各シート毎にセルを選択しないで、一度に解除する方法があるのかな?
と思っていたのですが、この方法もいいですね。とても勉強になりました。
>>794 ひとつずつCOUNTIFするしかないでしょ。
797 :
名無しさん@そうだ選挙にいこう :2008/10/01(水) 11:31:18
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 順位 同点 重複 それぞれの得点が以下のような場合 4 3 5 4 これをRANKを使って順位にすると 2 4 1 2 のように出てきます。 2位は4点が2人いるので、Rankで2つの「2」がありますが、 この「2」を「2.5」で出して欲しいのです。 この2位2人は本来2位と3位だったわけですから、 その間を取って(2位ではなく)2.5位という風にしたいんです。 同様に、例えば1位が3人いた場合、 これらの3人は1,2,3位を占めるはずだったので 間を取って2位(1位)として出てきて欲しいのですが。。。 よろしくお願いします
>>797 ヘルプでRANKの解説嫁
補正因子の算出法載ってるから
>>797 > この2位2人は本来2位と3位だったわけですから、
> その間を取って(2位ではなく)2.5位という風にしたいんです。
それはあなたが勝手に考えたルールですね。一般的には二人とも同率2位になります。
A列のA1セルから縦に得点が並んでいる場合、まずB列を作業列としてRANKの結果を出しておきます。
B1=RANK(A1,A$1:A$4)
次にC列に以下のような式を入れれば、お望みの結果が得られます。
C1=B1+(COUNTIF(B$1:B$4,B1)-1)/2
この例は得点が4つの場合なので、B列、C列とも、「$1」「$4」の部分は実際にデータが入っている
セル範囲に直してください。
800 :
797 :2008/10/01(水) 12:31:34
エクセル2000 VBAは勉強中です ボタンを押すとセル(B2)に何も書かれて無い場合に「○○会社」と書いて、書かれて居る場合は更にその下の何も書かれて無いセル(B3)に入力する方法を教えて下さい ActiveCellのセル番号指定とか出来るならその方法が知りたいです
>>801 何をしたいのかよく分からないけど・・・
B2以降の直近の空白を埋める
If Range("B2").Value = "" Then
Range("B2") = "○"
ElseIf Range("B3").Value = "" Then
Range("B3") = "○"
Else
Range("b2").End(xlDown).Offset(1) = "○"
End If
B列の入力されている一番下のセルを埋める
Range("B65536").End(xlUp).Offset(1).Value = "○"
アクティブにするだけなら
Range("B6").Activate
>ボタンを押すと
これはさすがに分かりますよね?
803 :
802 :2008/10/01(水) 20:21:36
少し訂正 × B列の入力されている一番下のセルを埋める ○ B列の入力されている一番下のセルの1つ下を埋める
804 :
名無しさん@そうだ選挙にいこう :2008/10/01(水) 21:05:18
【1 OSの種類 .】 WindowsXP SP3
【2 Excelのバージョン 】 Excel 2000
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 ヤフーファイナンス
Webクエリに ヤフーファイナンス の株価ページを設定しても
「このWebクエリによって返されるデータはありません」と怒られます。
昨日までは大丈夫でした。
Webクエリの編集で
1.
http://quote.yahoo.co.jp/q?s=1306 2. ページ全体
3. なし
としています。
805 :
名無しさん@そうだ選挙にいこう :2008/10/02(木) 00:08:07
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 少しは使える 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 どのような検索キーワードを使えばよいのか分からない [A1]は時間の経過により数値が変わります [A2]には10時丁度の時の[A1]の数値を入れたい [A2]に 「=IF(TIME(10,0,0),A1)」 と入れても 10時を過ぎると「0」が入れられるため10時のときの値が保存されません マクロを使わないで何か良い方法はないでしょうか?
>>805 それはVBA使わないと無理だと思う。
なぜなら値を保持するためには、作業用セルに書き込む動作が必要だけど
ワークシート関数では出来ない。
仮に、A2に入っているIF文で、A2の値をA1の数値に置き換えることが出来るなら、
元々入っていたIF文は消えることになる。(=次回の10時が来たときに何も出来ない)
>>805 そもそもA1の数値はどうやって書き換えてるの?
セルの内容を時間とともに変化させるにはVBAが必要だと思うんだけど。
A2もいっぺんに書き換えればいいのに。
【1 OSの種類 .】 WindowsXPsp3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel vba メソッド セル 移動 アクティブセルからひとつ下のセルに移動するマクロを教えてください
>>802 さん
解り難い質問なのに答えてくださって、ありがとうございます何とか色々解決出来そうです
810 :
774 :2008/10/02(木) 08:08:10
>780 手間が省けました。ありがとうございました!
>>808 ActiveCell.Offset(1).Activate
812 :
名無しさん@そうだ選挙にいこう :2008/10/02(木) 08:46:11
>>806 無理でしたか。。。
すでにVBAを使っている為、これ以上複雑にしたくなかったのですが。。。
>>807 あるアドインソフトを組み込んでます。
VBA使うとCPUの負担も増えるしと思ったのですが、普通の関数では無理みたいですね。
お二人とも、レス有難うございました。
sheet2のActiveCellをコピーするにはどう書けばいいですか? Worksheets("Sheet2").Range("ActiveCell").Copy でやってみたんですが失敗しました
>>814 Sheet2をSelectしてからActiveCell.Copy
直接値を取得したいのですがそれは無理ですか? findとかで使いたいのですが
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2007 SP1(以前は2003SP2) 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel 2007 オートシェイプ 線 以前の 斜めになる 前スレとかで既出だったらスミマセン。 10人ぐらいの事務所でExcel2003で報告書や連絡票などを作っているのですが、PC故障のため会社からOffice2007入りPCが支給されました。 FOM出版様の解説本を買ってきて読んでみたのですが Excel2003のオートシェイプで四角計と線を組み合わせて印鑑を押す欄や簡単な構図を作っていたのですが 欄を増やすため線の位置をずらした時にオートシェイプの線が水平にも垂直にも出来ず、少しずれた(角度が付いた)所にぺたりと張り付いてしまい 水平な線に戻せなくなりました。 垂直な線も同じように、少し傾いた状態なら大丈夫なのですが 垂直な線に出来ません。 Excel2007で線を引いた場合は「接続コネクタ *」という名前の線ができ、これは水平垂直問題なしでした。 仕方なくすべての枠や構図を2007のオートシェイプで作り直そうとしているのですが 数が多いので、何か回避策があれば教えてください。
>>817 図形を右クリックしてプロパティを開くと「回転」という項目があって角度を指定できる。
ここを0か90にすれば水平、垂直になるはず。
>>817 新たに直線を引くときはShiftを押しながら引けばぴったり水平や垂直な線になるお
>>817 オートシェイプはAltを押しながら操作すると、直線の端っこや四角形の角がセルの交点にぴったり合う
>>818-819 ご返答ありがとうございます。
直線ビョーン!も気にはなっているのですがそれ以上に
線が右上がり、右下がりでぴたんとくっついてしまうのが問題です。
>>819 氏の言われる通り、角度を0にしても直りませんでした。
角度を45ぐらいにして置くと、斜めに直線を引く時にきっちり45度に引けず47度と49度の辺りの点に張り付くようになってしまいます。
水平っぽく線は引けるのですが、すべての線をこの方法で調整し直すのはよほどの労力を掛ける必要があると判断したので
いっそ、作り直すかと思って居ます。
http://shin.s-ence.org/archives/2008/06/04149.html ↑おそらく私と同じ悩みだと思われる。
>>820-821 書いている間にありがとうございます。
新しく作り直すなら、そちらの方法で試してみます。
シフトで引くとビヨーンと凄く長い線になる現象も出ているので
>>818 さんの
パッチ導入後に試してみます。
Excel2000なんですが、ユーザーフォームを使ってウィザードって作れるんでしょうか? ユーザーフォームをいくつか作って[次へ]CommandButtomを押すと表示をForm1からForm2へと 表示を切り換えていくようなやり方しかできないんでしょうか。
>>824 コントロールの表示・非表示を切り替えて別の画面として見せる手もある
まとめてやりたければフレームとか使ってやればいいし
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 IF ISBLANK 空欄 F1にA1*B1の結果を表示させたいのですが、A1が空欄の場合A2を、B1が空欄の場合 B2を参照する様にしたいです。次に、F2にA2*B2の結果を表示し、F1とF2が同じ値 の時は、F1を空欄にしたいのですが、どなたか教えていただけないでしょうか? 宜しくお願いします。 ちなみに自分で数式を書いてみたら下記のようにとんでもなく長くなってしまいました。 =IF(TRUNC(IF(ISBLANK(A1),A2,A1)*IF(ISBLANK(B1),B2,B1))=F2,"",TRUNC(IF(ISBLANK(A1),A2,A1)*IF(ISBLANK(B1),B2,B1)))
>>826 F1=IF(IF(A1="",A2,A1)*IF(B1="",B2,B1)=F2,"",IF(A1="",A2,A1)*IF(B1="",B2,B1))
F2=A2*B2
>>826 複雑な事やろうと思ったらIF文は長くなる、しょうがない
上記の場合、A1とB1を2度ずつ確認するので、
それが嫌だったら別セルで1回にするぐらいしかないか
829 :
名無しさん@そうだ選挙にいこう :2008/10/03(金) 15:55:40
すみません質問です。 以下の数式をもっと簡略して数値を表示したいのですが、 どうすればいいでしょうか。 よろしくお願い致します。 =SUM('30期費用予算'!D235:I235)+SUM('30期費用予算'!D270:I270)+SUM('30期費用予算'!D190:I190)
>>829 =SUM(Sheet1!A2:B2,Sheet1!A1:B1)
みたいにカンマで区切る
>>826 条件を整理すると
F1=IF(AND(A1="",B1=""),"",IF(A1="",A2,A1)*IF(B1="",B2,B1))
F2=A2*B2
ここまでは短くできた
832 :
831 :2008/10/03(金) 16:30:05
この条件じゃ空白じゃない時のA1=A2でB1=B2の場合に消えないからだめか・・・
833 :
名無しさん@そうだ選挙にいこう :2008/10/03(金) 16:30:18
【1 OSの種類 .】 WindowsXP 以前excelをパソコンから削除してしまったんですけど 今になってexcelが必要になりました どこでダウンロードすればいいのでしょうか?
834 :
名無しさん@そうだ選挙にいこう :2008/10/03(金) 16:34:52
CD付いてるだろボケ つまんねー釣りだ事 いい人生ですね^^
>>827-828 回答ありがとうございます。
ある程度長くなるのはしようが無いのですね。
大分すっきりしたので十分です。
このような表が縦に続いていて、最終的にF奇数とF偶数の合計(F奇数が空欄の場合はF偶数参照)
を分けて表示したいのですが、827のような数式を応用して使うのが、簡単なのでしょうか?
>>835 俺なら
G1=IF(MOD(ROW(),2)=0,F1,"")
H1=IF(MOD(ROW(),2)<>0,F1,"")
で下までオートフィルして、最後に合計出すかな
配列数式とかでもできそうだけど、使わないからよくわかんね
>>835 {=SUM(IF(MOD(ROW(F1:F8),2)<>0,IF(F1:F8="",F2:F9,F1:F8),""))}
{=SUM(IF(MOD(ROW(F2:F8),2)=0,F2:F8,0))}
>>836 を修正して配列数式にしてみた
回答ありがとうございます。
数式をコンパクトにするのがパズルのようで、私はちょっと苦手なのですが、
皆さん、凄いですね。
>>831-832 説明不足でしたが、A1=A2、B1=B2の場合は、A1及びB1は空欄になるので
831の数式で問題無いと思います。
>>836-837 見慣れない関数があるので、ちょっと意味を勉強してきます。
840 :
817 :2008/10/03(金) 20:27:41
ありがとうございました。
見積もりなどのメイン業務で使うものは大体2007で修正できるように
変更が終わりました。
ですが、別の人から商品の寸法図入りのExcelを受け取ったのですが
怖くて結局ずれているものは正せずに提出してしまいました。
パッチも実はすでにあたっている状態で最新だったらしく
OfficeUpdateからも特に何もパッチがないということでした。
http://support.microsoft.com/kb/948953/JA/
841 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 00:44:49
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 ごめんなさい、わかりません(会社のパソコンで見てきませんでした) 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否です、理解できる頭がありません 【5 検索キーワード 】 関数、低、べき乗 A^B=C (AのB乗がCになる式です、例えば2^3=8みたいな) こういう場合で、Aの値を出すエクセルの関数を教えてください Cの値は【POWER】で、Bの値は【LOG】で出せるところまでは何とか自力で調べたんですが、 Aの値を求める関数が分かりませんでした もし、Aの値を求める関数がない場合は、多少長くなっても良いのでBとCの値が分かっている時の Aの値を導き出せる式を組み立てて頂けないでしょうか? 説明が下手ですみません、よろしくお願い致します
>>841 これはExcel関係ない数学の問題だな。高校の時まじめに勉強しなかっただろ。
A=C^(1/B)
>>841 A^B = C → A = C^(1/B)
つまりCのB乗根を求めるということでいいのかな?
ならば「=POWER(C,1/B)」だと思うけど。
>>841 数学苦手な漏れでも分かることが1つだけある
>【5 検索キーワード 】 関数、低、べき乗
の低は底の誤字か?
845 :
841 :2008/10/04(土) 01:17:50
>>842-843 ありがとうございます!!!
とても助かりました
>Excel関係ない数学の問題だな。
申し訳ございませんorz
>高校の時まじめに勉強しなかっただろ。
おっしゃる通りでございます。
本当に凄く感謝してます、ありがとうございました
846 :
841 :2008/10/04(土) 01:22:03
>>844 底ですか・・・
すみません、本当に「低」で検索かけてましたorz
教えて下さってありがとうございます
何じゃそりゃ…と思ったら n√x って x^(1/n) で示せるのか 知らんかった
848 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 04:32:21
彼女の便秘ぎみの固いうんちをさっき食べました。
なにここ中卒しか居ないの
850 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 10:26:40
質問です。 給与明細をエクセルで作ってるんですが、 従業員の名前でオートフィルタをかけてプリントしてます。 その時に表題のところに従業員の名前を入力するわけですが、 この間違いが起こり、このような事のないように オートフィルタで抽出した名前を参照するようにしたいのです。 良い方法はないでしょうか
VBAでオートフィルタをかけると同時に表題に名前を入れる
フィルタを掛けた名前を表題に持ってくるよりも、 表題の名前をリストから選択するようにして、 その選択した名前を元に表にオートフィルタが掛かる様 VBAでイベントを組むのがスマートだと思う
853 :
850 :2008/10/04(土) 12:19:22
ありがとうございます。 VBAとは何かってことから調べてみます。。
854 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 12:38:39
Excelで工程表を作成しているのですが IF関数で、「4月、6月、9月、11月ならば(末日のセルに)30日(と入力)、2月ならば(同)28日、 それ以外は(同)31日」はどう書けばいいのでしょうか? とりあえず、まずはうるう年に関しては加味しない事にしています・・・
>>854 IFだとややこしいからCHOOSE関数使うといいよ
こんな感じで
=CHOOSE(A1,31,28,31,30,31,30,31,31,30,31,30,31)
標準では出てこないけどEOMONTHを使うって手もある
A1に日付(年月日で日はいつでもいい)が入ってるとすると =DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1) って言う手もある
858 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 13:22:18
>>854 翌月1日から1日引けばいい。これなら閏年にも対応できる。
=DATE(年,月,1)-1
セルの書式設定を「d」又は「dd」に設定
859 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 13:23:55
入門書レベルの話になるとわらわら湧いてくるなてめーらw
>>859 J( 'ー`)し ごめんね、母さん馬鹿だからこんな事しか答えられなくて、ごめんね
>859 不特定多数に質問してるんだから簡単な質問には 回答が多くなるのは当たり前じゃないか 昔ここでイジメられたのか?
862 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 13:35:37
ちょっと小難しいこと訊くと 「簡単」とか「やっても意味ねー」とか言って結局答えないくせにのう
ヤッパ、イジメられたんだ ( ´,_ゝ`)プッ
相談スレで虚勢張って楽しいか?
865 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 14:18:19
XPでEXCEL2003を使っています。 表示倍率を変更したいとき、ctrl+ホイールの回転で 拡大縮小ができますが、これを1%刻みで変化するように できないでしょうか。 普通にctrl+ホイールの回転だと、10%刻みなので、 あともう数%だけ変化させたいとき、たとえば shift+ctrl+ホイール回転で微調整できるように なればうれしいです。一々ツールバーに数値入力 では手間がかかります。 他のフリーソフト使用もOKです。よろしくお願いします。
866 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 14:19:18
>864 すぐ反応するバカを見てほくそ笑んでるんじゃないか?
867 :
854 :2008/10/04(土) 14:36:23
お前ら喧嘩しないでくれw
とりあえず、一番分かりやすい
>>855 を参照しました
さんくす
で、スケジュール表を作るにあたって、スタートする月を変更出来るようにしました
(とりあえず)全ての月で31日分作って、日が少ない日は31日のセルを塗りつぶそうかと考えています
条件付き書式で「上の関数で日にちのセルに30日と入力された場合はセルを黒く塗りつぶす」というのをやりたいのですが、これもうまくいきません
下の式で入力すると、選択した部分がいつも黒く塗りつぶされてしまいます
条件設定において
「数式が」「=$AD$9="30"」ならば「セルの色を黒選択」だと思うのですが、参照するセルは
$AD$9・・・上のCHOOSE関数の答えが入ってるセル(30とか31とか表示されている)なのか
C7・・・・・上のCHOOSE関数の参照元。ここにプルダウンで月を入力する
のどちらなんでしょうか?
それとも何か入力方法が間違ってるのでしょうか?
>>867 「数式が」「=$AD$9=30」
これで試してみて
「数式が」「=$AD$9="30"」でなく、
30日のセルが仮にA1だとして、
「数式が」「=A1<$AD$9」
だとおもうよ。
でいて同じのを29〜31日にも設定しとくといいよ。
>>857-858 のやり方でうるう年に対応できるから、
そっちにしたほうがよいよ。
870 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 23:14:18
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 こんばんは。 A1セルにある文字列がはいっています。 隣のB1セルにA1セルの文字列、最初3文字を取り除いた残りの 文字列を表示させたいとき、どのようにすればいいのでしょう? よろしくです。
>>870 =RIGHT(A1,LEN(A1)-3)
>>870 =RIGHT(A1,LEN(A1)-3)
873 :
872 :2008/10/04(土) 23:21:40
orz
874 :
870 :2008/10/04(土) 23:24:05
875 :
名無しさん@そうだ選挙にいこう :2008/10/04(土) 23:33:19
前にも同じ事を聞いて、それで解決したのですが、 ちょっと出張先で同じ事をしなければならなくなり・・・ 再度質問させてください。 マクロで、あるセルに入っている 05:20'56"900 という文字列を、 05:20:56.9 という数値(時刻)データにして別のセルに書きたいの ですが、どのようにすればよいでしょうか。。。 Left ,Right, Mid などを使って解決する方法を教えてもらったの ですが、失念してしまいました。よろしくおねがいします。
>>875 LeftやMidを使うよりこっちのが確実のはず
=TIMEVALUE(SUBSTITUTE(SUBSTITUTE(A1,"'",":"),"""","."))
で、書式を時刻形式にする
877 :
875 :2008/10/05(日) 00:09:05
>876 いや、もともとの時刻データは05:20'56"900 という文字列なんです。 書式を変えても文字列扱いなので・・・
>>877 876が言ってるのは
=TIMEVALUE(SUBSTITUTE(SUBST(ry
を入れたセルの書式を変えるってことだろ
>>877 文字列をシリアル値に変更すると単なる10進数になるから書式も変更しなきゃならない。
結果が文字列で欲しいんなら一番外側のTIMEVALUE関数を外せばいいんだけど、
欲しいのはシリアル値じゃないの?
880 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 02:29:53
875です。先ほどのアドバイス、やっと理解できました。 ありがとうございます。もう一件あるのですが、 20081001054500というシート名を取得して、 セルに2008/10/01という形で出力したいのですが、 どのようにすればよいでしょうか。
>>880 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,4)&"/"&MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+5,2)&"/"&MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+7,2)
882 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 12:19:41
Windows XP を使っています excelcnvを開くことかできず excelを起動することができないのですが どうすればいいのでしょうか? 質問お待ちしています
sheet1から10に同じ物を入力させるコードが長すぎなので短い書き方を教えてください 今はコピーペーストして、シート番号だけずらすやり方です シートは連番になってます
884 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 13:55:03
>>881 センスが微妙…
=TEXT(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,8),"0!/00!/00")
の方が…
885 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 13:57:36
886 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 18:03:30
A列の書式を日付にして種類をH9.3.4にしました そして190101と入力したらH432.6.22となりました。 H19.1.1もしくはH19.01.01というのを期待していました。 期待通りにするにはどうしたらいいのでしょうか? また、この書式種類の本来の使い方はどういうものですか? 1911と入力してもやはり滅茶苦茶なことになりますし。
888 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 18:09:53
これでオナニーの統計とってる奴いるか? 俺は毎回の精子の量を探求してる。
889 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 18:28:05
>>887 なるほど
では自分の希望通りにするにはどうすればいいですか?
自分で定義するしかないのでしょうか?
セルの書式設定でge.mm.dd にする
891 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 18:42:59
>>890 上手くいきません
それだと2007/1/1と書いてるものがH19.1.1になるだけです
190101と書いて、H19.1.1にするのはやはり無理でしょうか。
セルの書式設定で "H"00.00.00 にする
893 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 18:49:11
H190101.00.00 という表示になりましたorz ユーザ定義でそのとおりにしましたら。
日付扱いでちゃんと入力するなら、 h19/1/1 か h19.1.1 あるいは 07/1/1 か 07.1.1 として入力する。
895 :
名無しさん@そうだ選挙にいこう :2008/10/05(日) 18:54:16
>>894 なるほどー。入力でやるのが賢いわけですね。
190101を強引にH19.1.1に表示するようにしても日数計算などに対応しづらそうですね。
ついドットやHを打つのが面倒だなと思って考えてしまったのですが。
スッキリ解決ありがとうございました。
後々のことを考えれば和暦で入力するのは好ましくない。 西暦で入力してセルの書式設定で和暦表示させるべきだよ。
>896 入力すんでしまえばエクセル内では同じ数字として扱われる。
エクセルを持ってないですが、CSVファイルを読み込んだときの挙動を教えてください。 以下のように改行付きのCSVファイルを読み込んだとき、セルにはどのように入るのでしょうか? --CSVファイル----------- "ABCDEF","GHI JKL","MNOPQ" "123","456","789" ----------------------- ABCDEF GHIJKL MNOPQ 123 456 789 というように2列として読み込まれるのでしょうか? また、HGIJKLのIとJの間にある改行はどのように処理されているのでしょうか?
セル内改行
902 :
名無しさん@そうだ選挙にいこう :2008/10/06(月) 08:45:17
>>902 1..はみ出さない文字数で入力する
2.はみ出した分だけセル幅を広げる
自動的に幅が広がるという怪奇現象は起こらないので手動でどうぞ
904 :
902 :2008/10/06(月) 09:12:18
わたしの日本語が下手なのでしょうか。 質問がまったく伝わってないようです…orz
はみ出させずに途切れて表示させたいってことか? だったら「途切れて表示させたい」なんてのは常識的な要望ではないから ハッキリ書かないと伝わらないぞ 因みに俺はその条件を満たす方法は知らないが、 何故途切れさせたいのか、何故隣のセルにスペースなどを入れられないのか 何故改行じゃダメなのかなどが解れば別な解決法があるかもな 例えば「折り返して全体を表示する」だって、上詰めでセルの高さを1行分にすれば 2行目以降は表示されないから、セル幅1行分で途切れて見えるので 「改行したくない」ではなく「折り返した2行目以降を表示させたくない」だけならこの方法で問題ないはず とは言え、何をやろうとしてるのか知らないが計算ソフトの話じゃないよなw 質問の仕方も、使用するソフトの選び方も、要所を得てないような気がする
>>904 >1.ただはみださないようにしたいだけです。
>2.改行や文字を小さくしたくない。
>3.隣のセルは空にしたい。
>1..はみ出さない文字数で入力する
>2.はみ出した分だけセル幅を広げる
完全に希望通りの答えだと思うのだがw
>>902 質問の日本語は全く問題ないし理解できるが、
結論から言うとその条件をすべて満たす方法は無い。
何のためにそういう事をやりたいのか、という背景が分かれば
代替案なら出せるかもしれないからそれを書いてください。
908 :
名無しさん@そうだ選挙にいこう :2008/10/06(月) 11:08:30
回答者様バカ晒したからって必死すぎだろwwwww
909 :
902 :2008/10/06(月) 11:21:47
>>907 ありがとうございます。下手な日本語でしたが理解してくれてうれしいです。
例えばAに長文を入れます。
すると隣のBが空の場合はみ出して表示されますよね。
(でもBが空じゃない場合はみ出さない。)
あとでBに文字を入力するとき、はみだしたAの文字が邪魔で仕方ない。
ちょっと設定をいじるとはみ出さないように出来るんじゃないか?と思い質問しました。
でも、できないなら諦めます。エクセルってまだまだ未開発ですね(汗
例を出すとこんな感じ
A |B
Aですよおおお|Bですよおおお ←Bに文字があるとAの文字は途中で切れる
Aですよおおおおおおおおおおお ←Bが空だとAの文字がはみ出して表示される
これを、Bが空でもAの文字を隣にはみ出さないようにしたい。
>>902 の要望はなんとなく分かる
住所録(左から名前・住所・電話番号とする)なんかを作ってるときに、
住所打った後に電話番号を打とうとすると入力されてるような気分になって
数式バーを確認したりしてしまう
それだけ?と言われると、それだけとしか答えようがないんだけど、
スレ違いでも無い
この予測が当たっていれば、そのはみ出してくる列(上の例で言うと住所の列)を非表示にするのが
良いと思います。
>見当違いの答えばかりでした。 >質問がまったく伝わってない >エクセルってまだまだ未開発ですね(汗 この辺がうざいですね。 そこはかとない傲慢さを感じます。
何かデータを入力するたびに、隣のセルに自動的にスペースを入れるマクロなら簡単に作れるよ
>>902 見当違いっていうか、無理だから代案が出てるだけだね。
>>909 A列が切れるのはいいのか?
だったらB列と結合してB列を非表示にすればいい
これもだめならセルの幅広げるか字数制限するしかないだろ
915 :
826 :2008/10/06(月) 13:27:45
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 INT TRUNC 切捨て 前回いただいた回答で、問題はほぼ解決できたのですが、 F1=IF(AND(A1="",B1=""),"",IF(A1="",A2,A1)*IF(B1="",B2,B1))の結果を 小数点以下切捨てにしようと、INT、TRUNC等を頭につけると、 A1とB1が空欄の場合、#VALUE!とエラーが出ます。 何か良い方法はあるのでしょうか?宜しくお願いします。
>>915 =IF(AND(A1="",B1=""),"",INT(IF(AND(A1="",B1=""),"",IF(A1="",A2,A1)*IF(B1="",B2,B1))))
>>915 ああ、数式をよく読んでなかった。こっちが正解(短縮しただけだけど)
=IF(AND(A1="",B1=""),"",INT(IF(A1="",A2,A1)*IF(B1="",B2,B1)))
918 :
名無しさん@そうだ選挙にいこう :2008/10/06(月) 13:43:53
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel VBA MySQL Driver 【やりたいこと】Excel VBA + MySQLを使って、データベース.テーブルの中身を"A列i行","B列i行"表示したい。(データソース(ODBC)登録済み、DSN=SampleDSN) 【できないこと】下記ソースコードを書いたのですが、実行すると、エラーハンドラが呼び出されてしまいます。『この操作を実行するために接続を使用できません。このコンテキストで閉じているかあるいは無効です。』 Sub Main() On Error GoTo Err Dim con As New ADODB.Connection Dim rs As New ADODB.Recordset Dim i As Integer con.Open "Driver={MySQL ODBC 5.1 Driver};server=localhost;dsn=SampleDSN;uid=root;pwd=;" rs.Open "select * from Database1.Table1;" i = 1 rs.MoveFirst Do Until rs.EOF Cells(i, 1) = rs.Fields(0).Value Cells(i, 2) = rs.Fields(1).Value rs.MoveNext i = i + 1 Loop rs.Close con.Close Set rs = Nothing Set con = Nothing Err: Set rs = Nothing Set con = Nothing MsgBox (Err.Description) End Sub
>>915 よくわからん。
=IF(INT(A1*B1)=INT(A2*B2),"",IF(COUNT(A1:B1)=1,SUM(A1:B1),INT(A1*B1)))
920 :
919 :2008/10/06(月) 14:58:34
微妙に訂正 =IF(INT(A1*B1)=INT(A2*B2),"",INT(IF(COUNT(A1:B1)=1,SUM(A1:B1),A1*B1)))
>>918 con.Open "Driver={MySQL ODBC 5.1 Driver};server=localhost;dsn=SampleDSN;uid=root;pwd=;"
を
con.Open "dsn=SampleDSN;uid=root;pwd=;"
にしたらいけたりするのかな?
DB接続なんてほとんどしないし
適当にググってみた結果だけどw
922 :
918 :2008/10/06(月) 16:14:56
>>921 ドライバ・サーバの指定無しだと、このように出ます。
『[Microsoft][ODBC Driver Manager]データ ソース名および指定された既定のドライバが見つかりません。』
どのようにしたら、エクセルのセルに表示できるのか教えてください。
できたら、DB接続するようなソーステンプレートあったらください。
それを参考に動かしたいです。
とりあえずエラーハンドラ無効にした方がいいんじゃないの
というか現時点じゃExcelにまったく関係ないな。スレ違いだ。
でもプログラム板に持ってくと「Excelの事はExcelスレで聞け」と言われる罠
「品番・商品名・配達地域・受注数」をピボットテーブルで 以下のような形式で並べたいのですが、A列に複数の 要素を入れるにはどうしたらいいのでしょうか。 A列 B列 ┌──────┬────┐ 1│品番 .│ │ ├──────┼────┤ 2│ 商品名 │ .│ 3列で1セット ├──────┼────┤ 3│ 配達地域 │ 受注数 │ ├──────┼────┤ : : A列:品番 B列:商品名 C列:配達地域 ならデフォルトのドラッグで作れるんですが、 どーも同一列に並べる方法がわからんとです
928 :
918 :2008/10/06(月) 16:36:50
すみません、書き忘れでした。解決しました。 結果:想定どおりの動きができました。 原因:レコードセットオープン時、SQL発行したあと、コネクション張り忘れてました。 誤 rs.Open "SQL_String" 正 rs.Open "SQL_String", con
>>925 「Excelの事」ならね、当然でしょ
VBA使っても、やりたいことが「Excelの事」でなければ基本的に撥ねられないし
撥ねる奴がいたらそいつがおかしいんだから無視すれば良い
VBAはこれから勉強する予定だけど、
>>918 の質問だと、,VBAスレできいたほうがいいの?聞かないほうがいいの?
>>931 VBAスレってのがExcel VBA質問スレの事なら、聞かない方がいい。
今回の話はADOの話なのでスレ違いになる。
933 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 08:31:30
excel2007です。 人が作って送付されてきた表ですが、ウィンドウ枠が固定されています。 表示→固定の解除 で、解除しようとするのですが 固定の解除が、押せない状態となっています(色が出てこないで、薄いグレーのまま)。 どうすれば、枠を解除できますか?
保護を解除 解除にパスが必要なら作った人に聞いて
935 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 09:26:42
>>934 レスどうもです。
保護ではなくて、ウィンドウ枠の固定の解除です。
作った人は、パスは設定してないです。
複数の人から表を頂いていますが全て枠の解除も固定もできません。
送付してくれた人はexcel2003で
自分のはexcel2007ですがその関係でしょうか?
ちなみに他のexcel2003の人に解除・固定を試してもらったら
解除も固定もできました。
いやだから、固定・解除できないのはワークシートを保護してるせい だろうから、それを解除してから枠固定の解除をしろって話でしょ。 その頼まれ手解除した2003の奴も、保護気づいて 「あぁ保護されてんのか。保護解除して枠固定解除、っと。」 とやって、その経緯を説明せずに「固定できましたよ」程度の報告しか してないのかも知れんし。まぁどちらにせよ直ったならいいか。
×「固定できましたよ」 ○「固定解除できましたよこの豚野郎!」
938 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 09:52:48
ピボットテーブルで整形された表って折り返せるんでしょうか。 どうも縦に長くなって見づらくて…
939 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 10:02:49
940 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 11:59:04
>938 折り返せるよ。 でも、それはそれでみづらいような。。
>>824 >>825 さんが書いておられるフレームを使う方法と、もう一つ、マルチページを使う方法があるようです。
[次へ][戻る]を押すことでマルチーページのアクティブなタブを次々に切り換えていくやり方です。
styleプロパティの設定でタブの表示を見えなくできるようなので、マルチページをユーザーフォーム
いっぱいに配置すれば、ウィザードそっくりのフォームを作ることができると考えられます。お試しあれ。
942 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 12:16:47
【1 OSの種類 】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか】 はい 【4 VBAでの回答の可否】 可 質問1 矩形範囲内の複数フォームを同時に選択する方法はありますか? 質問2 フォームをオートシェイプで隠す方法。 どちらも2003では直感的な操作で出来たのですが、質問1のほうは、オートシェイプしか選択できず、質問2のほうはフォームの方がレイヤーが上のような動きをします。
>>942 2007がないので質問には答えようがないけど気になったので聞き返してみる
操作したいのはコントロールじゃなくてフォーム?
944 :
942 :2008/10/07(火) 12:30:47
そうです。チェックボックスやラジオボタン等です。 操作されたくないときに半透明のオートシェイプで隠したいのです。(VISIBLE=FALSEだとあることすら見えなくなるのでNG)
945 :
941 :2008/10/07(火) 12:40:17
>>941 の訂正。
styleプロパティを持つのはマルチページではなくタブストリップのほうでした。失礼しました。
>>944 Enabled=False
ではいけないのか?
>>945 styleプロパティなら両方持ってると思うのだが・・・
948 :
942 :2008/10/07(火) 12:51:38
>>946 レスありがとうございます。
当然、必要外の時は操作されないようにFALSEになるようにしてあります。
が、「視覚的に今は操作できない」というふうに見せたいのです。
結論として、フォームの上にオートシェイプを表示させることは出来ないのでしょうか…
949 :
938 :2008/10/07(火) 13:02:53
>>940 折り返せるんですか。いろいろ検索したのですがどーにも方法が書いておらず
もしかしてテーブルを作る時点で複数行にするのかとも思ったのですがこれも
方法が書いておらず、えぇいピボらなければどうということはない!と手動で
切り取り&貼り付けしようとしたら怒られたりと、おかしいですよカテジナさん
状態なんです。
>>948 そもそもオートシェイプをフォームだったら前面に持ってこれないと思うんですけど・・・
シートに直接コントロールを置いてるんですよね?
コントロールを最背面にしてオートシェイプを最前面にしても無理なんですか?
>>949 他のシートにコピペは?
>>950 そもそもも何も2003だとオートシェイプでフォームを隠せます
途中で書き込んでしまいました。
>>950 続き
当然最背面だか最前面だかは試してます。レイヤー的な動きしてるようですって書きましたよね?
実際に試しもせず、的確な答えが分からないまま憶測で答えたりしないでください。
エクセルの関数について教えて下さい。 Vlookupを使って拾った値を合計できるんでしょうか? わかる方いたら教えて下さい。
今は答えを出してるんじゃなくてあいまいな部分を明確にしたくてレスしてるのにあんな風に言われるとは・・・
これも憶測ですが今出ている情報だけでは最初から答えを知ってるエスパーが来ない限りはっきりした答えは出てこないと思います
>2003だとオートシェイプでフォームを隠せます
どうやって実現してるか気になります
コントロールではなくフォームをオートシェイプで隠せるのか・・・
>>954 数値なら可能、としか言いようがない
何がしたいのかとか書いとくといいと思う
956 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 15:46:01
こうして上から目線合戦はいつまでも続くのであった
957 :
953 :2008/10/07(火) 16:17:43
>>955 言葉が荒くなってすみませんでした。
自分のいうフォームというのは、エクセル専用コントロールのことです。
>>955 さんのおっしゃっているであろうActiveXコントロールのことではありません。
ちなみに2003では後者もオートシェイプで隠せます。
>>953 エクセル専用とかActiveXという単語がどこから出てきたのか分からないけどまぁ取り合えず置いといて
「フォーム」と「コントロール」を区別しておきたかっただけなんですが・・・
質問をまとめると
Excel2007でシート上にある「コントロール」をオートシェイプで隠したい
ですね?
960 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 17:03:57
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 3軸 グラフ 論文などではよく見かけるのですが、Excelを使って横軸1つで縦軸3つの3軸グラフを書きたいと思っています。 検索してみると結構引っかかるのですが、そのどれもが別の表計算ソフトを使うか、2つのグラフを重ね合わせるという方法ばかりで 根本的な解決方法が書かれていません。 そこで質問なのですが、バージョンが2007のものはこの機能が標準でついていますでしょうか? それとこの機能をVBAを使ってでも良いので使えるようになる方法がありましたら教えて下さい。 何卒よろしくお願い致します。
961 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 17:07:47
>>960 Excelでは無理
「根本的な解決方法」とやらが書かれていないのは、それが当たり前すぎるほど無理な相談だから。馬鹿な相談してる暇あったら、代替方法でグラフ書いて、無駄な時間使わずに論文仕上げろ
ちょっと試してみたけど、確かに2003と2007ではオートシェイプの挙動がだいぶ違うね。 色々違いがあるのは知ってたけど、こういう違いもあることは始めて知った。 代替案だけど、ボタンの背景色とキャプションの文字の色を薄いグレーに変えるってのはどうだろう? Windowsのルールでは、押せないボタンの文字はグレーにすることになってるし。 オートシェイプで隠すよりスマートというか、むしろ正当な方法だと思うけど。
2003でボタンの上にオートシェイプを置いたシートを作って保存して、 それを2007で開いたら勝手に順番が変わってた。 つまり、2007では無理の可能性が高い。
964 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 17:42:50
>>961 当たり前すぎるほど無理、というのはどういうことですか?
>>957-958 厳密にはExcel専用じゃなくてOffice専用ね。実際にそういうコントロールがあるのよ。
一方ActiveXコントロールはWindowsが標準で持ってるライブラリを使うとか、そんな感じだったはず。
966 :
958 :2008/10/07(火) 18:13:28
できるかどうかは試してないが 代案としてWeb周りのコントロールに半透明のPNGを表示とかでどうだろうか? ただの思いつきですが・・・
967 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 18:24:00
まともなのは962だけだなw あとはどこの顔色見ながら答えてるんだかwww
968 :
942 :2008/10/07(火) 18:50:06
皆さんいろいろな案をだしてくださりありがとうございました。 質問1のほうはどなたかわかるかたいませんか? フォームコントロールを複数一度に選択する方法です。
969 :
958 :2008/10/07(火) 19:54:03
こんばんは。お世話になります。 質問させてください。(WindowsXP,Excel2003,VBAは出来れば使いたくないです。) | A B C D E ------------ 1| 0 1 2 3 4 2| 3 6 3 2 1 上記のような2行5列に値が設定されたシートについて、 2行目の中で値が最大であるセルの1行目の値を求める計算を行いたいのですが、可能でしょうか。 上記であれば、2行目最大が『6』であるので、対応する1行目の『1』を得たいです。 最大を得るだけならば、maxでいいのですが、最大のときに特定行の値を出力したいです。 よろしく御願いします。
やっぱりいいです。あなた方の世話にはなりたくないし。
972 :
970 :2008/10/07(火) 21:04:06
971は偽者です…ナゼ…
>>970 index関数を使う
列位置はMAXで取り出した値
974 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 21:14:51
Sheet1 Sheet2で、画面を上下に分けて表示させる方法を教えてください。
メニューバーのどこかにあったけど忘れた ウィンドウを分割、だったかな データ・ツール・表示辺りをテキトーにさわってればその内できるだろ
976 :
970 :2008/10/07(火) 21:24:08
>>973 そういうことではないんですが…。
>>975 忘れたとかテキトーとかはいいです。ちゃんと調べてからにしてください。
977 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 21:29:16
まーだ騙りやってんのか 年越す前にしっかり病院行けよお前は
>974 ウインドウ→新しいウインドウを開く 更に、 ウインドウ→整列
979 :
名無しさん@そうだ選挙にいこう :2008/10/07(火) 22:27:20
>>973 単純に間違ってる・・・
>>970 =INDEX(1:1,MATCH(MAX(2:2),2:2,0))
1行が例題の通りならば
=MATCH(MAX(2:2),2:2,0)-1
だけでも可
980 :
970 :2008/10/08(水) 00:32:09
970です。 レスありがとうございます。 >973 力及ばず解決できませんでした。 >979 できました! INDEXもMatchも初めての関数で、聞いたこともありませんでした。 簡単には出来なかったのですね。ありがとうございます。 またどうぞ、よろしく御願いします。 ところで前々から疑問だったのですが、976氏が偽者というのは何故わかるのでしょうか。 自分の名前で投稿されているとショックなのですが、気付いてくれる人もいて、何故区別がつくのか??です。
>>980 文体が違うし、無関係な回答にレスを付けているからです。
2ちゃんねる管理人のひろゆきさんが 「嘘を嘘と見抜けないと(掲示板を使うのは)難しい。」 と言いました。 ここにはへんな奴らが紛れ込んでいるので気をつけましょう。
983 :
アズ :2008/10/08(水) 05:11:43
最近パソ購入(中古)してエクセル勉強しようとしてるんですケド 買った参考書がエクセルの2003とか2002で 家に帰って確かめたらパソのが2000だったりして(−W−;) 2003or2002ってどっかでダウンロードできたりしないですか?
おはようございます
>>983 あまり変わってない機能の方が多いから勉強はそのままできるし
むしろ「ここが2000と違う」ということに気付ければ
色んなVersionの特性を知ることになって身に付く物も多いかと。
質問よろしくお願いします。 やりたいことは以下のようなことです。 1つのセルの中に、以下のように書かれてるとします。 鈴木、石井、田中、小泉、石原 5人なので、ここから自動的に「5」という数字を計算して、隣のセルなどに表示させたいの です。何か良い方法はないでしょうか? 「、」だけを数え上げる関数などないのでしょうか?
986 :
985 :2008/10/08(水) 07:05:24
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ? 【4 VBAでの回答の可否】 ? 【5 検索キーワード 】 ? バックを黒にして字や線を白にしたいんですが よろしくお願いします。
>>988 ctrl+aで全体を選択してから変えるといいよ
>>988 ctrl+aで全体を選択してから変えるといいよ
ありがとうございました。
すいません、やり方がわかりません。 A1の左上のところをクリック → ツールバーの書式 ですか?その先がわかりません。
>>993 988のことだよな?
やりたい範囲を選択してctrl+1
もしくは右クリック→セルの書式設定
>>988 デスクトップを右クリック→プロパティ→デザイン→配色→ハイコントラスト 黒
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 コメント エクセル : コメントを挿入するとユーザー名が表示されるのですが、 これを挿入しない方法はありませんか? ツール→オプション→ユーザー名でここに何も表示しないと パソコンのコンピュータ名が表示され、空白だと「:」が表示されてしまいます 「:」も表示しない方法があれば、教えて下さい。よろしくお願い致します。
>>996 最初から何も出さない方法はありません。
コメントを入れたあとVBAで消すことは可能です。
>>997 ありがとうございます
コンパクトにするときには必ず名前か「:」を消さないとダメなんですね
セキュリティの関係上、残念ながらvbaは使えないんです
梅
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。