1 :
名無しさん@そうだ選挙にいこう :
04/09/25 08:35:33
2 :
過去スレ :04/09/25 08:37:04
3 :
FAQ: 列の表示について :04/09/25 08:37:36
Q.列名がA,B,C,D,Eではなく、1,2,3,4,5になってしまいました。 アルファベットに戻すにはどうしたらいいですか? A.ツールメニュー:「オプション」 -「全般」タグで 『R1C1 参照形式を使用する(C)』のチェックを外せば直ります。 Q:列を256個(IV列)よりたくさん広げることはできませんか? A:エクセルのシートは65536行×256列が仕様上の上限です。 シートを分けるとか、行と列を入れ替えるとか、データの方をまとめるとか、 列数を増やさない方向で工夫するしかありません。 4 FAQ: 印刷プレビュー Q:印刷プレビューではセル内に収まっていた文字が 実際に印刷してみるとはみ出してしまうのですが、 何とかなりませんか? A:「印刷プレビューと印刷結果が一致しない」のは 昔からのExcelの弱点で、どうにもなりません。 セルの幅や高さに余裕を持たせるか、 書式設定で「縮小して全体を表示する」にチェックを入れましょう。
Q.マクロを削除したのに、ファイルを開くたびにセキュリティの確認が出ます。 A.モジュールの解放が必要。 【モジュールの解放方法】Alt+F11→Ctrl+R→Module1を右クリック→解放
Q:たくさんの数値のリストがあって、
リスト中のいくつかの数の合計と思われる数値が与えられました。
リスト中のどれとどれの合計か調べることはできますか?
A:ナップザック問題(knapsack problem)として知られている難問です。
一般的には総当りで調べるしかありませんが。
しかし、データに特徴がある場合(桁数が限られているなど)には、
うまい方法があって、速く解けることもあります。
下記のページを参照してみてください。
ナップザック問題をExcelで解く
http://www.geocities.co.jp/SiliconValley-Oakland/8139/
Q:セルの内容を判断して、表示を変えたい A: IF関数を使います。 =if(条件,条件が成立した場合,成立しなかった場合) 例1:基本 セルA1が1の場合○、それ以外の場合×を表示 =IF(A1=1,"○","×") 例2:if文の中にif文 A1が、1の場合○、2の場合△、それ以外×。 =IF(A1=1,"○",IF(A1=2,"△","×")) 例3:ANDやOR活用 A1が、4〜6の場合は、普通と表示 =IF(AND(A1>3,A1<7),"普通","少ないか多い") 例4:計算も出来る A1が10までなら、A1を10倍して表示、それ以外なら2を引く。 =IF(A1<11,A1*10,A1-2) 詳しくはヘルプを参照しましょう。
Q1:データの空白部分があって、そこで折れ線が切れてしまいます。 繋げたいのですが如何したらいいでしょうか? A1:グラフを選択>ツール>オプション>グラフ>空白セルのプロット「補間してプロットする」にチェック Q2:棒グラフに重ねて、折れ線グラフを表示するにはどうしたらいいのでしょうか? A2:最初、すべてのデータを棒グラフで作成。 次に、折れ線で表わしたいデータ系列のどこかを、グラフ上で右クリック サブメニュー>グラフの種類>折れ線>OK Q3:ある系列だけ、縦軸を別にしたいです。 A3:その系列のどこかを、グラフ上で右クリック データ系列の書式設定>軸>使用する軸「第2軸」にチェック>OK
Q.セルに入力した値が勝手に変わってしまうのですが 入力したままの形で表示させるにはどうしたらいいですか? A.数字でよくあるケース(先頭のゼロが消えてしまう、日付として解釈されてしまう) 入力する時、先頭にアポストロフィ(')をつけるか、 該当するセルで右クリック−「セルの書式設定」−「表示形式」で「文字列」を選択。 文字列ではなく数値として扱いたいときは 「セルの書式設定」−「表示形式」で「ユーザー定義」を選択し、工夫する。 A.文字でよくあるケース(i⇒I、teh⇒the、cna→can など) ツール→オートコレクト→入力中にオートコレクト の該当する箇所を削除。
Q.エクセルで作った表が横方向に多くなってきたので 行と列を入れ替えたいのですが。 A.コピーして、適当なセルで右クリック。 形式を選択して貼り付け→行列を入れ替える。
11 :
名無しさん@そうだ選挙にいこう :04/09/25 11:58:55
ピポットテーブル初心者ですが、教えてください。 ピポットテーブル、そこからのグラフを作った後に、 元データに追加の列を加えたり内容を更新した時に、 ピポットテーブル、グラフに反映されないのですが、 すべて作りなおさなければいけないのでしょうか。 データの更新ボタンを押してみましたが、何も変わって いないようです。 どなたか教えてください。
>11 行を追加してもピボットテーブルが参照してる表の範囲は自動では変わらない。 (ピボットテーブル作成時の表の範囲しか参照しない。) 自分は表の範囲の指定でCurrentRegion使って対応してる。
14 :
名無しさん@そうだ選挙にいこう :04/09/25 12:25:01
>12 レスありがとうございます。 Current Regionって何ですか?
16 :
名無しさん@そうだ選挙にいこう :04/09/25 12:45:53
>14 ありがとうございます。ざーっとみてみましたが、Current Regionって VBAのマクロを組まなくてはできないのでしょうか。 VBAもマクロも経験がなく、どういうものかもわかりません。 ピポットテーブルの表範囲が自動で変わる方法だけ具体的に教えてもらえませんでしょうか。 お願いばかりですいません。
ソルバーを使いたいのですが、どうやってインストロールするのですか??
>>16 分からないこと勉強する気もないクレクレ君は逝ってよし
20 :
前スレ942 何度もすみません。 :04/09/25 14:27:21
ブック1のSheet1、A1に数字を入れてあり、 A B C 1 8 月度の集計 2 ブック2のSheet1に下記のようなデータがあります。 日付 区分 累計 2004/6/05 17 50 2004/8/30 17 60 2004/5/22 20 10 2004/6/05 20 50 2004/8/07 20 55 2004/5/03 27 10 2004/5/04 27 15 2004/8/12 27 80 2004/8/24 27 90 2004/7/01 28 30 2004/7/29 28 50 2004/8/15 54 60
21 :
前スレ942 何度もすみません。 :04/09/25 14:27:44
このデータの中から、ブック1のSheet1、A1の数字を利用して、下記の集計表をブック1のSheet2に作成したいと思っています。 区分 累計1 累計2 差 17 50 60 10 20 50 55 5 27 15 90 75 28 50 ** #VALUE! 54 ** 60 #VALUE! 今回の場合A1は8なので、8月以外の最後のデータを累計1の列に、8月最後のデータを累計2の列に入れ、 差列には、累計2−累計1の結果を表示させたいと思います。 データがないところは**が入力され、計算結果が#VALUE!となるようにしたいです。 なお、ブック1とブック2は最初から開いてある状態です。 注文が多くてすみません。お願いします。
前スレ使い切ってから質問しなおしなよ
>>22 ごめんなさい。
あと8レスだったので途中で切れたらスレが中途半端になると思ったので、こっちに書いてしまいました・・・
丸投げ
前スレの最後の方からこのスレの出だしに至るまで丸投げヤローがほとんどじゃないか… 自分でなにも努力しない丸投げはクレクレ君と同じ扱いでいいんじゃないかと思うんだが。
27 :
942 :04/09/25 16:32:48
>>26 全体的につまずいているのですが、メインは、ブック1-Sheet1のA1の数字を利用して、
特定の月のデータを抜き出すってところです。
一致する年月日のデータを取り出すっていう方法は、いくつかのHPで見つけたのですが、
月だけを比較する方法が分かりません。
>27 MONTH使ってもダメ? つか、どんな式を書いてみてつまったのか書いた方が皆もアドバイスしやすいのでは?
>>27 > 全体的につまずいているのですが、
もうちょっと絞ってくれるとみんなレスし易いと思うけど・・・
monthで月を取り出して比較汁!
あとは、VBAでダイアログでも作って 新しいシートから作るのは?
今更だが、コピペミスで
前スレ 3-4 だったところを 3 一個にしちゃったのは
申し訳なかった。
その分、
>>10 まで含めて次期テンプレに反映ヨロシク。
32 :
名無しさん@そうだ選挙にいこう :04/09/25 17:29:08
A B C
1 5 2004/5/20
2
>>28-29 Monthについて調べてみました。
そして、上記の表を準備し、下記マクロを実行してみました。
結果は「同じじゃないです」となります。Monthの使い方が間違っているのでしょうか?
Sub aaa()
Dim aa As Date
Dim bb As Date
aa = Range("A1").Value
tsuki1 = Month(aa)
bb = Range("C1").Value
tsuki2 = Month(bb)
If tsuki1 = tsuki2 Then
Range("A2").Value = "同じです"
Else
Range("A2").Value = "同じじゃないです"
End If
End Sub
>>32 A1は書式で月だけ表示したやつじゃなくてただの「5」という数字だけですね?
下のように書けばうまくいくかと。
If Range("A1").Value = Month(Range("C1").Value) Then
Range("A2").Value = "同じです"
Else
Range("A2").Value = "同じじゃないです"
End If
>32 Monthは年月日から月を返す関数。だから32で書いたのは「同じじゃないです」となる。 >33 >If Range("A1").Value = Month(Range("C1").Value) よくわかんないんだが、ここValue必要なのか? If Range("A1") = Month(Range("C1"))でいいんじゃないの?
>>33-34 ありがとうございました。
またすぐつまずきそうですが、For〜Next文と組み合わせてみます。
36 :
990 :04/09/25 20:31:39
>>992 前スレ992です。
ありがとうございます。Controls("……")でいけるんですね。
勉強になりました。
教えてもらうと「な〜んだ」ですが、
自分では気づきませんでした。
37 :
名無しさん@そうだ選挙にいこう :04/09/25 20:37:25
A B 1 私 -5 2 君 6 3 私 3 この時、私が0以上の場合1勝として 別なセルに1勝1敗と表記するにはどうしたらよいでしょうか?
過去ログ13〜18って取得できなくなってない? ギコナビで無理。Operaも人大杉って言われる。 まぁmakimo.to行けば読めるけど。
39 :
990 :04/09/25 20:46:33
>>36 前スレ992です。 ×
前スレ990です。 ○
失礼しました。
40 :
名無しさん@そうだ選挙にいこう :04/09/25 20:53:10
>37 0以上で勝ちは判った。 負けの条件は?
>>37 よく分からん
-5 6 3 は C?
0以上ってどこがどこと比べて?
前スレ987さん、989さん、ご回答ありがとうございました。 989さんのコードと987さんの(991での)指摘でうまくいきました。
>>37 A B
1 私 -5
2 君 6
3 私 3
A列に私or君、B列に成績?が入力されていて
条件は0以上が勝ち、0未満が負けと仮定した場合、
C1に =IF(B1<0,"",A1)
D1に =IF(B1<0,A1,"")
を入力して、C1:D1を下に必要な行数分コピーする。
勝敗を表示したいセルに
=COUNTIF(C:C,"私") & "勝" & COUNTIF(D:D,"私") & "敗"
と入力する。
ってくらいしか思いつかないので他の人どうぞ。
面グラフの線を平滑化できますか?
すみません、既出かもしれないですが質問です 例えば 9/26 と打った場合に、勝手に 9月26日 と表示され、 上の部分には 2004/9/26 と表示されてしまいます そのまま 9/26 と表示させる方法はありませんか?
>45 セルの書式設定-日付で好きなのをお選びください。見た目の表示を変えられます。 どうしてもデータが「2004/9/26」となるのがイヤなら文字列に設定しちゃえば9/26の ままにできるけど、正直お勧めできない。
すみません…書き込んでいきなりですか、処置方法がわかりました 書式→セル→文字列で、なんとかしていきます
>>46 (゚A゚)
ありがとうございます
おかげさまで、まとまったテーブルが作れます('∀`)
50 :
名無しさん@そうだ選挙にいこう :04/09/26 09:48:52
>>49 ありがとうございます。
まさにここの2が知りたい内容でした。
試してみたのですが、、名前定義設定後、[ピボットテーブル/ピボットグラフウィザード - 2/3]の
ところでCtrl+F3(メニュー[挿入]-[名前]-[定義])で list を選択するとありますが、
2/3でCtrl+F3を押しても何も起こりません。メニュー[挿入]-[名前]の[定義]も
Activeになっていない状態です。(しかし通常のシート状でCtrl+F3で確認すると
listはできています)
なんとか解決できませんでしょうか。
>43 おお〜有難うございます。 無事、うまくいきました。
52 :
名無しさん@そうだ選挙にいこう :04/09/26 12:10:33
50ですが、ここの3の間違いでした。。。 どなたかご回答お願いいたします。
53 :
名無しさん@そうだ選挙にいこう :04/09/26 13:48:44
If・・・Thenステートメント、If・・・Then・・・Elseステートメントで、 If 条件式 Then 処理1と本に載っているのですが、条件式は1つしか定義できないのでしょうか? If 条件1かつ条件2 Thenってことはできないのでしょうか?
>>53 できるよっていうか、聞くよりやってみた方が早いだろ?
55 :
名無しさん@そうだ選挙にいこう :04/09/26 14:22:21
すいません。EXCEL2000使っています。 例えば、A1セルをクリックしたあと、C3セルをクリックした時 シフトボタンを押していないのに、複数範囲が選択してしまいます。 その後、G10セルをクリックしても、C3セルからG10セルを複数 選択されてしまします。 しょうもない質問とは思いますが、解除する方法を教えてください。
57 :
名無しさん@そうだ選挙にいこう :04/09/26 14:36:19
セル表示に関する質問です。(EXCEL2000) SUM関数で算出した数値の前に、"合計"という文字を同一セル内に表示させたいのですが、 その方法がわかりません。 (例えば、A1のセルに、合計2222←SUMで算出した数値) 方法をご存知の方がいましたら教えて下さい。
>>57 A1のセルの書式設定>表示形式タブ>ユーザー定義>種類欄に「"合計" #,##0」とか
>>57 ="合計"&SUM(E8:E10)
こんな感じで式を書けばよい。
>>59 正常に表示できました!!
ありがとうございました!
親切心で文字列とデータを一緒にしないように58を教えたのに無視かよ
>>61 まぁまぁ、お礼をもらうためにレスしたわけじゃないでしょ。
>>62 まあ、あつくならずに。
ありがとうございました!っていわれるためにレスしたの?
>>64 別に聞きっぱなしでレス返してこないのは別に日常茶飯事だからいいけど
>>60 みたいにレスを返すのなら一方を無視するのは失礼だろって事
それくらいも解らない?
>>65 それを指摘するのも、されるのも厨房っぽいからどっかいって。
ついでに
>>64 もどっかいけ。
仕切り厨キタ━━━━━━(゚∀゚)━━━━━━ !!!
>>70 でもそれを、「無視かよ」っていうやつもやなやつだよね。
72 :
名無しさん@そうだ選挙にいこう :04/09/26 15:20:26
エクセルと関係ないレスが続きそうだから
>>61 にはおいらから「ありがとう」といっとくよ。
77 :
名無しさん@そうだ選挙にいこう :04/09/26 18:08:39
If Then Elseについて質問です。 If ... Then If ... Then Else Else と書いた場合、1行目のIfのElseは4行目。2行目のIfのElseは3行目と見てくれるんですか?
End Ifが抜けてました。 If ... Then If ... Then Else End If Else End If
79 :
ゴッホ ◆lkGoghDAZs :04/09/26 18:28:11
>>50 ウィザードの2/3の時に、メニューバーから挿入→名前→貼り付け
で定義のウィンドウが出るので、それで作った定義を選んで、OK
押せばいいんじゃないの?
81 :
名無しさん@そうだ選挙にいこう :04/09/26 20:35:29
>>80 おおっ、ありがとうございます。
できました。めちゃくちゃ感謝です。
82 :
名無しさん@そうだ選挙にいこう :04/09/26 20:58:27
ピボットテーブルのセル内の単位をすべて英語表記にしたいのですが (元データはすべて英語表記で作成済み)、合計とか月とか自動的に日本語表記に なってしまいます。どうしたら英語単位表記にできますでしょうか。教えてください。
A列 B列 C列 a 1 100 ←のようにある場合で、A列にaかつ b 2 200 B列に1とある場合のC列の合計を求める方法を教えて b 1 300 貰えないでしょうか?(100+200+300=600) a 1 200 sumifだと条件が一個(A列にa)だけしか上手く行かないです。 c 2 100 sumifの中身でand()を使えば上手く行きそうな感じが c 3 200 したのですが、全くできませんでした。 c 3 100 a 1 300
84 :
ゴッホ ◆lkGoghDAZs :04/09/27 00:26:57
>>82 日本語版エクセルだと、英語表記にできないんじゃない?
わかんないけど。
>>83 =SUM((A2:A100="a")*(B2:B100=1)*C2:C100)
上の数式を入力(またはコピー貼り付け)したあと、
Ctrl + Shiftを押しながら、 Enterで確定。
データの行数に応じて、A100、B100、C100のところは
変更してください。
85 :
ゴッホ ◆lkGoghDAZs :04/09/27 00:31:10
あ、もし、1行目がタイトルじゃなくて、データが入ってるんだったら、 A2、B2、C2のところは、A1、B1、C1に直してね。
86 :
名無しさん@そうだ選挙にいこう :04/09/27 00:41:23
>>83 D1に =AND(A1="a",B1=1) と入れて下にコピー
=SUMIF(D:D,TRUE,C:C) で求まる。
87 :
名無しさん@そうだ選挙にいこう :04/09/27 00:50:41
Excel2003のカスタマイズの質問 ユーザー設定で、図形描画のツールバーに"頂点の編集"ボタンを D&Dで追加しようとしても出来ません。 他のボタンはツールバーに追加できるのに… なんで?? Word2003やPowerPoint2003は"頂点の編集"をツールバーに追加出来てます。
88 :
ゴッホ ◆lkGoghDAZs :04/09/27 00:59:10
>>87 今、俺の手元にあるのは2002だけど、普通にできるなあ。
他のツールバーにはドロップできる?
会社のが2003だから明日(つーか今日)試してみるね。
もし、誰の回答もなかったら、明日その結果報告します。
>>82 ひょっとして、50の人と同じ人?
まあ、いいけど。
例えば1-mayと書かれたデータが勝手に5月1日と変換されているなら、
右クリック→フィールドの設定→表示形式で変えればいいんじゃないの?
グレーのセルに表示されてる名前を日本語から英語に変えたいんなら、
同じく右クリック→フィールドの設定から、名前のテキストボックスの
ところを好きな名前に変えればいいんじゃないの?
普通のセルの合計の部分とかは、数式バーから変更できるみたいだけど?
90 :
ゴッホ ◆lkGoghDAZs :04/09/27 02:02:08
>>89 >>82 が言ってるのは、左上の集計方法の「合計」と、グループ化したときの、月の表示
のことだと思いますよ。
91 :
ゴッホ ◆lkGoghDAZs :04/09/27 02:07:48
あ、左上のやつは手入力で変えられるんだね。 知らなかった。 あと、グループ化の月表示も、つど手入力なら変えられます。 聞きたいのは、自動的にってことだと思うけど。
>>88 > 今、俺の手元にあるのは2002だけど、普通にできるなあ。
> 他のツールバーにはドロップできる?
他のツールバーにもD&Dが出来ないんですよ。全く理由がわからんです。
他のボタンは可能なのに"頂点の編集"だけダメ。
> 会社のが2003だから明日(つーか今日)試してみるね。
> もし、誰の回答もなかったら、明日その結果報告します。
よろしくです。m(_ _)m
"図形の調整(R)"を見ていて気付いたのですが、理由が分かりました。 Excel2003では、頂点を編集できるオブジェクト(例えば"曲線"や"フリーフォーム")を選択している時しか "頂点の編集"という操作自体をそもそも選択できない(表示されない)仕様のようです。 # Word2003やPowerPoint2003ではグレーアウトされるだけで表示はされる仕様。 つまり、ツールバー上に"頂点の編集"ボタンを置けているのだが普段は見えず、 実際に頂点を編集できるオブジェクトを選択した時だけツールバー上にボタンがひょこっと現れます。 まさかこんな仕様になってるとは思いませんでした。お騒がせしました。
94 :
ゴッホ ◆lkGoghDAZs :04/09/27 04:03:00
>>93 そういう仕様なんだ。
それって、ツールバーの一番右のメニューの「ボタンの表示・非表示」で、
常に表示さすことってできないんですかね?
まあ、必要なときにひょっこり現れるなら、問題はないと思うけど。
ちなみにExcel2002も、使用できないときはグレーになるだけです。
「ボタンの表示・非表示」は、なぜか「頂点の編集」だけ設定できませんでした。
>>94 > それって、ツールバーの一番右のメニューの「ボタンの表示・非表示」で、
> 常に表示さすことってできないんですかね?
これも
>>93 の説明と同様に、頂点編集可能オブジェクトを選択している時のみ選択肢に加えられます。
しかもグレーアウトしていてチェックを付けたり外したりできない。
よって、常に表示は無理のようです。
> まあ、必要なときにひょっこり現れるなら、問題はないと思うけど。
そう思って諦めます。
> ちなみにExcel2002も、使用できないときはグレーになるだけです。
> 「ボタンの表示・非表示」は、なぜか「頂点の編集」だけ設定できませんでした。
Excel2002までの仕様やWord2003/PowerPoint2003の仕様を見ていると、
仕様というよりバグ(というか仕様そのもののバグ)と解釈できなくもないですねぇ…
# ユーザーを混乱させるという意味でも
96 :
名無しさん@そうだ選挙にいこう :04/09/27 15:37:11
簡単な在庫表を作りたいんですけど 総個数が記入するたびに減ってく表をつくりたいです その場合 総個数-(A+B+C+D+E)=現在個数 みたいな式を入れればいいのですか?
99 :
ゴッホ ◆lkGoghDAZs :04/09/27 17:21:44
>>95 2003で試したら、まさにおっしゃるとおりの現象が起こりました。
いろいろ試したけど、表示し続けさせることは無理でした。
お役に立ちませんで…。
MSサイトにこの件について載っていたので、参考にしてください。
Excel2003のバグみたいです。
100 :
ゴッホ ◆lkGoghDAZs :04/09/27 17:22:27
>>99-100 なんだぁ、既知問題だったのですか。やっぱ仕様じゃないよね(w
ん?11日前… つい最近発見されたようですな。
> この問題は既に弊社にて Excel 2003 の問題として確認しており、現在調査中です。
> 詳細がわかり次第、サポート技術情報でお知らせする予定です。
MSは問題を認識しているようなので、いつかは修正されそうです。
> お役に立ちませんで…。
いえいえ、お手数を煩わせてすみません。
どうもでした。
102 :
名無しさん@そうだ選挙にいこう :04/09/27 21:01:07
E列でダブルクリックをすると、本日の日付を表示する下記コードを使用しております。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) Dim RangeName As String RangeName = Target.Address RangeName = Mid(RangeName, 2, 1) If RangeName = "E" And Target = "" Then Target = Format(Now, "yyyy/mm/dd") ElseIf RangeName = "E" And Target <> "" Then Target = "" End If Cancel = True End Sub 上記コードですと、E列のみでしかダブルクリックできなくなってしまうのですが、 他のセルでもダブルクリックが出来るようになり、かつE列をダブルクリックをすると、 日付を表示するようにしたいのですが、可能でしょうか?
>>102 「Cancel=True」 を切り取り、
Target = Format(Now, "yyyy/mm/dd") の下と、
Target = "" の下へ貼り付け。
104 :
102 :04/09/27 21:33:54
レスありがとうございます! 希望通りの動作をになりました。 ありがとうございました!
105 :
名無しさん@そうだ選挙にいこう :04/09/27 21:51:35
>>49 ,90
はい、50と同じ人です。
手入力でできました。ありがとうございました。
自動なやりかたあればありがたいですが、とりあえずしのげました。
ほんとにありがとうございました。
>>102 こうすると、Cancel = Trueは1つで済みますよ。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim RangeName As String
RangeName = Target.Address
RangeName = Mid(RangeName, 2, 1)
If RangeName = "E" Then
If Target = "" Then
Target = Format(Now, "yyyy/mm/dd")
Else
Target = ""
End If
Cancel = True
End If
End Sub
107 :
名無しさん@そうだ選挙にいこう :04/09/27 22:29:01
Excel2002、W2K使用です。 質問なのですが、最初にAccessであるデータベースを組んでおきます。 それらのデータをExcelで利用することは可能でしょうか? 例えば、Excelのセルに”01”と入力した場合にAccessで組んだデータベースの連番が ”01”の行を取り出してExcelのシートに一行コピーする。ということです。 すいませんが、ご解答よろしくお願い致します。
108 :
102 :04/09/27 22:41:15
>>106 ありがとうございます。
参考になります!
>>107 マクロを組めばできるよ。
でもマクロを組まなくて出来るかは知らない。
>>108 さらにすっきりと。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Column <> 5 Then Exit Sub 'Eは5列目
Target = IIf(Target = "", Format(Now, "yyyy/mm/dd"), "")
Cancel = True
End Sub
111 :
102 :04/09/28 01:39:46
>>110 あれーまたレスがある!
しかも超すっきり!!
どうもありがとう!!
112 :
名無しさん@そうだ選挙にいこう :04/09/28 03:43:51
これじゃだめか?(わずか一行) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) If Target.Column = 5 Then Target = Format(Now, "yyyy/mm/dd") End Sub
113 :
FAQ:切り上げ、切り捨てについて :04/09/28 06:34:27
すみません。質問させてください。 小数点第一位が0の場合は切り捨て、第一位が1以上の場合は切り上げたいのですが・・・ round関数などで試したのですがどうしてもうまくいきませんでした。 既出でしたら申し訳ございません。お力をお貸しください。
0.4足して四捨誤入
一行で済ませるために Else Target = "" を抜いちゃっていいのかね。
>>113 普通に =ROUNDUP(A1,0) じゃダメですか?
これだと、例えば「2.01」など第一位が「0」でも
「3」になっちゃうからダメか・・・。
どなたか教えてください。 セル相対参照を行っている計算式で、参照元のデータのカットペーストをしても 参照セルが移動しないようにするにはどうしたらいいのでしょうか? 具体的にはたとえば下記のようなケースで、A20のデータをA19にカットペーストしても 勝手に=SUM(A$1:A19)にされない方法です。 offsetなどでどうにかいじってみようとしましたが、頭が煮えてしまいました。 A B 01 123 02 456 03 774 : 20 122 =SUM(A$1:A20)
>>113 INT(A1+0.9)じゃだめですか?
12.0999999999999→12
12.1→13と出たので、大丈夫かな?
>>117 環境を書き忘れました。Windows2000 SP4 + EXCEL2002 10.2614.2625です。
>>117 セルをつかんで移動させるとか、そういうこと?
>>119 A20を選択して、Ctrl-X、その後A19を選択してCtrl-Vする動作とか、
A19を右クリックーD(削除)してA20以下を繰り上げたりするような場合です。
どちらもB20の計算式は=SUM(A1:A19)になってしまいます。
A20をA19にコピー後A20を削除すれば問題はないようですが、煩雑だし、
複数の人に使ってもらうことになるシートなのであまりややこしい制限は掛けたくないんです。
>>120 セルをつかんで移動させる方法じゃだめですか?
>>113 5捨6入などの定石、この場合0捨1入だから
=ROUND(A1+0.4,0)
>>117 =SUM(INDIRECT("A1:A20"))
>>122 これならいけそうです。ありがとうございます。
しかしこれをコピーでB1〜B19に並べようとすると
手作業で参照範囲を変更しないといけないなあ・・・・
これも満たす手がないものか・・・・あ、できた
=SUM(INDIRECT("A$1:A"&ROW()))
今まではカラムA変更時ChangedイベントからVBAを動かし
計算、書き込みさせるというお馬鹿なことをしていました(^^;)
まあこれはこれで悪くないんですが。
>>121 いや、それだと結局コピーですよね。
使う人が何も考えなくてもいい(カットでも別の方法でもとにかくカラムAだけを
いじるならどんなやり方でも問題ない)方法が知りたかったのです。
>>124 もしかして、セルの右下をドラッグしてないか?
右クリックでドラッグすれば移動やコピーのメニューが出るからわかりやすいかモナ
いい加減ヘルプ見ろよ
129 :
FAQ:切り上げ、切り捨てについて :04/09/28 20:24:33
113です。 A1+0・1で出来ました。ありがとうございました。
130 :
名無しさん@そうだ選挙にいこう :04/09/29 00:52:08
質問させていただきます。 Sheet1に、A1:F6 という簡単な表があります。 A2:A6にはレコードのキーとなる氏名 {"田中","佐藤","斉藤","山田","ひろゆき"} があり B1:F1にはフィールド名 {"自宅電話","携帯電話","アドレス","住所","童貞フラグ"} があるとします。 この、「キー名」と「フィールド名」から目的のセルの参照を知るために、 たとえば "田中" の "童貞フラグ" の参照が知りたかったら =INDEX(B2:F6,MATCH("田中",A2:A6,0),MATCH("童貞フラグ",B1:F1,0)) になると思うのですが、もっとスマートな関数の使い方があったらぜひ教えていただけませんでしょうか。
どなたか教えてください。 EXCEL2000でオートフィルターを使用しているのですが1015行以降の内容がプルダンメニューに 表示されません。4000行ぐらいまでの内容を参照表示したいのです。 何か方法はないでしょうか?宜しくお願いします。
毎日更新され、順位が変動するWeb上のデータを、名前が同じである項目ごとにまとめて、 できたら順位もそれまでの数字の合計順にしたいのですが、どうすればできるのでしょうか? つまり、 9/29 9/30 順位 名前 数字 順位 名前 数字 1 A 100 1 B 80 2 B 70 2 C 60 3 C 40 3 A 40 … … というデータを取り込んで、関数かなにかを使って 9/29 9/30 順位 名前 数字 数字 1 B 70 80 2 A 100 40 3 C 40 60 … という風にまとめることができるようにしたいのです。 Excel2000です。宜しくお願いします。
A B C D E F G 1 項目 最終入力 9/1 9/2 9/3 9/4 9/5 2 aaa 10 3 bbb 20 4 ccc 10 30 上のような表でB2に"9/1"、B3に"9/3"、B4に"9/5"というように 項目ごとに入力されたデータのうち一番新しいものの該当日付が自動でB列に入力されるようにしたいんですがどうしたらいいですか? Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column >= 3 And Target.Column <= 33 And Target.Row >= 2 And Target.Row <= 41 Then Cells(Target.Row, 2).Value = Cells(1, Target.Column).Value End If End Sub だと普通に入力してる分にはいいのですが訂正や削除を行った場合 一番新しい日付ではなく最後に入力・削除を行ったセルの該当日付が入ってしまいます データはC2からAG41まででExcelは2002です。どなたか分かる方よろしくおねがいします
136 :
ゴッホ ◆lkGoghDAZs :04/09/29 19:19:37
>>135 こんなんでどうですか?
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column >= 3 And Target.Column <= 33 And Target.Row >= 2 And Target.Row <= 41 Then
Dim myC As Long
myC = Cells(Target.Row, 256).End(xlToLeft).Column
If myC >= 3 Then
Cells(Target.Row, 2) = Cells(1, myC)
Else
Cells(Target.Row, 2).ClearContents
End If
End If
End Sub
質問です ハイパーリンクをクリックしたした時に開くブラウザを インターネットエクスプローラーからSleipnirに変更したいのですが できますか?
138 :
名無しさん@そうだ選挙にいこう :04/09/29 20:19:00
EXCEL再インストールしたら 02/11/12と今までは入力するとそのまま表示されていたのに H2.11.12と表示されるようになってしまいます、いままではそんなことはなかったのですが どうすれば元どおりになりますか?
>137 前スレでも同じような質問が出てましたが、Sleipnirの設定のほうで Sleipnirを通常使うブラウザに設定してますか?
>>135 こんな感じで。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, Range("C2:AG41")) Is Nothing Then Exit Sub
With Cells(Target.Row, Columns("AH").Column).End(xlToLeft)
Cells(Target.Row, 2) = IIf(.Column = 2, "", Cells(1, .Column))
End With
End Sub
141 :
名無しさん@そうだ選挙にいこう :04/09/29 22:27:25
=A1+A2+A3+A4+・・・・・・・・・A30+と言うような計算を簡単にするにはどうすればいいのですか?
=sum(a1:a30)
すみません。できました。VLOOKUPですが。
>>134 ,
>>143 表を以下のように変更すればピボットテーブルで出来たんですが、
とりあえず解決したようでよかったです。
A B C D
1 日付 順位 名前 数字
2 9/29 1 A 100
3 9/29 2 B 70
4 9/29 3 C 40
5 9/30 1 B 80
6 9/30 2 C 60
7 9/30 3 A 40
146 :
名無しさん@そうだ選挙にいこう :04/09/29 23:53:46
>>146 最大化してからエクセルを終了して、もう一度新規に開いてみたらどうでしょうか。
セル内の数字の文字数によってROUNDUP関数で切り上げの位を変更したいと思っています。 例 12、3 なら 13 123,4 なら 130 色々考えたんですがうまくいきません。どうかお力を貸して下さい。
151 :
名無しさん@そうだ選挙にいこう :04/09/30 21:50:30
>>151 何をもって間違いとするかの違いだけ
×÷の表記が日常では正しいけどエクセルだと * / になるよね?
簡単に信用したり疑ったりするのやめれ
155 :
教えて下さい。 :04/09/30 23:08:40
ある値の100の位が 1の場合・・・1階 2の場合・・・2階 3の場合・・・3階 と表示させるにはどの関数を使ったらいいでしょうか?
>>155 100の位を抽出して、ifで求めるとか
157 :
教えて下さい。 :04/09/30 23:36:06
>>155 ある値が入ってるセルをA1セルとして
=MID(A1,LEN(A1)-2,1) & "階"
ってこと?上の式は100未満を考慮してないけど。
159 :
名無しさん@そうだ選挙にいこう :04/09/30 23:46:34
>157 100で割った値の右から1桁
160 :
159 :04/09/30 23:59:07
=RIGHT(TRUNC(A1/100)) & "階"
161 :
名無しさん@そうだ選挙にいこう :04/10/01 00:00:38
SUMである範囲の数値の合計を出そうとすると、 『1E+06』みたいなエラーが表示されるんです。 これはどういったことが原因なんでしょうか?
162 :
159 :04/10/01 00:04:36
>161 セルの幅が小さい?
164 :
161 :04/10/01 00:18:15
>>162 正常に表示されました。
ありがとうごさいます。
とてもはずかしい質問をしてしまいましたね。
165 :
名無しさん@そうだ選挙にいこう :04/10/01 00:34:45
A B 1 ○ 21 2 × 5 3 ○ 8 4 × 13 上の表のA列が○、B列が10以上のものの個数を、 別のセルに表記させるにはどうすればいいんでしょうか?
167 :
名無しさん@そうだ選挙にいこう :04/10/01 02:01:49
>>165 A列に「判別」、B列に「数値」という見出しを挿入して
A B C D
1 判別 数値 判別 数値
2 ○ 21 ○ =<10
3 × 5
4 ○ 8
5 × 13
6 ○ 29
7 ○ 10
で、どこかのセルに
=DCOUNTA(A1:B7,B1,C1:D2)
>>157 まあ公式みたいな門です。
=INT(MOD(A1,1000)/100)
>>165 好きな列にデータ分だけ式を埋めこんでSUMをとる。
原始的だけどわかりやすいよ。
=IF(AND(A1="○",B1>=10),1,"")
EXCEL2000です。ほとほと作業が進まず困り果てています。 1) 複数のEXCELファイルに一度(できるだけ楽)に同じワークシートをコピーできる 方法がありましたら教えて下さい。 2) 複数のセルの統一化 (例えばあるセルAに値を打ち込んだら別のBCDEの4つのセルも同じ値が自動的に入るような形) とかできるならそちらもお願いします。 87個のファイルの扱ってるんですが同一書式のシートの複数追加頼まれて残業中です。 よろしくお願いします。
170 :
名無しさん@そうだ選挙にいこう :04/10/01 19:57:01
例えばA1のセルだけ変更して次々と印刷できるでしょうか? つまり、ひとつのセルに人名を入れて人名だけ変えて次々印刷したいのです。 よろしくお願いします。
>>169 1) 複数のブックシートを開き、コピーしたいシートラベル上からコピーを選択
コピー先のブックシートを選択する
2) =a1でいいんじゃないの?
>>171 1)それだと全ファイルごとに毎回コピー作業しないと駄目なような気が。
2) もうちょっと詳しく教えてください。
>>172 1)それくらい、別にたいしたことでも・・・?
2)セル参照させればいいだけでしょ
>>171 >複数のブックシートを開き、コピーしたいシートラベル上からコピーを選択
>コピー先のブックシートを選択する
それだとコピー先に1つしか移動先を選べませんよね?
これを複数選んで一発(と言うかできるだけ楽に)貼り付けれる方法を聞きたかったのですが
EXCELでも限界あるみたいですね・・・
175 :
名無しさん@そうだ選挙にいこう :04/10/01 20:28:35
>172 2) 適当にb2、c5、d8に=a1と入力しておけば a1に999といれると b2,c5,d8にも999と自動的に入る。
>>173 2)はわかりました。有難うございます。
1)はそれで朝からずっと続けてるんですがまだ半分も終ってません・・・
それくらい・・・なんですかねぇ・・多分今日は帰れなさそうだ。。。
178 :
名無しさん@そうだ選挙にいこう :04/10/01 20:40:57
コピーって5秒もあれば出来るじゃん。 100個あったって10分かからないよ。
もしVBAでCopyメソッド使うとしても、87ブック程度ならコピー先のブック名調べて 書き換えるヒマがあったら手作業でコピーした方が早い気がする…
すげー要領の悪いやり方してないかな・・・とか思ったり
>>176 会社の詳しい人に聞いた方が早かったと思うよ
184 :
名無しさん@そうだ選挙にいこう :04/10/01 23:50:35
>>169 複数のファイルが一つのフォルダに入っているとして
VBAで、ファイル名を取得 → シートに書き出し → 書き出した順番に開く →
シートをコピー → ファイルを閉じる → 書き出した次のファイルを開く・・・終わるまでループ
で、出来るんじゃないの?
=a1すら分ってなかった169にそこまでやらすのは気の毒だろう。
186 :
184 :04/10/02 00:19:07
んじゃ コピーされるワークシートと、コピー先のファイルを開いておいて マクロの記録 → シートをコピー → ファイルを閉じる → 記録終了 で、記録されたマクロをメニューアイコン(ニコニコマークがいいかな?)に登録 順番に手動でファイルを開いては、ニコニコマークをクリック → 開いてはクリック → 終わるまで で、出来るんじゃないの?
187 :
名無しさん@そうだ選挙にいこう :04/10/02 00:26:03
はじめまして。Excel2003のソフトがあるんですけど、Windows98にインストールって出来るんですか?初心者なんですがくだらない質問ですいません。教えてください。
188 :
184 :04/10/02 00:26:17
んん? 違いフォルダに入ってる同じ名前のファイルの場合はこれでいいけど ファイル名が違うとマクロの記録じゃだめだな _| ̄|○ スマソ
189 :
名無しさん@そうだ選挙にいこう :04/10/02 00:27:46
コピー先のファイルをいくつか適当に開いて、 コピー元のシートラベルをD&D(CTRLを押しながら)。 これで十分だろ、80くらいなら。
UWSCみたいなものを使うのは?
Win2000です。 データを保存したのですが、 どうしても保存前(3時間くらい前)に戻したいのです。 何か方法はありませんでしょうか。 格納日の前のでもかまいません。 PCの電源は落としていません。
上書き保存しちゃったデータは元に戻せないと思う
1スレに1人は上書きデータを元に戻す方法訊いてる希ガス
そうなんだ。 で、答えは出てるの?
196 :
名無しさん@そうだ選挙にいこう :04/10/02 01:44:03
あるブックAのなかにaというシートがあります。 業務上、Aをデータベースとして毎月一つのブックを作るのですが、 別の人がシートaをコピーしてブックBを作って更に必要な 加工を行います。 その加工においてまったく別のブックCからデータを取得する マクロをブックAのaに書いてコピーしたらそのままブックBの なかのaで使いたいのですが、何かうまい方法はないでしょうか。 マクロをいちいち探しにいくダイアログが出てしまい、マクロに 慣れていない人が使えない状態でつ。ブックBのaシートの マクロ起動用ボタンを押すだけで、さくっとマクロを動かしたいのです。
>195 1スレ1人は言いすぎだった。 でも過去ログにあった分も「無理、スレ違い」で片付けられてたーよ バックアップとる設定にしてあったらまだマシだったかもねー
前スレではスレーだったよな。 スレ違いってことは、別スレでは解決するってことだよな。ハード?! 漏れにはサパーリだ。
199 :
名無しさん@そうだ選挙にいこう :04/10/02 11:18:43
OS⇒XP EXCEL⇒2000 を使用しています。 顧客のリストをEXCELで作っているのですが、オートフィルタを使って抽出したデータを WORDの宛名ラベルで出したいのですけど、抽出したデータだけ出す事は可能でしょうか? 何度やっても失敗してしまいます。。。 どなたか良い方法があったら、教えてください。
>192 私が盆の水を地面にこぼすから これを元に戻したら答えてあげよう。
バックアップ履歴から戻せる
>>199 オートフィルタ実行後適当な列で、抽出された行だけ選択
適当な文字(例えばPとか)を入れて CtRL+Enter
後はWordから差し込む条件を指定するだけ。
>201 誰へのレス?
スレーってなに?
散々既出かもしれないですが、テンプレに乗ってなかったんで質問させてください マクロのユーザーフォームで各コントロールを設定した後、 プロパティでフォント変更しようとすると高確率で固まってしまいませんか? 何かいい対策があれば教えて下さい
自分のPC(自宅&職場)じゃ、それで固まった事はない。 PCや環境によって、固まりやすいケースっつうか癖みたいなのはある。 OSやExcelが不安定になってり、 特定のデバイスを入れてからそのエラーが起こりやすくなってたりしないか?
>>207 固まらないけど、フォントをたくさん入れてるからフォント名の表示までに時間がかかる。
エクセルとは関係ないと思うけどフォントキャッシュでも削除するぐらいしか思いつかない。
>>208-209 レスありがとうございます
ごめんなさい、自己解決というか・・・
プロパティウィンドウの「font」をダブルクリックして設定ウィンドウを出すと問題なく出てくれました
でもその横の・・・の□ボタンをクリックすることで設定ウィンドウを出そうとすると
職場でも自宅でもウィンドウが出てくれず固まってしまうことが多いんです
ありがとうございました
>>210 確かにフォントはそこそこ入れてます
それが原因なのかな?問題が起こったときはファンが回り始めるし・・・
でも表示に時間がかかるなんてレベルじゃないんですよね
ありがとうございました
ちょっとすみません こちらで聞くべきなのか判りませんが、質問させて下さい OS:WindowsXp homeEdition で Excel 2000 sp-3 を使用しているのですが セルへの数値入力が、ほぼ出来なくなってしまったのですが、どうすれば良いのでしょうか ”ほぼ”というのは、たまに数値として認識してくれる時もあるのです 数値として入力出来る条件は判りませんでした IMEの入力モードは直接入力になっているのですが・・・ それと、セルに=(1)と入力した場合は数値として認識するようです セルだけでなく、Excelのオプションの"計算方法"の"反復計算"の項目に 一度フォーカスが合ってしまうと 「入力した数値は使用できません。整数型または少数点数を入力してください」 と警告され、オプションタブの変更すら出来ません キャンセルは可能ですが・・・ Excelの修復も、再インストールも試しましたが、改善しませんでした その他、色々と調べたのですか、対応策が見つかりません IMEの問題かもしれませんが、他のソフトでは問題が無いようです 対応策、障害情報等知っている方がいましたら、お教えください
>>214 間違いなくそれです、ありがとうございます
製品問題として認識されていたんですね
SP2はまだ怖いんで入れたくない・・・
ちなみに
>>211 が3番目の回避策ということで
個別にパッチ入れてないSP1を使うのも怖いよ
217 :
名無しさん@そうだ選挙にいこう :04/10/03 01:11:39
スレ違いかもしれませんが アドレスを入力して、それをクリックすると、IEが開くのですが、それをSleipnirで開かせたいのですが、どうすればいいでしょうか? どなたかご教授ください。
218 :
名無しさん@そうだ選挙にいこう :04/10/03 01:32:08
>217 >139 この質問もいい加減FAQか? そういえば前スレか前々スレで通常使うブラウザに設定してもダメと言ってたヤツはどうしたんだろう。
220 :
名無しさん@そうだ選挙にいこう :04/10/03 18:44:37
B列の、データのある最後の行のセルの値をコピーしたいのですが、 マクロでどのように記述すればよろしいでしょうか?
221 :
ゴッホ ◆lkGoghDAZs :04/10/03 19:06:15
>>220 Range("b65536").End(xlUp).Copy
222 :
名無しさん@そうだ選挙にいこう :04/10/03 19:56:31
EXCELを起動したら 自動的に"PERSONAL"って名前で開かれるようになってしまった・・・・ マクロを触ったせいなのですが、 元に戻すにはどうすればいいっすか?
223 :
ゴッホ ◆lkGoghDAZs :04/10/03 20:02:53
>>222 Personalは、普段は見えていないだけで、常に開いています。
なんらかのきっかけで、見えちゃっているだけだと思うので、
「ウィンドウ」の「表示しない」で見えなくしてください。
224 :
220 :04/10/03 20:08:41
>>221 ありがとうございました。
マクロを初歩の初歩から勉強しないと・・・・
CurrentRegionでセル範囲を知ることが出来るのは知ったんですけど、 そこで次にそれを変数として利用したい時にどうすればいいのか教え ていただけないでしょうか。 例えばA1:C10の範囲を得た時に 変数 tate に 10 yoko に 3 を格納したいのですけど。
>>225 こんな感じで。
Dim CR As Range
Dim Tate As Long
Dim Yoko As Integer
Set CR = Range("A1").CurrentRegion
Tate = CR.Rows.Count
Yoko = CR.Columns.Count
MsgBox Tate
MsgBox Yoko
Set CR = Nothing
結局、保存したエクセルは元に戻らないのでしょうか。 スレ違いと言うのでしたら、どのスレに行けば解決するのか、 教えて頂きたいのですが・・・。
228 :
名無しさん@そうだ選挙にいこう :04/10/03 21:42:54
エクセルのF1キー(ヘルプ表示)を無効にする方法はありませんか? F2キーを押そうとしてF1キーに触れてしまうことがあり、 そのために10秒近いロスをするのが困ります。
>228 カバーでもかけろや
>>228 Sub Auto_Open()
'XLStartフォルダのPersonal.xlsの標準モジュールにこのマクロをコピペ
Application.OnKey "{F1}", ""
End Sub
>>226 有難うございます。
一つ気付いたんですが、式が入っていたらそのセルも
範囲内になるんですね。いや、それは構わないんで。
>>231 SpecialCellsをヘルプで参照。
233 :
名無しさん@そうだ選挙にいこう :04/10/03 23:50:56
すみません、どなたか教えて頂けないでしょうか。 エクセルで削除とかの操作をしていたら10個分位のセルの枠の線が 消えてしまいました。(罫線を引いているのではなく、画面だけで見れる 薄い線) ポッカリと白いスペースになっているのでまた線を付けるにはどうしたら よいのでしょうか? よろしくお願いします。
234 :
名無しさん@そうだ選挙にいこう :04/10/04 00:11:18
>233 罫線のある未入力の項目からコピーする。 正しい、やり方は、知りませんm(__)m
236 :
名無しさん@そうだ選挙にいこう :04/10/04 00:24:29
>>234 おぉっ!
ありがとうございます。
目からうろこでした。
目の中のお魚さんを大切に育ててくださいね
少し長くなりますが、どなたかご教授下さい! VLOOKUP関数を使用して一覧表から別の表を作成しようとしました。 一覧表には下図の様に縦1〜50行、横B〜Y列までデータが入力されています。 No A B C・・・・・・Y 1 10 1 10 10 2 15 4 10 10 3 10 1 10 10 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 50 10 1 10 10 違うシートに、その一覧表のNoを検索値にしたVLOOKUP関数で 自動作成できるようにしています。 ですが、NO31以降がエラー(#N/A)になってしまいます。 どうしてなのかわかりません。 数式はNo1からコピーしたもので、No30まではエラーにはなっていません。 ヘルプも見たんですがわからなかったので、こちらで質問させて頂きました。 宜しくお願い致します。
>>239 まず式をさらせ
それと一応OS,エクセルのバージョン
すみませんでした! XP HomeEdition2002で、Excel2003です。 下の式の、上段は答えがでて、下段は、エラーになります。 =VLOOKUP(30,一覧!$B$5:$Y$34,2,0)&" 殿" =VLOOKUP(31,一覧!$B$5:$Y$34,2,0)&" 殿" 検索値は、ちゃんと数値です。
$Y$34だから。 34じゃなくて54でしょ。
ああ!! どうもすみませんでした・・・・。 行を増やす前の数式だったようです・・・。 ありがとうございます!
244 :
おはようございます :04/10/04 13:40:21
P6の内容と一致するまで06,N6,M6,L6,K6,J6,I6までさかのぼって、一致する内容が あれば、一致したセルから、P6まで(P6含まず)の行6,7,13の内容をクリアするマクロ は、どういったマクロになるでしょうか?
245 :
おはようございます :04/10/04 13:54:36
244>> さかのぼると記載しましたがさかのぼらなくても別に問題ありません。 P6と一致するI6,J6,K6,L6,N6,M6,O6の内容があれば、一致したセルから P6まで(P6含まず)の行6,7,13の内容をクリアするです。
246 :
名無しさん@そうだ選挙にいこう :04/10/04 14:02:47
VBAですが 配列で13×3で39個の変数を作ったのですが これをRengeで指定したセルに一気に値を入れるにはどうしたらいいのでしょうか?
For i = 9 To 15 If Cells(6, i) = Cells(6, 16) Then Range(Cells(6, i), Cells(7, 15)).ClearContents Range(Cells(13, i), Cells(13, 15)).ClearContents Exit For End If Next
248 :
名無しさん@そうだ選挙にいこう :04/10/04 14:11:14
>>246 自己レス
変数使えばなんとかなりますね
組込関数でなんとかならないかと思ったのですが、横着はいけませんね
>246 書き出すセルが13行×3列で良ければ RANGE=配列 で桶。
251 :
名無しさん@そうだ選挙にいこう :04/10/04 18:59:12
sheet1 を 1000 あ 1500 sheet2 =index 2600 =index 5000 上記のようなデータがあります。 sheet1で名前を並べ替えした場合に、 sheet2の隣の数字も名前と一緒に並べ替え するにはどうしたら良いでしょうか? よろしくお願い致します。
252 :
名無しさん@そうだ選挙にいこう :04/10/04 21:15:08
片対数グラフを作りたいんですが、 横軸を10^-6、10^-5・・・ってな風にとりつつ、 だけどグラフ上の表示は-6、-5とかを上付きにしたいんです。 何かよい方法はありますか?
255 :
名無しさん@そうだ選挙にいこう :04/10/05 03:28:45
>>252 表示形式を指数にして、
1.0E-5とかの1.0Eの部分を図形で消して、
10のテキストを書くとか。
Microsoft Query 2000,2002 の Excel Driver は不具合だらけで使えない? OS Windows Xp,2000,NT4.0 全て最新のSP済 Excel 2000,2002,Xp Driver Microsoft Excel Driver 仕様: Unicode未対応。テーブル名・フィールド名・パス名に2バイト文字が使用できない。 パス名が長すぎると使用できない。 パス名にピリオドが入っていると使用できない。 MSサポートに見つからないバグ・不都合・ヘルプ未記載事項: はなからクエリの作成が出来ない。どうやっても古臭いフォントで「FROM句の構文エラーです」とダイアログが出る。SQL文を直接書くしかない。 SQL文は、ヘルプと異なって、LIKE文に * が使えず、 % が使える。(SQL規格違い) フィールド名・パス名は半角英数だろうが2バイト文字だろうが [ ] で囲まないとエラー。 データソースのエクセルファイルが読み取り専用扱いとなり、テーブル定義でデータ型を定義しなおせない。 各フィールドで、文字列と認識すると数字として解釈できるデータが Null となり、数字として認識すると文字列が Null となり、結果セットが空白になる。 っていう減少でイライラしているのですが、既出でしょうか? それとも私の使い方が誤っていますか?
訂正: 誤)フィールド名・パス名は半角英数だろうが2バイト文字だろうが [ ] で囲まないとエラー。 正)フィールド名・テーブル名は半角英数だろうが2バイト文字だろうが [ ] で囲まないとエラー。
258 :
252 :04/10/05 11:35:58
259 :
名無しさん@そうだ選挙にいこう :04/10/05 12:21:09
(111)111-1111 (2222) 22-2222 (33) 3333-3333 のように既にバラバラの形式で入力されている電話番号を 000-000-0000の形式になるようにするにはどういった関数を使えばいいんでしょうか?
>>260 それぞれに()が入ってる場所も違うし全角と半角も違うので上手くいかないです・・・
>>261 まず"(" ")" "-" などをそれぞれ順に取り除く。この時「置換」が便利。
次に全角or半角に統一する。 これは関数が便利
最後に一定位置に"-"を入れる。 見た目だけなら表示形式。中味もそうしたいなら関数。
>>261 閉括弧をハイフンに置換(全角半角で2回)
開括弧を除去(置換後文字列に何も入れない、全角半角で2回)
全角数字を半角数字に変換(ASC関数とか)
これで 012(3456)7890みたいな電話番号も 012-3456-7890 にできそうな気がするがどうか。
考えただけで試してないけど。
置換の際、オプション部分のチェック次第で全角半角は一度に処理可能。
ありがとうございます。おかげさまで置換は出来たんですが、最後に一定の位置に-を入れる関数はどれを使えばいいんでしょうか? REPLACEでも上手くいかなそうだし・・
>000-000-0000の形式になるようにするには A1セルに10桁の番号がある時 =LEFT(A1,3) & "-" & MID(A1,4,3) & "-" & RIGHT(A1,4) 表示形式ならユーザー定義で「000-000-0000」
出来ました。 関数を組み合わせて使う時&を使うっていうのも知りませんでした。 ありがとうございました。
私は、保存箇所を2つ用意し、ユーザー入力箇所には全角不可にして、 既存の全角文字は半角に変換。 ( ) - 混在は諦める。 別の列に、( ) - 完全除去全半角で自動保存し、検索に利用する。 と、やりました。 ユーザーによっては、0492987654を、 (0492)98-7654 0492-98-7654 ならばいいのですが、 049-298-7654 とか入れてくる場合もあるので、 完全に対応するには郵便番号データベースのように 電話番号の上位桁をデータベース化しないとならなくなる。 有料の電話番号データベースパッケージもあるけれど、 自作アプリケーションに組み込んで使えるライセンスのものは 非常に高価。
バージョンexcel2002です。 計算の結果を¥2000-のように後ろに棒線を入れて不正を無くせる様にしたいのですがどうしたら良いのでしょうか? 書式設定を触ってみても¥2000や、¥2000のように下線は引けるのですが上記の用には出来ません ――― 自分なりに本屋さんで色々立ち読みしてきたのですがわかりません。 ものすごく簡単なことなのかもしれないのですが、どうかよろしくお願い致します
ユーザー定義で \#,##0-
セル入力した全角文字を半角文字に変えるにはどうしたら良いのでしょうか?
Excel2000 SP-3です マクロを使用して列幅を変更させる場合に、"ColumnWidth=文字数"となりますが、 ポイント数を指定して、列幅を変更させる仕様にしたいので、ポイント数を文字数に 置き換える良い方法はありませんでしょうか?
自己解決しました ありがとうございました
しかたなく .mdb にしましたよ。。 誰かこの現象について知ってる方いませんでしょか…
276 :
名無しさん@そうだ選挙にいこう :04/10/05 19:03:20
Excel2002 VBAの質問です Sheet1を保護して使用しております。 ロックしているセルを編集しようとすると、注意のメッセージが出ると思うのですが、 そのメッセージの内容を変更することは可能でしょうか? A1からA5では、「バックアップを取ってから変更してください」 B1からB5では、「担当者の許可を得てから変更してください」 と、セル単位で保護時のメッセージを変えられるのが理想です。 よろしくお願い致します。
Excel2003 OS:WinXP 実際は縦向きですが、縦向きに図をかけなかったので横向きにかいています。 1列目 ○○□□○… 2列目 ○□○○○… … 10列目 □○○○□… 11列目 □○○○□… … 20列目 □○○○□… …以下続く 注:□は空白を意味する の様に各セルに○が入力されている o r 空白であるデータがあります。 隣り合った列 ( X列目と、X+1列目)に入力されているデータが まったく同じであるかどうかを調べる方法はありますでしょうか。 (上図の場合は10列目と11列目が同じであると判定される。 20列目は10列目、11列目と同じではあるが、隣り合ってはいないので同じと判定しない。) 関数でもマクロでも構いません。 方法をご存知の方いらっしゃいましたらお願いします。
278 :
名無しさん@そうだ選挙にいこう :04/10/05 19:27:08
>>277 if(A1=B1,"同じだ、バーロー","違うだろ")
>>276 メッセージを自分で出せば?
というか、ロックしてるんだったら
変更される心配ないんだから
そんなメッセージいらないと思うし
通常と違うメッセージ出すと
ユーザが思わぬ反応をすることがあるぞ。
>>83 さんみたいな状況でC列の合計では無く、該当個数を調べるのは?
counta?countif?使ってやってみようとしたけど上手くいきません。
281 :
276 :04/10/05 19:40:16
>>279 レスありがとうございます。
ご指摘の通り、ロックしているので変更される心配は無いのですが、
複雑な表でして、他セルに入力ミスをしないため、
ToggleButtonで頻繁にロックしたり、解除したりでして・・・。
メッセージを自分で出すということは、
MsgBox関数を使用するって事ですよね?
ロックしているときには、メッセージを表示するようにするわけですね。
う〜ん、どんなコードを書けばいいのでしょうか?
もう少しお知恵をお貸しくださいませ!!
283 :
名無しさん@そうだ選挙にいこう :04/10/05 22:05:31
フィルタをかけてできあがったデータ表を そのまま通し行番号の表にする方法ないですか? コピーして貼り付ける以外の方法で。
>>277 質問が2つ。
1.データの範囲はどうなってますか?(A1:??)
2.○の文字は数式の結果じゃなくて直接○が入力してあるんですか?
ここってアップローダーないの?
>>278 回答ありがとうございます。
○and□は1個で1つのセルに対応しているので
その数式では最初の1セルの比較になってしまいます。
私の書き方が悪かった様で申し訳ありません。
>>284 >1.データの範囲はどうなってますか?(A1:??)
列は、1日から31日の31列(C-AG)
行は 月によって異なりますが100行を超えることはありません。(4-100)
上3行、左2列にははタイトル・項目等が記入してあるので、○の入力してある範囲はC4-AG100になります。
>2.○の文字は数式の結果じゃなくて直接○が入力してあるんですか?
数式の結果とかではなく、直接「○」が入力されてます。
それではよろしくお願いします。
>>287 もう1つ質問がありました。
各列には最低でも1つは○があるんですか?
>>287 返事がないので、○がなかった時のことは考えてません。
標準モジュールにコピペして実行してみてください。
Sub 重複チェック()
Dim i As Long
Dim CheckCell As Range, NextCell As Range, OverlapCell As Range
With Range("C4:AG100")
For i = .Column To .Column + .Columns.Count - 2
Set CheckCell = Range(Cells(.Row, i), Cells(.Row + .Rows.Count - 1, i)).SpecialCells(xlCellTypeConstants).Offset(0, 1)
Set NextCell = Range(Cells(.Row, i + 1), Cells(.Row + .Rows.Count - 1, i + 1)).SpecialCells(xlCellTypeConstants)
Set OverlapCell = Intersect(CheckCell, NextCell)
If CheckCell.Count = NextCell.Count Then
If Not OverlapCell Is Nothing Then
If NextCell.Count = OverlapCell.Count Then
'以下の2行でセルの色を変更
Cells(.Row, i).Resize(.Rows.Count, 1).Interior.ColorIndex = 6
Cells(.Row, i + 1).Resize(.Rows.Count, 1).Interior.ColorIndex = 6
End If
End If
End If
Next
End With
End Sub
>>289 ありがとうございます。
試してみます。
アップローダー… 百聞は一見にしかずと言うではないですか 要するに説明がめんどい…
「XXのセルのデータが壊れてるから見てくれ」と言う時なんかに うpさせたりするとかそういうのだろ。
>>291 質問者が探してくればいいのでは?
今までそうやってきてるるし・・・
>>277 Sub hoge()
For i = 4 To 33
For j = 4 To 100
If Cells(j, i) <> Cells(j, i - 1) Then Exit For
Next
If j > 100 Then Range(Cells(4, i), Cells(100, i - 1)).Interior.ColorIndex = 6
Next
End Sub
295 :
名無しさん@そうだ選挙にいこう :04/10/06 10:03:48
まともなソフトの一つでも紹介してもらいたいのだが・・・
随分昔からって、いつからだよ?w
>>296 そんなあなたには「VISICALC」がお勧め。
301 :
名無しさん@そうだ選挙にいこう :04/10/06 13:55:59
明朝体で入力した文字がゴシックに勝手に変わってしまいました。 初歩的な質問だと思い、FAQを探してみたものの解決に至りません。 どなたかよろしくお願いします。
VISICALCも関数間違ってるぞw
使えないヤツほど文句が多い。 これも昔から言われてる事w
304 :
名無しさん@そうだ選挙にいこう :04/10/06 14:49:38
使えないヤツほど関数に厳密さを要求しない。 これも昔から言われてる事w
305 :
名無しさん@そうだ選挙にいこう :04/10/06 15:43:27
名前: E-mail: 内容: Excel2000 SP-3 OS:WinXP おそらくマクロの問題なのですが、どなたか教えてください。 現在、セルは以下のようになっています。 [A] 1列目 2003/3/6 2列目 2003/3/15 … 10列目 2003/4/2 11列目 2003/4/15 … 20列目 2003/4/29 セルA列に、日付がぽこぽこ間が抜けた状態で入っています。 たとえば2003/3/6から2003/3/15のように、9日分間が抜けています。 教えてほしいことは、この抜けた9日分の間に行を9日分挿入して、 間の抜けをなくすことです。 開業多すぎみたいなんで、続きます。
306 :
305 :04/10/06 15:45:21
すいません。続きです。 そして理想の形は、以下のようになってくれることです。 1列目 2003/3/1 2列目 2003/3/2 3列目 2003/3/3 4列目 2003/3/4 5列目 2003/3/5 6列目 2003/3/6 7列目 2003/3/7 8列目 2003/3/8 9列目 2003/3/9 10列目 2003/3/10 11列目 2003/3/11 12列目 2003/3/12 ・・・ X列目 2004/6/30 みたいな感じです。期間は2003/3/1から2004/6/30までの 間です。どうかよろしくお願いします。
>>306 Sub Macro1()
I = 2
Do While Cells(I, 1) <> ""
If Cells(I, 1) <> Cells(I - 1, 1) + 1 Then
Rows(I).Insert
Cells(I, 1) = Cells(I - 1, 1) + 1
End If
I = I + 1
Loop
End Sub
A列に変なのが入っていると無限ループになるけどな。
関数で使用している引数の変更について質問させてください。(バージョンはEXCEL2000です) 1 =VLOOKUP(B36,A2:O322,2,TRUE) ↑こういう関数を組んだ後、別のセルへコピーした場合、 2 =VLOOKUP(B36,A3:O323,2,TRUE) 3 =VLOOKUP(B37,A4:O324,2,TRUE) 4 =VLOOKUP(B38,A5:O325,2,TRUE) ↑こういう風に引数自体更新されていきますよね。この更新された引数を一度に修正することって 出来ないんでしょうか。この例で言うと、第2引数のみを、全て1行目のモノと同一にしたいのですが、 1行ずつ変更する以外になにか良い方法があれば教えて貰えると助かります。
$をつけれ。
>309 即答多謝。 $で変更するかどうか指定できるんですね。一気に楽になりました。 ホントにどうも有難う。
311 :
名無しさん@そうだ選挙にいこう :04/10/06 23:09:15
アドインのVisual Basic Editorのパスワードって なんなんでしょうか? AUTOSAVE.XLAを解析してみたいのですが。
313 :
名無しさん@そうだ選挙にいこう :04/10/07 20:18:41
質問です。 セルの結合を解除した時に、結合していたときに入っていた値を わかれた全てのセルに一度に入れることって出来るのでしょうか。
314 :
313 :04/10/07 20:22:37
>>313 ですが、OSはマックでオフィス2001です。
315 :
名無しさん@そうだ選挙にいこう :04/10/07 21:51:10
>>313 Windowsだと セル結合解除→F2キー→Ctrl+Enter でできた。
セル結合を解除した直後だと、結合範囲が選択されていて
さらに左上のセルに値保持&フォーカス状態なので、
「選択範囲に同じ値を一度に入力」する操作で希望の結果が得られる。
Mac版は知らないけど、似たような操作があるはずなので工夫してください。
316 :
名無しさん@そうだ選挙にいこう :04/10/07 22:04:20
Excel2002 Sheet単位でパスワードを設定することは可能でしょうか? (保護とは若干意味合いが違います) Sheetをクリックすることにより、パスワードを要求させ パスを入力することによりSheet内容を表示できるように したいのですが、可能でしょうか?
>>317 レスありがとうございます。
普通に考えたら別ファイルで管理するのが一番ですよね。
やっぱり、ムリっすかね?
出来れば同一ブックで扱いたいんですよ。
ブックを開く時に Worksheets("sheet1").Visible = xlVeryHidden でシートを隠して、 どっかのシートにボタンを押したらテキストボックス出すようにして、そこに特定の文字が 入力されたら Visible = True になるようにしちゃうとか… でもVBAエディタ見れる人なら一発解除できちゃうね。
320 :
名無しさん@そうだ選挙にいこう :04/10/07 23:44:02
データ1 ABCDFEG データ2 ABHI と言う二つの行データを AA BB C D E F G __ H __ I といった風に並べたいのですが良い方法がないでしょうか? 今のところA>ZをかけてEXACTで比較しながら手作業で並べています
321 :
316 :04/10/07 23:59:13
>>319 レスありがとうございます!
なんか、いい感じなんですけど!!
>ブックを開く時に Worksheets("sheet1").Visible = xlVeryHidden でシートを隠して
このレスいただいた方法で作成してみようと思います。
ユーザーフォームにTextBoxを配置して、そこにパスワードを入力して解除できるようにしようと思います。
・・・で、パスワード(特定の文字)の設定方法、一致してれば解除させる方法がまったく分かりません!
もうすこしコードや、作成の方法ヒントをいただけないでしょうか?
自分でも試行錯誤してみようと思います。
よろしくお願い致します!!
表示形式でmm/ddとすると一桁の場合は10/08と表示されますが10/ 8と表示させることは出来ますか?
>321 sheet1をtestという名前にして、ブックが開く時と閉じる時にtestシートを隠すようにして、 次にsheet2にボタン配置。このボタンをクリックしたらテキストボックス表示するようにします。 ユーザーフォームの記述は、 Private Sub UserForm_Initialize() 'テキストボックスに入力された文字を「*」で表す TextBox1.PasswordChar = "*" End Sub Private Sub CommandButton1_Click() Dim strPsw As String 'パスワード設定 strPsw = "test" If TextBox1.Text = strPsw Then Worksheets("test").Visible = True UserForm1.Hide Else MsgBox "パスワードが違います" TextBox1.Text = Empty TextBox1.SetFocus End If End Sub ほとんどの部分、自分もVBAの本見ながら真似しただけですが… あと何か重いのできっとどこかに無駄があるのかと思います。 手練の皆さんのお知恵を借りたいところです。 >322 mm/dでいけませんか?
>322 あ「10/8」じゃダメなんですね。すみません、323は無視してください。
325 :
名無しさん@そうだ選挙にいこう :04/10/08 14:56:47
テキストボックス内に改行があると文字数(Len)が 文字の数+改行の数×2となってしまうのですが SelStartの位置は文字の数+改行の数の数値を返すため 文字列の挿入ができません。 誰か知恵を貸してください。 現在のコードはこんな感じです。↓ TextBox1.Text = Mid(TextBox1.Text, 1, TextBox1.SelStart) & ListBox1.List(ListBox1.ListIndex, 1) _ & Mid(TextBox1.Text, TextBox1.SelStart + TextBox1.SelLength + 1)
326 :
325 :04/10/08 14:59:03
ちなみにEXCEL2000,WINXPです。
327 :
325 :04/10/08 15:32:06
Replace(TextBox1.Text,vbcr,vbnullstring)で文字数が同じに出来たので 挿入できました。 失礼しました。
328 :
名無しさん@そうだ選挙にいこう :04/10/08 19:11:07
WinXP EXEL2000 ノートン2003入れてます Excelファイル開こうとすると左下に「ウイルスを検索しています。」と表示されて その時にADSLモデムが点滅してどこかにアクセスしているようなのですが これってどういうしくみなのでしょうか? ADSLモデムの電源を入れてすぐまだADSLの接続が確立されていないと Excelファイルが開くのも待たされてしまいます。 最初からADSLモデムに電源入ってなければすぐにExcelファイル開けるのですが。 別に困っているわけではないんですがどこにアクセスしてるのか気になるので・・
329 :
316 :04/10/08 19:15:14
>>323 レスありがとうございます!!
今からいろいろやってみます!
ありがとうございました!!
>>320 今の時点であなたがAAや__ Hをどうやって表示させてるのかを具体的に示してください。(数式とか)
>今のところA>ZをかけてEXACTで比較しながら手作業で並べています
これじゃ分からないんですけど。
331 :
名無しさん@そうだ選挙にいこう :04/10/09 01:04:31
印刷に関する質問です。 A4縦半分の縦長の表2つを、横2つ並べてA4の1枚に印刷したいのですが、 設定が分からず、2回に分けて印刷しています。 1度に印刷できる方法が有れば教えてください。 編集の関係で、シートは別々にしたいです。
棒グラフです 100│■ 50│■■■ 0└─── ghi 1000│■ 500│■■■ 0└─── ghi このようにX軸の目盛の桁によってグラフ本体がずれてしまいます。 これを解消したいのですが、方法はありますか? 目盛をセルに埋め込んでみましたがセルの値と実際のX軸目盛が最大値と最小値以外がずれてくるので無理でした。
すいませんY軸でした
最初の質問で何を聞いてるのかさっぱり。 補足のレスでどこを訂正してるのかさっぱり。 どこをどうしたいのかも整理できてないのに ソフトが思い通りの動作するはずないじゃん。
336 :
名無しさん@そうだ選挙にいこう :04/10/09 11:04:01
>>332 これは仕様だから無理だな
どうしてもイヤなら
軸の書式設定でフォントを等角フォント系に変えた上で
桁数の少ないグラフの軸の表示形式を
ユーザー設定でスペース噛ませば同じ表示はできるがな
>>331 カメラ機能で印刷用シートをつくる。
>>332 軸の表示形式でユーザー定義「?????」
?の数は必要最大桁数に合わせる。
>>337 最大桁数は決まってるのでこの方法でよかったんです。ありがとうございました。
>>335 、
>>336 さんもありがとうございました。
わかりづらい質問だったようで失礼いたしました。
Excel2000を使っているのですが、150000000と入力すると 1億5000万円と表示するようにするには、書式設定をどうすれば良いのでしょうか?
たぶん無理。
>>340 (1) 【ユーザー定義】で「#"億"####"万円"」と入力して、【Ctrl】 +【J】キーを押します。
『種類』の欄が空白になりますが、気にせずに、「####」と入力します。
(2) 【配置】タブを選択し、「折り返して全体を表示する」にチェックを入れます。
(ただし、セルの高さを広げていると使えません。)
343 :
名無しさん@そうだ選挙にいこう :04/10/09 19:17:52
>>342 すごい!完璧です。
>340ではありませんが、少し解説していただけませんか。
>>343 簡単にいうと、書式のほうで改行しているわけです。
普通セル内で改行するには【Altl】 +【Enter】ですが、ダイアログでの改行は
【Ctrl】 +【J】なのでこれを使います。
改行してるわけなので、、「折り返して全体を表示する」にして、セルの表示を
2行にします。
>(ただし、セルの高さを広げていると使えません。)
と書いたのは、改行して2行目に行った0000が表示されてしまうためです。
セル高さが1文字分であれば、この2行目の0000は下のセルに隠れて見えません。
説明はこんな感じでよろしいでしょうか。
345 :
343 :04/10/09 23:25:27
>>344 大変よく分かりました。
【Ctrl】 +【J】なんて、初めて知りました。
ありがとうございます。
346 :
名無しさん@そうだ選挙にいこう :04/10/10 01:48:29
すいません!明日検定試験なのにif関数がわかりません ifの中にifがはいる式なのですがダイアログボックスの使い方がわかりません 単純な〜以上は〜であるはわかるんですが・・・汗
347 :
ゴッホ ◆lkGoghDAZs :04/10/10 02:04:52
>>346 ダイアログボックスを使って、IFの中にIFを入れるってこと?
普通に真なり偽なりに、手入力でIFの構文書くしかないと思うけど。
それか、他のセルに別に作ったのを、コピー貼り付けするとか。
ちなみに、その検定試験がMicrosoft Office Specialistだったら、
IFのネストなんか多分出ないよ。
348 :
346 :04/10/10 02:10:14
さっそく返答ありがとうございます。 試験は全情協です。 ダイアロボックスにifが二つになる論理式を手入力どやろうとしても やり方がわからないのです。 すいません。上手く説明できなくて。。。
349 :
ゴッホ ◆lkGoghDAZs :04/10/10 02:20:21
全情協?知らないなぁ、それ。 例えば、 =IF(A1="A","あ","") =IF(A1="B","い","") という2つの関数をくっつけたかったら、 条件 A1="A" 真 "あ" 偽 IF(A1="B","い","") というふうに、IFの構文をそのまま真か偽のどちらかに入れればいいだけだけど。 (この場合は、「Aじゃなかったら」2つめの関数を利用したいので、偽に入れた。) どの辺がわからない?
350 :
ゴッホ ◆lkGoghDAZs :04/10/10 02:29:14
あ、手入力じゃなくても、左上の関数名の右の下三角ボタンを押せば、 ダイアログでネストできるみたい。 知らなかった。 知りたかったことって、これ?
351 :
346 :04/10/10 02:52:46
あっ。それかもしれないです。 >左上の関数名の右の下三角ボタンを押せば いまいちよくわからないのですがどのボタンでしょうか? 馬鹿ですいません。。
352 :
346 :04/10/10 02:59:01
あっ、やっとわかりました。 すごい感謝感激です。ありがとうございます。 ちなみに全情協は全日本情報学習振興協会のことです。 これで明日なんとかなりそう! どうもです。
353 :
ゴッホ ◆lkGoghDAZs :04/10/10 03:02:30
例えば、
>>349 に書いた例なら、
ダイアログボックスに
論理式 A1="A"
真 "あ"
と書いたあと、偽のボックスを選択してください。(OKは押さないで)
シートの左上に「IF」って書いてあるとこないですか?
その「IF」をクリックしてください。(この場合三角ボタンは使いません。同じIFなので)
で、開いたダイアログに
論理式 A1="B"
真 "い"
偽 ""
と入力をして、「OK」ボタンを押してください。
そろそろ寝るので、疑問点等あったら、早めにレスいただけると助かります。
354 :
ゴッホ ◆lkGoghDAZs :04/10/10 03:03:10
>>346 あ、わかられたようで。
明日がんばってくださいね。
355 :
名無しさん@そうだ選挙にいこう :04/10/10 09:18:52
,:::-、 __ ,,r::::::::::::〈:::::::::) ィ::::::ヽ 〃::::::::::::;r‐''´:::::::::::::::::::::ヽ::ノ ,'::;'::::::::::::::/:::::::::::::::::::::::::::::::::::: l::::::::::::::::::l::::::::::●::::::::::::::●:::::ji |::::::::::::::::::、::::::::::::::( _●_)::::::,j:l クマー! }::::::::::::::::::::ゝ、::::::::::|∪|_ノ::;! . {::::::::::::::::::::::::::::`='=::ヽノ:::::/ ';::::::::::::ト、::::::::::::::i^i::::::::::::/ `ー--' ヽ:::::::::::l l;;;;::::ノ 【ラッキーレス】 このレスを見た人はコピペでもいいので 10分以内に3つのスレへ貼り付けてください。 そうすれば14日後好きな人から告白されるわ宝くじは当たるわ 出世しまくるわ体の悪い所全部治るわでえらい事です
356 :
名無しさん@そうだ選挙にいこう :04/10/10 19:44:13
グラフの作り方について質問させてください 1試合目 5点 2試合目 8点 3試合目 2点 というデータがあって、5→8→2という風に折れていくのではなく 5→13→15と積み上げていく折れ線グラフにするにはどうしたらいいでしょうか?
累計点数の列をつくる
なるほど、別に累計の列が必要なんですね。 分かりました。
>>337-338 ありがとうございました。
結局、編集した表組を右にC&Pして印刷することにします。。。
360 :
名無しさん@そうだ選挙にいこう :04/10/10 23:56:41
2つのセルにそれぞれ別の文字が入っていて そのセルの内容を入れ替えるときに もっとも少ない操作数で入れ替える方法を教えてください。
Shiftを押しながらドラッグ 隣接セルなら1回。 離れているセルなら2回。
362 :
名無しさん@そうだ選挙にいこう :04/10/11 00:08:08
>>361 親切な回答ありがとうございました。^^
363 :
名無しさん@そうだ選挙にいこう :04/10/11 00:12:31
エクセルで住所録を作っています。 1行目にフィールド名、その下に一件につき1行ずつ ズラーっとデータを入力していて、一件ずつにオートナンバーをふっています。 別のシートでオートナンバーのナンバーだけの表を作り ナンバーの入ったセルを選択するだけで、 そのナンバーの情報が表示されるようにしたいのですができますでしょうか。 今現在はマクロのボタンを押したら表示されるように作っています。
>>363 選択しただけでっていうとシートのSelectionChangeイベントだろうけど、
BeforeDoubleClickイベントのほうが良さげな気がする。
365 :
名無しさん@そうだ選挙にいこう :04/10/11 01:59:40
国語 数学 英語 山田 90 80 80 田中 70 30 90 鈴木 80 80 50 加藤 40 90 70 木村. 100 50 60 高橋 70 30 80 このような表があるときに、 例えば「国語70点、数学30点、英語80点」の条件をすべて満たす 生徒が何人いるかを調べるにはどうしたらいいでしょうか 条件は何種類も設定して細かく仕分けしたいと考えています。
>>365 AND関数
データベース関数
オートフィルタ
>>315 レスありがとうございます。
マックでも同じようなことが出来ました。
368 :
名無しさん@そうだ選挙にいこう :04/10/11 02:21:54
>>366 ありがとうございます。
レスをヒントにもう少し調べてみます。
縦に長い表を段組(任意の段)にするマクロを教えてください!
教えてチャンはイラネ!
373 :
名無しさん@そうだ選挙にいこう :04/10/11 11:01:05
>>364 レスどうもありがとうございました。
結局そのイベントとかの意味がまるでわからなかったですけど。
自分で勉強したいですけど、そういうのが勉強できる本なんかありませんかね。
374 :
369 :04/10/11 11:21:15
>>372 少ない列のデータを印刷するとき、紙の無駄を省くため、
複数列をコピーし印刷用にしたいのです!
ワードに貼り付けると、体裁がむちゃくちゃになってしまうのです!
一ページ目の空いている部分に 2ページ相当分を「リンク貼り付け」しといたら? 列幅によって、3列でも4列にでも、足りなかったら横にもっと伸ばしていけば? で、印刷する時は横方向だけ印刷する。 印刷用シート作ってもいいけどさ。
>373 検索すればイベントの説明してるサイトなんていくらでも出てくる。 それを読んで分らなかったら本買ったって無駄。
377 :
320 :04/10/11 12:27:21
えっと データ1 A1=A A2=B A3=C A4=D A5=F A6=G デ−タ2 B1=A B2=B B3=H B4=I これを並べ替えたくて 今の所、まずデータ毎に昇順をかけて、その後に関数exactで比較してるってことです うーん説明が難しい
>>377 説明できんのなら、残念ながら回答もできんな、超能力者じゃないし。
エクセルデータをupしたほうがいいのかな
>>380 処理前と処理後の画像を貼ってみたら?
初期状態→並べ替え後→最終形と段階的に出してもらえると
わかりやすいと思うけど。
あと、データはこういうのが入る可能性があるというのも
書いておかないと、実際のデータと違っていたら出来ない
場合もあります。あとデータの範囲(どのセルからどのセルまで)とか。
>>380 そうしたほうがいいとおもう
377では何がしたいのかよく分からない
データ1、データ2はシートは同じ?
383 :
トーシロー :04/10/11 13:54:50
教えてください セルに値を入力したら、全部×10で表示されるんです 書式設定を文字列にすればなおるんですけど 計算できないし・・・設定を変えた覚えもないのに 初歩的な質問ですんません
>>383 ツール→オプション→編集→「小数点位置を固定する」のチェックをはずす
>>383 意味のない改行してるしネタか?
そうじゃないならもっと詳しく分かりやすくかけ
>>387 どこが釣りなの?
本当に釣り分かってる?
390 :
名無しさん@そうだ選挙にいこう :04/10/11 16:56:15
また釣れた
392 :
名無しさん@そうだ選挙にいこう :04/10/11 18:07:00
IFとANDをうまくあわせたいのですがやり方を教えてください。 a1<5 の時 あああ a1>=5 and a1<10 の時 いいい a1>=10 の時 ううう のように、3種類で返したいのですがうまくいきません。
393 :
ゴッホ ◆lkGoghDAZs :04/10/11 18:19:20
>>320 俺の解釈が間違ってなければ、
Dim AEnd As Range, BEnd As Range, Com1 As Range, Com2 As Range, i As Long, A As String, B As String
Application.ScreenUpdating = False
A = Range("a1")
B = Range("a2")
i = 1
Do Until i > Len(A) And i > Len(B)
If Mid(A, i, 1) <> "" Then Cells(i, 1) = Mid(A, i, 1)
If Mid(B, i, 1) <> "" Then Cells(i, 2) = Mid(B, i, 1)
i = i + 1
Loop
Set AEnd = Range(Range("a1"), Range("a65536").End(xlUp))
Set BEnd = Range(Range("b1"), Range("b65536").End(xlUp))
AEnd.Sort Range("a1"), xlAscending
BEnd.Sort Range("b1"), xlAscending
i = 1
Set Com1 = Cells(i, 1)
Set Com2 = Cells(i, 2)
Do Until Com1 = "" And Com2 = ""
If Com1 <> "" And Com2 <> "" Then
If Com1 > Com2 Then
Com1.Insert xlDown
ElseIf Com1 < Com2 Then
Com2.Insert xlDown
End If
End If
i = i + 1
Set Com1 = Cells(i, 1)
Set Com2 = Cells(i, 2)
Loop
Application.ScreenUpdating = True
andは使わず、ifを二回使う。 <5じゃない中で、もし<10なら"いいい"、それにも該当しないときは"ううう"
>>392 if(a1<5,"あああ",if(and(a1>=5,a1<10),"いいい","ううう")
396 :
名無しさん@そうだ選挙にいこう :04/10/11 18:25:39
すみません、物凄く低次元の質問かも知れませんが、 エクセルで表記した下記の表なんですけど、 A B C D 1 西暦 | 1995 | 2000 | 2010 ________________|_________|_________|________ 2 幼少人口 | 20,034 | 18,602 | (B) ________________|_________|_________|________ 3 生産年齢人口 | 87,260 | 86,419 | ________________|_________|_________|________ 4 老年人口 | 18,277 | 21,870 | ________________|_________|_________|________ 5 総人口 | 125,571 | | ________________|_________|_________|________ 6 幼少人口割合 | (A) | | ________________|_________|_________|________ 7 生産年齢人口割合| | | ________________|_________|_________|________ 8 老年人口割合 | | | Aに入る式が「=B2/SUM(B2:B4)」だとして、 このままの割合で、人口が推移すると仮定した場合の 2010年の幼少人口を計算するセルD2の式を答えなさい、 ただし、式の中にセルB1、C1、D1、B2、C2を用いる 事とする。 この程度の問題が分からない馬鹿を助けてくださいませ!
397 :
名無しさん@そうだ選挙にいこう :04/10/11 18:31:14
うぁぁ、表がグチャグチャになってる・・・ A 、 B、 C、 D、 1 西暦、 1995 2000 2010 2 幼少人口、 20,034 18,602 (B) 3 生産年齢人口、 87,260 86,419 4 老年人口、 18,277 21,870 5 総人口、 125,571 6 幼少人口割合、 (A) 7 生産年齢人口割合 8 老年人口割合 これで分かりますかね? 駄目だったら逝ってきます
>>397 おいらには、B1、C1、D1には西暦が入っているように見える。
B2、C2にも数値があるような・・・
>>397 で、どんな計算式で2010年の幼少人口を推定すればいいんだ?
400 :
ゴッホ ◆lkGoghDAZs :04/10/11 18:45:12
>>397 こういうのでいいのかなぁ?
=C2-(((B2-C2)/(C1-B1))*(D1-C1))
401 :
名無しさん@そうだ選挙にいこう :04/10/11 18:53:23
>>395 どうもです。
コピペしたら出来ました。
イルカが最後に)ひとつ付け足しました。
ありがとうございます。
>>401 andは余計だったけどべつに冗長なだけだから。
学校の宿題を他人へ気軽に頼めるなんて、良い時代になったねぇ。(プ
404 :
名無しさん@そうだ選挙にいこう :04/10/11 20:17:52
a1>5 の時 b1/3 を c1 に返すようにしたのですが、 a1 b1 c1 5 10 3.3333 になってしまいます。ここまではいいのですが、 c1の3.3333を切り上げて4にしたいのです。 よろしくおねがいします。
C1 =ROUNDUP(B1/3)
答えのセルの書式設定だけでできるじゃん。
C1 =ROUNDUP(B1/3,0)
408 :
名無しさん@そうだ選挙にいこう :04/10/11 20:33:57
404です。 説明不足でした。 c1には =IF(A1<3,B1/3) というIFが入ってます。 >405 b1の数値はいじりたくないんです。 >406 表示の変更じゃなく数値そのものを変更したいのです。
C1 =IF(A1<3,ROUNDUP(B1/3,0))
410 :
名無しさん@そうだ選挙にいこう :04/10/11 20:40:48
404です。説明が間違えました。 a1 b1 c1 1 10 =IF(A1<3,B1/3) という場合IFで返されるc1の数値3.33333 を4に切り上げたいということです。 つまり、IFと=ROUNDUPを同時に使うのかな?と思ってますが方法を教えてください。
411 :
ゴッホ ◆lkGoghDAZs :04/10/11 20:41:32
>>408 >>405 のって、B1の数値いじってるの?
=IF(A1<3,ROUNDUP(B2/3,0),"")
とかじゃだめなの?
>a1>5 の時 b1/3 を c1 に返すようにしたのですが、
これは、無視してもいいんですか?
もうちょっと詳しくお願いします。
カッコで囲めば、いんじゃな〜い♪
413 :
ゴッホ ◆lkGoghDAZs :04/10/11 20:42:27
あ、
>>409 とかぶった。
しかも、B2じゃなくて、B1だった。
失敬。
414 :
396 :04/10/11 20:50:40
>>397 でも物凄く分かりにくいですね、申し訳ないです。
A1・西暦、 A2・幼少人口、 A3・生産年齢人口、 A4・老年人口、
A5・総人口、A6・幼少人口割合、A7・生産年齢人口割合、A8・老年人口割合、
B1・1995、 C1・2000、 D1・2010、
B2・20034、 C2・18602、 D2・(B)、
B3・87260、 C3・86419、
B4・18277、 C4・21870、
B5・(A)
これをエクセルで表にした状態です。
本当に、馬鹿でくだらない質問で申し訳ないですが、
どうか、よろしくお願いいたします
415 :
名無しさん@そうだ選挙にいこう :04/10/11 20:52:51
>410 即レスどもです。 ありがとうございますた。
416 :
ゴッホ ◆lkGoghDAZs :04/10/11 21:07:20
>>414 >>400 じゃだめなの?
それとも、関数をつかって、
=FORECAST(D1,B2:C2,B1:C1)
こういうことですか?
417 :
名無しさん@そうだ選挙にいこう :04/10/11 21:08:41
どの行までデータがあるか分からないシートに、関数を入れる場合は 下記の様に、For Next文を使って1つのセルずつ入れていくしかないのでしょうか? お願いします。 Dim aaa as long For aaa = 1 to Worksheets("sheet1").Range("A65536").End(xlUp).Offset(1).Row Cells(aaa, 4).Formula = "=SUM(A" & aaa & ":C" & aaa & ")" Next
418 :
ゴッホ ◆lkGoghDAZs :04/10/11 21:18:42
>>417 それでできるなら、それでいいのでは?
他の方法では、
Dim aaa As Long
aaa = Range("A65536").End(xlUp).Offset(1).Row
Range("d1") = "=sum(a1:c1)"
Range(Range("d1"), Cells(aaa, 4)).FillDown
とかなどあるけど。
419 :
396 :04/10/11 21:31:35
>>416 そうです、関数が必要でした。
ご丁寧に何度も即レス、ありがとうございました。
>>418 一応できていたのですが、もっと簡単な方法があるのかなぁと思って質問しました。
Range(Range("d1"), Cells(aaa, 4)).FillDown なんて事が出来るなんて知らなかったです。
最近VBA始めたばかりなもので・・・
また1つ勉強になりました。ありがとうございます。
421 :
ゴッホ ◆lkGoghDAZs :04/10/11 21:45:22
>>419 だったら、初めから言ってもらうと、答えやすいのですが。
答えてあげてるのに、無視って…。
>>420 この場合、書式等もコピーされてしまうので、数式だけなら、
AutoFillというのを使う方法もあります。
また、下のように、R1C1で指定する方法もあります。
Dim aaa As Long
aaa = Range("A65536").End(xlUp).Offset(1).Row
Range(Range("d1"), Cells(aaa, 4)).FormulaR1C1 = "=sum(RC[-3],RC[-2])"
いろいろ試してみてみてください。
あるよ Range(Cells(1, 4), Cells(Range("A65536").End(xlUp).Row, 4)).FormulaR1C1 = "=SUM(RC[-3]:RC[-1])"
423 :
ゴッホ ◆lkGoghDAZs :04/10/11 21:47:41
>>421 あ、ごめん、間違えた。
Dim aaa As Long
aaa = Range("A65536").End(xlUp).Offset(1).Row
Range(Range("d1"), Cells(aaa, 4)).FormulaR1C1 = "=sum(RC[-3]:RC[-1])"
↑これが正しいものです。
424 :
ゴッホ ◆lkGoghDAZs :04/10/11 21:51:03
>>422 の見てて思ったけど、
「.Offset(1)」ってやつ、特に意味がないのなら、外してください。
一応、例に書いてある構文に書いてあるので、つけてみましたが。
425 :
417 :04/10/11 22:32:25
ゴッホ ◆lkGoghDAZs さん、いろいろとありがとうございます。勉強してみます。 もうひとつ質問いいでしょうか? For文で、For aaa = 1 To Range("A65536").End(xlUp).Row という文を書いたら、「aaaは、1〜A列のデータが入っている最終行まで」という意味ですよね。 逆に、「aaaは、A列のデータが入っている最終行〜1まで」という動かし方がしたくて、 For aaa = Range("A65536").End(xlUp).Row To 1 と書いてみたのですが、思った通りの結果がでません。 別な書き方をしないといけないのでしょうか? 特に、ゴッホ ◆lkGoghDAZs さん指名というわけではないので、分かる方お願いします。
426 :
ゴッホ ◆lkGoghDAZs :04/10/11 22:37:32
>>425 For aaa = Range("A65536").End(xlUp).Row To 1 Step -1
と書くとうまくいきます。
>>426 おぉー!出来ました。
ありがとうございました。
428 :
名無しさん@そうだ選挙にいこう :04/10/12 00:29:38
質問ですが、 例えばA1に何か入ってる場合、「">」と言うものを入れたいのですが、どうすればよろしいでしょうか?
どこに「">」を入れたいんだ?
無意識のうちに、すんごいいらないところにデータ(ゴミ)が入ってしまって、 最端移動すると、ものすごい変なところに飛んでしまいます。 一度データが入ったという履歴的なものを消すことはできないでしょうか。
431 :
ゴッホ ◆lkGoghDAZs :04/10/12 00:39:35
>431 例えば必要な表データがF3までなのに、G5とかに一度データが入ってしまうと、 そこのデータを消したとしても、最端移動するとそこにカーソル飛んじゃうじゃないですか。 ごめんなさい意味が・・・?
>>428 「">」を表示させるって微妙に難しくないですか?
IFでやろうとしたら認識できないんですね。
と、素人のレスでした
434 :
ゴッホ ◆lkGoghDAZs :04/10/12 00:58:30
=IF(A1="","",""""&">")
>>434 =IF(A1<>"",""">","")
真の場合でこんな、ダブルクォーテンションの使い方が
あるんだぁ。。。
って、常識なんですか?
素人の俺は、文字列は"文字列"て、両サイドをダブルクォーテンション
で囲む方法しか知りませんでした。
437 :
ゴッホ ◆lkGoghDAZs :04/10/12 01:37:22
>>436 常識かどうかはわかりません。
俺は、たまたま知っていただけで。
あと、突っ込んで申し訳ないですが、「ダブルクォーテーション」ですよ。
A1のセルに何か入れたら、 A1のセルに>をつける?
439 :
名無しさん@そうだ選挙にいこう :04/10/12 09:12:50
excelファイルをpdfに落とそうとすると 透明の枠線が取りこまれてしまうんですが 枠線を非表示にする方法ありませんか?
>>439 ツール→オプション→表示で「枠線」のチェックを外す。
>>440 ありがとうございます。
わかってみれば簡単なことでした…。
VBAの問題集の本とかってあるのでしょうか? 元となる表やデータが準備してあって、「このような結果を出すマクロを組みなさい」 みたいな本があればいいなぁと思ってます。もちろん模範解答も載っている。 VBAの本だけ見てても、1つの命令についてしか書いてなくて、たとえばこの命令と組み合わせると こんな使い方があるというのが浮かんできません。
443 :
名無しさん@そうだ選挙にいこう :04/10/12 22:50:45
Excel2003 SP1 を使っているのですが バグっぽい現象に悩まされています。 複数シートあり、そのうちいくつかのシートを選択してプレビュー表示すると プレビュー表示から戻ったときに、ある特定のページの4行目、5行目の内容が 他のページに勝手に上書きコピーされてしまうという現象です。 これって MSに報告した方が良い?
>442 「簡単プログラミングExcelVBA」シリーズ(大村あつし著・技術評論社刊)は 各単元の最後に練習問題くっついてた。
>442 大村あつし著・技術評論社刊の「簡単プログラミングExcelVBA」シリーズは 各単元のあとにちょっとだけ練習問題付いてた。解答付。
スマソ、消えたと思って書き直したら二重になってた…
448 :
名無しさん@そうだ選挙にいこう :04/10/13 10:09:49
SUM関数を使って計算書を作って、使っていたのですが、 突然文字化けして使えなくなってしまいました。 先にエクセルを立ち上げて、ファイル→開くと「テキストファイルウィザード」というのが立ち上がり、やはり文字化けです。 なんとか復旧できないものでしょうか? OSはWindows2000、OfficeはXPです。
449 :
名無しさん@そうだ選挙にいこう :04/10/13 10:59:27
Win2000でエクセル2000を使っています。 質問なんですが、セルを左クリックしたら、その列全体があらかじめ登録しておいた色に 変化するようにしたいのですが、どうすればいいでしょうか? 例えば、6Hを左クリックすると6列全体が水色に変わるようにしたいんです。 色を変えることが多いので、いちいちメニューバーから色の変更なんて選んでられません。 アドバイスお願いします。
win98でエクセル2000を使ってるんですが、(会社で使用してるパソコンなんですが) 文字を入力しようとするとエクセルが落ちてしまうんです。何が原因でしょうか? それと対処法などあれば教えて欲しいです…
451 :
名無しさん@そうだ選挙にいこう :04/10/13 14:13:07
表があります。 それを印刷したとき、1ページごとに自動的に縦小計を一緒に印刷する方法ありますか?
>>449 クリックじゃなくて、Wクリックすると変わるほうがいいと思うけど。
こんな感じでどうでしょうか?色は適当に変えてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With ActiveCell.Columns.EntireColumn.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Cancel = True
End Sub
453 :
449 :04/10/13 15:40:23
ありがとうございます。 でもこれはどこに貼り付けたらいいんでしょうか? セルに貼り付けてもムダでした。
>>453 そのレベルなら申し訳ないですが、メニューから選んでください。
455 :
名無しさん@そうだ選挙にいこう :04/10/13 18:20:24
全てのシートを 一発で、シート名をファイル名にしたCSVに書き出すマクロって 作れませんか?
456 :
名無しさん@そうだ選挙にいこう :04/10/13 18:29:29
A1からA100に1から100まで通し番号があり、B1からB100に 1または0と入力されている状態で、(A列の番号があるか、無いかと言う意味です) B列に1が入力されている分の始めと終わりのA列の番号をハイフンで区切り、 存在しない番号をとばしてカンマで区切り、あるセルに表示したいのです! 例1)B列にすべて1が入力されている状態なら 1-100 例2)B5からB10に0が入力されている状態なら 1-4,11-100
457 :
名無しさん@そうだ選挙にいこう :04/10/13 18:52:09
質問ですが、 --------------------------- あ --------------------------- い --------------------------- う --------------------------- を --------------------------- あ --------------------------- --------------------------- --------------------------- い --------------------------- --------------------------- --------------------------- う --------------------------- --------------------------- --------------------------- に直したいのですが、どうすれば簡単に直せますか?
>>455 あんまり自信がない。
Dim sht As Worksheet
For Each sht In Worksheets
sht.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=sht.Name, FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
Next
>>456 >A1からA100に1から100まで通し番号があり、
この部分が何が言いたいのかよくわからないけど
こういうことでいいんでしょうか?適当にアレンジしてください。
Dim i, jj As Integer
Dim s As String
If Cells(1, 2) = 1 Then
s = "1-"
End If
For i = 2 To 100
If Cells(i, 2) = 1 Then
jj = Cells(i - 1, 2) * 100 + Cells(i, 2) * 10 + Cells(i + 1, 2)
Select Case jj
Case 110
s = s & i
Case 11
If s = "" Then
s = i & "-"
Else
s = s & "," & i & "-"
End If
Case 10
If s = "" Then
s = i
Else
s = s & "," & i
End If
End Select
End If
Next i
MsgBox s
>>459 ちょっと間違いがあった。
If Cells(1, 2) = 1 Then
s = "1-"
End If
↓↓↓
If Cells(1, 2) = 1 Then
If Cells(1, 2) = 1 Then
s = "1-"
Else
s = i
End If
End If
Dim i, jj As Integer Dim s As String If Cells(1, 2) = 1 Then If Cells(2, 2) = 1 Then s = "1-" Else s = 1 End If End If For i = 2 To 100 If Cells(i, 2) = 1 Then jj = Cells(i - 1, 2) * 100 + Cells(i, 2) * 10 + Cells(i + 1, 2) Select Case jj Case 110 s = s & i Case 11 If s = "" Then s = i & "-" Else s = s & "," & i & "-" End If Case 10 If s = "" Then s = i Else s = s & "," & i End If End Select End If Next i MsgBox s
462 :
名無しさん@そうだ選挙にいこう :04/10/13 20:26:38
>>459 ありがとうございます!
マクロ無しでは無理でしょうか?
463 :
名無しさん@そうだ選挙にいこう :04/10/13 20:28:10
>>463 461は459に460の修正をしたやつ。
マクロなしでやる方法は思いつかない。
465 :
ゴッホ ◆lkGoghDAZs :04/10/13 20:57:35
>>457 Dim i As Long
i = 1
Do Until Cells(i, 1) = ""
If Cells(i, 1) <> "" Then
Rows(i + 1 & ":" & i + 2).Insert xlDown
i = i + 3
End If
Loop
>>461 それでも、ぜーんぜん問題ないですが、俺ならこうします。
あと、「Dim i, jj As Integer」のところ、VBAの仕様では、iはvariantになってしまいます。
「Dim i As Integer, jj As Integer」としなくてはいけません。
Dim i As Long, Chk As Boolean, s As String
Chk = False
i = 1
Set mycell = Nothing
For i = 1 To 101
If Cells(i, 2) = 1 And Cells(i + 1, 2) = 0 And Chk = False Then
s = s & i & ", "
ElseIf Cells(i, 2) = 1 And Chk = False Then
s = s & i
Chk = True
ElseIf Cells(i, 2) <> 1 And Chk Then
s = s & "-" & i - 1 & ", "
Chk = False
End If
Next
MsgBox Left(s, Len(s) - 2)
466 :
453 :04/10/13 21:04:20
>>454 さん、自分で調べた結果、VisualBasicを利用することがわかりました。
ありがとうございました。
無事Wクリックで色を変えられるようになったのですが、縦に色が変わってしまいます。
横に変えたいのですが・・・
あと、Wクリックで元の色にもどすにはどのようなプログラムを付け加えたらよいでしょうか?
お願いします。
467 :
ゴッホ ◆lkGoghDAZs :04/10/13 21:13:47
>>466 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim mycolor As Long
Select Case Target.Interior.ColorIndex
Case 6
mycolor = 0
Case Else
mycolor = 6
End Select
ActiveCell.Rows.EntireRow.Interior.ColorIndex = mycolor
Cancel = True
End Sub
468 :
名無しさん@そうだ選挙にいこう :04/10/13 21:14:57
>>465 ありがとうございます。VBAの使い方がいまいち分からないので、出来たら、Excel関数のみの方がありがたいのですが、出来るでしょうか?
469 :
ゴッホ ◆lkGoghDAZs :04/10/13 21:28:58
>>468 あなたが
>>457 さんだったら、
B1に
'=A1と入力。
B1からB3を選択。
B3の右下のところで、任意の行までドラッグ。
B列を選択。
データ→区切り位置→完了。
Ctrl + C、右クリック、形式を選択をして貼り付け、値、OK、Esc
A列を削除。
>>453 さんだったら、
多分無理。
470 :
ゴッホ ◆lkGoghDAZs :04/10/13 21:33:15
>457はこれでいいんでね? For i = Range("A65536").End(xlUp).Row To 2 Step -1 Rows(i).Insert Rows(i).Insert Next
472 :
ゴッホ ◆lkGoghDAZs :04/10/13 22:07:38
>>741 それでいいです。それがいいです。
すっきりしてるし。
473 :
名無しさん@そうだ選挙にいこう :04/10/13 22:55:08
VBAフォームの質問です Sheet1にリストを作成しております。 A B 11 あいうえお 22 かきくけこ 33 さしすせそ 44 たちつてと ・ ・ 以下300行ほど UserForm1にTextBox1とTextBox2を配置しております。 TextBox1に“1”と入力すると、TextBoxに“あいうえお” と、表示させたいです。 VBA上でVLOOKUPみたいなことをやりたいのです。 いろんなサイトや参考書を見たのですが、うまく出来ません。 ご教授願います。
>>470 やはり、おいらのでは無理でしたか・・・
自信はなかったのですが、スンマソン。
教えて下さい Windows2000+Excel2000です Macで作ったWordファイルで住所録を引き継いだのですが 全角と半角、−とーという具合に文字が 統一されずに混在してます。 以前、関数の設定をしたわけではなく、どこをどういじったのか 覚えていないのですがこれをスペルチェックのように 一箇所ずつ書き換えるかどうかを聞いてくる画面が 出てきたことがあったような気がします。 この状態を再現したいのでお願いします。 叩かれるのを覚悟で書き込みました。 よろしくお願いしマース
477 :
ゴッホ ◆lkGoghDAZs :04/10/13 23:14:34
>>473 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Num As Long, i As Long, myCell As Range
Num = TextBox1
i = Range("a65536").End(xlUp).Row
Set myCell = Range(Cells(1, 1), Cells(i, 1)).Find(Num, , , xlWhole)
If Not myCell Is Nothing Then TextBox2 = myCell.Offset(, 1)
Cancel = True
End Sub
>>475 編集→置換
>>476 そう。
478 :
名無しさん@そうだ選挙にいこう :04/10/13 23:22:30
>>458 ありがとーーーーー!
確かに、はじめ動かなかったのだが、
すこし、直したら動いたよー!
479 :
ゴッホ ◆lkGoghDAZs :04/10/13 23:23:27
>>473 もし、A列が1、2、・・・と順に並んでるなら
Textbox1の値でB列のセル位置求められそうだけど。
481 :
473 :04/10/13 23:33:29
>>477 素早いレスありがとうございます!!
ばっちりな動作です!!
>>480 A列は1,2,3・・・と順に並んでおります。
482 :
ゴッホ ◆lkGoghDAZs :04/10/13 23:37:48
>>481 >>480 の言うとおり、A列が1,2,3…なら、行番号利用したほうが簡単だね。
あと、ユーザがTextBox2に文字を書き込む必要ないなら、俺ならLabel使う。
TextBoxでも別に問題ないけど、なんとなく。
483 :
473 :04/10/14 00:04:38
>>482 なるほど!たしかにLabelの方が、きれいですね。
行番号を使用する方がラクなのですね?
・・・、コード分かりませんが。。。
親切なヒントまで頂き、本当にありがとうございます!
484 :
ゴッホ ◆lkGoghDAZs :04/10/14 00:22:25
>>483 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Num As Long, i As Long
If IsNumeric(TextBox1) Then TextBox2 = Cells(TextBox1, 2)
Cancel = True
End Sub
あらま不思議。こんなにシンプルに。
ただ、数字が行と違ってしまう可能性がある場合には、さっきの使うのが安全です。
数字ではなくなるとか、行を挿入するとかいう可能性があるとか。
あと、言い忘れたけど、数字を書いたあと、Enterキーを押さないと、TextBox2は表示変わらないからね。
多分わかってると思うけど。
485 :
ゴッホ ◆lkGoghDAZs :04/10/14 00:23:24
ゴメン、間違えた。 ↓正しくはこれね。 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(TextBox1) Then TextBox2 = Cells(TextBox1, 2) Cancel = True End Sub
>>456 関数だけでやる方法
まずC列を作業列にします。
(1) C1に以下の式をコピペ
=IF(B1=1,A1,"")
(2) C2に以下の式をコピペ
=IF(B2=B1,C1,IF(B2=1,C1&IF(C1="","",",")&A2,IF(RIGHT(C1,LEN(A1))=T(A1),C1,C1&"-"&A1)))
(3) C2のセルをC101までフィルコピー
(4) 表示したいセルに、 =C101 と入力
でいかがでしょうか。
487 :
456 :04/10/14 01:03:41
>>486 おお!ばっちりです!=T()の関数は初めて見ました
488 :
ゴッホ ◆lkGoghDAZs :04/10/14 01:06:00
A列に-1・0・1の何れかが入っている状態で 「0」を無視した場合の-1の連続する回数を数える事は可能でしょうか? ex) 0 -1 0 -1 0 1 0 0 -1 0 0 0 -1 -1 0 -1 1 -1 ↑(表記上横にしましたが)の場合の最大連続数「4」です。 連続する場合が多数あるので、最大連続回数を求めたいです。 エロい人教えて下さい。
最大連続回数は「3」でした。すんません。
>>490 と思ったら「4」でした。
こんな間違いが多いので自動で出したいのです…
ほんとすんません。
A列は何行ぐらいになりそう?
493 :
457 :04/10/14 01:43:04
>469 あ、すいません。ありがとうございました。実は大変ことを言い忘れてました。追加したセルを結合して出したいのですが、どうすればいいですか?もうしわけございません。
>>489 B列を作業列にして
(1) B1に以下の式をコピペ
=IF(A1=-1,1,0)
(2) B2に以下の式をコピペ
=IF(A2=1,0,B1+ABS(A2))
(3) B2のセルをA列の最下行までフィルコピー
(4) 表示したいセルに、 =MAX(B:B) と入力
でいかがでしょうか。今日はもう寝ます。
(3)がなんか紛らわしいな。 B2のセルを、B列のA列最下行と同じ行までってことで。
>>495 (=492?)
上手く行きました。ありがとうございました。
497 :
ゴッホ ◆lkGoghDAZs :04/10/14 02:15:14
>>493 さっきの手入力でやるやつだったら、B2とB3を結合してからドラッグ。
VBAなら
For i = Range("A65536").End(xlUp).Row To 2 Step -1
Rows(i & ":" & i + 1).Insert
Range(Cells(i, 1), Cells(i + 1, 1)).Merge
Next
498 :
名無しさん@そうだ選挙にいこう :04/10/14 17:30:03
ウィンドウズXPでエクセル2002を使っています。 前から悩んでいたのですが、グラフを書いたときの目盛りを、 全部の枠線に表示させることはできないのでしょうか。 図で言うと、これまで ┌──────┐ ├ │ ├ │ ├ │ ├ │ └┴┴┴┴┴┴┘ だったグラフの目盛りを、 ┌┬┬┬┬┬┬┐ ├ ┤ ├ ┤ ├ ┤ ├ ┤ └┴┴┴┴┴┴┘ のようにしたいのです。
499 :
名無しさん@そうだ選挙にいこう :04/10/14 18:19:15
Excel2003を使用しているのですが、右詰で左揃え(桁そろえ)のやり方がわかりません。 表示形式のユーザー設定を弄くってはみたものの、思うように表示されないのです。 イメージとしては、以下のものを考えています。 ┌───────┐ │ あいうえお│ ├───────┤ │ かき │ ├───────┤ │ くけこ │ └───────┘ 表示形式の@以降に何か追加すればよいのではないかと思って入るのですが、 どうすればいいのか調べても解りません。 よろしくおねがいします。
素直に空白列を入れておくのが エクセル風味といいつつ500。
>499 インデントじゃダメなのか?
502 :
475 :04/10/14 18:27:54
>>477 誠に有難うございました
益々のご発展を心よりお祈り申し上げます。
>>501 ハッとさせられました。ありがとうございます。
変に難しく考えずとも、インデントを使えばよかったのですね。
おかげさまで、望んだ表示がなされるようになりました。
有難うございました。
504 :
473 :04/10/14 21:30:38
>>485 コードまで書いて頂き、本当にありがとうございます!
今から作成してみようと思います。
いろいろご親切にありがとうございました!
505 :
名無しさん@そうだ選挙にいこう :04/10/14 23:02:39
エクセルについて質問させて下さい。 文字を通常は、左から右へ印刷されますgあ、これを 右から左に向けて印刷する方法はあるのでしょうか?
507 :
名無しさん@そうだ選挙にいこう :04/10/15 00:11:36
条件付き書式で、その条件を満たすセルに罫線を引きたいのですが、 二重線が選べません。仕様ですか?しょうがないのですか?
508 :
名無しさん@そうだ選挙にいこう :04/10/15 00:33:17
>>486 すみません!困ったことが起きました。
該当セルが1個だけの場合はハイフン無しで表示したいのですが無理ですか?
例)1-1,3-5,10-10,91-100と表示されるのですが、
1,3-5,10,91-100のようにしたいのです!
>>508 今の状態から、C2を以下の式に変更
=IF(B2=B1,C1,IF(B2=1,C1&IF(C1="","",",")&A2,IF(VALUE(RIGHT(C1,LEN(A1)))=A1,C1,C1&"-"&A1)))
C2のセルをC100までフィルコピー (C101は今のまま)
表示したいセルに以下の式をコピペ
=IF(AND(B99=0,B100=1),C100,C101)
でいかがでしょうか。
510 :
名無しさん@そうだ選挙にいこう :04/10/15 04:33:51
色をつけたいんです。セルに。 で、 1>? の場合、ピンク 2>? の場合、紫 3>? の場合、赤 とするにはどうすれば良いですかねぇ??
511 :
名無しさん@そうだ選挙にいこう :04/10/15 04:56:45
それと並べ替えって出来ますか? 昇順、降順で。 オートフィルみたいに一発で。
513 :
名無しさん@そうだ選挙にいこう :04/10/15 06:19:51
>>512 なんか随分と高飛車なレスですね
他に答えてくれる方いますか?
もしくは優良スレを教えてくださいませ
>>510 どういう条件で何したいのかよく分からんが、条件付き書式
>>511 並べ替えはできるから、まずやってみろ
515 :
名無しさん@そうだ選挙にいこう :04/10/15 07:43:35
質問者が切れたら終わりですよ
517 :
名無しさん@そうだ選挙にいこう :04/10/15 07:54:58
質問もクソもねぇですし 回答者がクソなんだから。。 とにかく、ウザイので消えて欲しいですよ。あなたとか特に
全く無礼な質問者が現れたもんだ。
それはさておき
>>508 C1に
=IF(B1=1,A1,"")
C2に
=IF(B2=1,IF(B1=1,C1,A2),IF(B1=1,C1&",",""))
C3以降データ行+1まで
=IF(B2=B3,C2,IF(B3=1,C2&A3,IF(B1=1,C2&"-"&A2&",",C2&",")))
最後に余分なコンマを取る
=LEFT(C101,LEN(C101)-1)
>>507 >条件付き書式で二重線が選べません。
ホントだ、選べないな。初めて知った・・・。
VBAできるなら、「If」だの「Select Case」だの使って
条件で分岐させて、「.LineStyle = xlDouble」で二重線です。
522 :
名無しさん@そうだ選挙にいこう :04/10/15 12:17:10
無礼もクソも、具体的に教えてくれよ。 それができないなら無視してればよい。 簡単なこった。 やれやれ・・
523 :
名無しさん@そうだ選挙にいこう :04/10/15 12:27:09
>>522 教えてやるぞ具体的に
まずは金もってこい、屑
524 :
名無しさん@そうだ選挙にいこう :04/10/15 12:40:26
屑とかさぁ 別に良いけど、自らの品格落としまくりですなぁ 目的に適わないのだから、お互いスルーで良いでしょうに? なにを息巻いておるの? まさか自分の聖域だとか言い出すんじゃないだろうな(w
525 :
名無しさん@そうだ選挙にいこう :04/10/15 12:45:48
なーんてごめんちゃい。 失礼しましたぁ〜
つーかID出ない板じゃ本人か騙りかすら 判別できないわけで・・・何やってんだか。
マ版に通報しましょうよ
528 :
名無しさん@そうだ選挙にいこう :04/10/15 16:01:53
530 :
名無しさん@そうだ選挙にいこう :04/10/15 16:18:20
タックシートは封筒、DM等に貼る住所や宛名の部分ですよね。 ソフト名もインデックス印刷となってますし、インデックスであることは 間違ってないかと思います。
?
630円払ったなら作者にメールで訊けば?
てか、A4でかつ60面というのは、1面あたりの大きさが非常に小さくなるんだが。 ヒサゴもA-Oneも、コクヨも検索したが無かったし、そもそもそんなものが存在するのかと・・・。
532に1票
535 :
名無しさん@そうだ選挙にいこう :04/10/15 17:16:20
私が持ってるタックシールは65片あるよ。J8751っていうやつ。 マクセルのだけど、ヒサゴでもA-Oneでもおなじ品番だったような。 120片のも持ってたし、存在はするはず。
タックシールじゃなくてインデックスだと 言い張っているからややこしいワケで、、、 どういうつもりでインデックス印刷と名づけたか 作者にしかわからないワケで、、、
宛名・表示ラベルってなってるなw>マクセル
538 :
名無しさん@そうだ選挙にいこう :04/10/15 18:23:56
Excel2000です。 シートにリストボックスやコンボボックスを貼ってマクロを組んでるのですが、 リストボックスやコンボボックスなどのコントロールをTabキーで移れるようにすることはできないのでしょうか? VBの場合はTabIndexプロパティで飛ぶ順番を指定してやればできましたが、 Excelに貼ったコントロールにはTabIndexもないし、Tabキーを押しても移りません。 しょうがないのでマクロでTabキーが押されたときに 次のコントロールにSetFocusメソッドでフォーカスを移そうかと思ったら、 SetFocusメソッドもないみたいです。 Tabキーでシートに貼ったコントロールのフォーカスを移す方法はありますか?
>>538 A-ONEの用紙とラベル屋さんホームの組み合わせでいいじゃん。
シールが剥れるのはプリンタか用紙が原因であって、 シェアウエアソフトを入れる動機がわかりませんが。
>>542 はがき大のやつじゃなくてA4のにすれば
剥がれないかもしれないってことだろ。
グラフの省略を各方法が知りたいです。 たとえば縦軸を1.2.3・・・・ととっていて50-100を省略して100から始まるような。 いろいろ探したけど見つからないです。 助言をお願いします。
前のほうや後のほう、上端や下端を省略するなら 項目軸/数値軸のプロパティで上限下限を適宜指定。 途中を省略するなら、別々のオブジェクトとして作っておいてうまいこと重ねるくらいしかないかな。
>543 それは用紙が原因の説明になっても動機の説明にならない。
547 :
456 :04/10/15 21:45:24
>>520 ありがとうございます!
レスの時間帯からみると、会社からですか?
>>546 さらっと読んだだけだけど、528はA4の印刷用の用紙にすれば
大丈夫かもしれないかもしれないって考えたのが動機じゃないの?
549 :
名無しさん@そうだ選挙にいこう :04/10/15 23:38:05
>>548 でも、元からエクセルで普通に作れた人なんだから、
A4にしようと思えばA4でも作れたはずなのに、なぜ
その段階でソフトを使うことにしたのかわからん。
>>549 ソフトを使うのが目的じゃなくて、
メーカと型番がわかれば注文できるから
A4で印刷できるインデックスのシートのメーカ、型番を
知りたいってことじゃないかな?
>538 >作者の連絡先が分からないのです。HP見ても載っていないようです。 DLしてみたら、readmeに作者サイトのURL(>540)もメールアドレスも載ってるじゃないか。 どこ見てんだ。
readme=エクセルインデックス印刷.txt な。
553 :
名無しさん@そうだ選挙にいこう :04/10/16 11:59:16
すいません質問です 給与奉行という会計ソフトがあるのですが、これのデータをエクセルのデータに変換することは可能でしょうか? あと逆にエクセルのデータを給与奉行にいれこむことは可能でしょうか? 宜しくお願いします
質問です。 A B C D E F ↑のような表の中で、A以上B未満のときはCを返すというvlookupの様に 表の中のデータを参照するってこと出来ますか?
558 :
名無しさん@そうだ選挙にいこう :04/10/16 16:44:49
基本の質問ですが、 S ←これの21以上ってどうすれば 入力出来ますか? 無理ですか?
>>558 エクセルじゃ図形と組み合わせないとできない。
というか、どうどうと機種依存文字打ってるな。
560 :
名無しさん@そうだ選挙にいこう :04/10/16 16:59:38
>>559 すみません。 マックでは同じに見えても違ってたんですね。
初めて知りますた。
>>554-555 ありがとうございました
使用中の給与奉行は2000のなんとか版で汎用データの読み込み?の機能自体がついてなくて
残念ながら無理の様でした。バージョンうpも視野に入れて検討してみようと思います
563 :
名無しさん@そうだ選挙にいこう :04/10/16 18:06:59
>>556 「以上」の方の列(1列目)を基準にvlookupを使って
4つ目の引数にtrueを入れたらできるんじゃないかな。
リンク先読んでないからね。
会社でシステムの人が作ったシートなんですが、見えないシートがあります。 調べるとVBAのVisibleプロパティで消しているようなんですが、Bookにあるマクロを見てみても、そのような記述があるとことがありません。 これはどういうことなんでしょうか?別の理由? ところでVBAって面白そうですね、自分でも最近色々いじり始めています。
>564 普通に、 書式−シート−表示しない
はい、残っているのですが、そのファイルには9月分を付けていません。
572 :
名無しさん@そうだ選挙にいこう :04/10/17 19:38:18
Excel2000を使ってます。Word2000で差し込み印刷という機能が あるのは知っていますが、Excelでも差込印刷ってできるんですか?
excel 2002 複数のセルの文字列の前後に まとめてある文字を挿入するにはどうすればいいでしょうか 前と後別々に挿入する方法でもかまいません ↓こういう感じにしたい(かぎを前後に挿入) A 1 あいうえお 2 かきくけこ 3 さしすせそ ↓ A 1 「あいうえお」 2 「かきくけこ」 3 「さしすせそ」
A1セル以外に ="「" & A1 & "」" あるいは =CONCATENATE("「",A1,"」") 見た目だけなら、A1セルの表示形式でユーザー定義"「"@"」"
575 :
名無しさん@そうだ選挙にいこう :04/10/17 21:32:41
>>573 B1に、="「"&a1&"」"って打って下までコピーし、
その後B列を選択→コピー→B列で形式を選択して貼り付け→値にチェックしてOK
578 :
名無しさん@そうだ選挙にいこう :04/10/17 22:52:28
折れ線グラフの各点にコメントをつける方法ってないでしょうか? 例えばA列をグラフの実データ、B列をその各点のコメントって言うふうにして、 グラフに表示できたら最高なのですが。
教えていただいた事は、すべてやってみましたが、ダメでした。 9月分の領収書などをもう捨ててしまっているので できれば修復!っと思っていたのですが・・・・ 自動バックアップの方は、その機能を知らずに使っていませんでした。 SYMANTEC の Norton Utilities / SystemWorks は、あまり効果が無いように書いてあったのですが 望みはありますでしょうか?
こんばんわ エクセルですが、 会計報告書を作成しているのですが シート別に収支・支出・合計のデータを打ち終えのですが 一画面ですべてを表示しまた、印字する方法を教えてください。 よろしくお願いします。
行幅や列高の書式が合うなら、コピペして一つにまとめる。 会わないなら、「カメラ機能」をぐぐれ。
Excel2000で順位表を作っているのですが、 順位表の中から、1位から3位までの点数を 合計させるにはどのような関数を使えばいいのでしょうか? よろしくお願い致します。
>582 LARGE 1番目+2番目+3番目
どなたかよろしくおながいしまつ。
585 :
名無しさん@そうだ選挙にいこう :04/10/18 14:27:53
Excel2000です。 マクロを作成したのですが、シート名の部分を変数として、 マクロを実行する際にシート名を入力できるようにしたいのですが、 どのようにすればいいか教えてください。 Source:=Sheets("Sheet1") の("Sheet1")を変数として、 マクロを実行するときに 「実行するシート名を入力してください」 と表示させて、入力BOXを出したいです。 お願いします。
>>585 それだと、グラフの下に表示される項目のラベルが隣の列の値になってしまいますよね?
私がやりたいのはグラフの中のプロットされた点のすぐ横に、隣の列で指定した文字を
表示するようにしたいのです。
>>586 shtnameという変数を定義して(変数名は何でもいいんですけど)
それにシート名を手入力でもシートの一覧から選ばせるのでも
何かの方法で取得する。
Sheets(shtname)として扱えばSheets("Sheet1")とかやらなくてもダイジョビ。
こんばんわ >581返信ありがとうございます。 カメラ機能を使用したのですが、 印字はうまくできました。 ただ、ちょこちょこと手直しをしたいのですが 一画面ですべてを表示したまま作業をできる方法はありますか ご教授お願いします
>588 ありがとうございます。 変数の定義は Dim shtname As Variant で良さそうなんですが、シートの選択ができないです。(VB自体最近やり始めたのでかなりちんぷんかんぷん) と言うか、さっき気がついたんですけど 今までマクロの実行がSheet1でしか出来なくて、わざわざSheet1に名前変更してやってたので 変数とか使わなくても、今開いてるシートでマクロが実行できるようにできたらそれでお願いしたいです。
>>590 sheets("sheet1")の代わりにactivesheetつかえばいいんじゃね?
エクセルで作った表とグラフをサイトにのせたいのですが ワークシート上にある表・グラフを、jpgの画像に変換する 方法がわかりません。 フリーソフトを使わずにXPで出来ないでしょうか? (会社PCの為フリーソフト禁止されています。自宅mac) 教えてください。 よろしくお願いします。
ペイント
>>593 ありがとうございました。
ペイントは使った事がありませんが、明日会社でやってみます。
595 :
名無しさん@そうだ選挙にいこう :04/10/19 10:07:33
>>592 webページ形式で保存って言うのをやったらフォルダの中に
画像が別個に保存されるよ。jpegになるかどうかは知らないけど。
>591 sheets("sheet1")をactivesheetに置き換えてやったら、 オブジェクトは、このプロパティまたはメソッドをサポートしてません。 言われて出来ませんでした。 もうちょっとレベルを上げてから出直します。
>>595 その場合はgif
jpegへの変換は同じくペイントでできますが
598 :
名無しさん@そうだ選挙にいこう :04/10/19 14:08:01
>596 マクロをシートの中に書いてない? 標準モジュールで書けば動くんじゃない。 Sub ChangeSheetName() Dim sheetName As String sheetName = InputBox("シート名を入力してください。") ActiveSheet.Name = sheetName End Sub
質問です 表が2種類あって、一方の表を参照して他方の表を埋めたいのです。 例でいうと 表1 東京 380 大阪 780 名古屋 980 表2 東京 380 東京 380 名古屋 980 名古屋 980 名古屋 980 で、表2で文字列(この場合は東京名古屋等)を入力するとそれに対応した値を表1から 読んできて隣のセルに自動で表示という動作をさせたいのですが(例でいうと380や980など) どのような関数を用いればいいのでしょうか? FINDとかMATCH辺りかと思ったのですが上手くいかず・・・ どうかお力添えお願いいたします。
セルにコード(地域コードとか)で入力する時に、 リストボックスみたいなの出てきて 選択式で楽に入力出来る方法ってないですかね? [ ][▼] |北海道| |青森 | |岩手 | |秋田 | +-----+ から選ぶと、 実際のセルには名称じゃなくてコードが記述されるようなイメージです
>>601 シートにコンボボックスでもリストボックスでも貼り付けるとかじゃだめ?
>>602 それでもいいですが、
visual studio系みたいに
入力しようとすると補足してくれる、みたいなのが理想です。
無理なら諦めますが。。
>>603 KeyPressイベントでも使ってコード書けばできるんじゃない?
>599 VLOOKUPかDGET >601 名称の隣に地域コードを入力させるなら>599と同じでVLOOKUPかDGETで出来るけど、 選択セル自体に地域コードを代入したいならVBA使うしか無いね。 どちらにしてもまず地域コードの一覧を作る必要があるけど、C1がコードを代入したいセルで A列(A1:A47)に都道府県名、B列(B1:B47)に各都道府県の地域コードが入力されてるとすると、 リストボックスから選択するのは[データ]>[入力規則]>[設定]の[入力値の種類]で[リスト]を選択、 [元の値]に「=$A$1:$A$47」を入力、VBAの方はシートのタブを右クリックして[コードの表示]を選択したら、 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$1" Then '"$C$1"は地域選択からコードを代入したいセル For r = 1 To 47 'コード一覧の行数(1〜47行目) If Cells(r, 1) = ActiveCell Then '(r, 1)の1は名称の入力されてる列(A列なら1、B列なら2・・・) ActiveCell.Formula = Cells(r, 2) '(r, 2)の2はコードの入力されてる列(上記参照) Exit For End If Next End If End Sub をコピペすればいい。あとは注釈を参考に書き換えてくれ。 あと、解ってるとは思うけど、コード一覧(名称とコードの2列)は非表示にしても問題無いから。
VLOOKUPで実現しました!!レスくれた方ありがとうございます しかし一つ困ったことが・・・ 未入力のところを参照したvlookup関数は#N/Aを返してくるのですが これを数字の 0 にしたい場合どうすればいいのでしょうか 質問多くて申し訳ないです。。。
>>606 iferrとか使えばいいんじゃないの?
>>607 iferrでググってもわかりませんでした・・・
どういうものなのでしょうか?
>>605 どうもです。自作するしかないんですね。
VBAあんまり詳しくないんで教えて欲しいんですけど
ソースの10行目のターゲットをC列全部にしたい場合は
Target.Addressをどうにか加工する必要がありますか?
"$C$1"の記述を変えるだけで大丈夫ですか?
>609 If Target.Address = "$C$1" Then ↓ If Target.Column = 3 Then
>>610 どうもです。VBA勉強して出直してきます。
>>603 >無理なら諦めますが。。
この一言は余計。あなたにとって、このスレ私たちはいったい何なのかって思ってしまった。
指定された範囲のなかの数値データだけの合計を求めるやり方を教えてください
>>641 SUM関数でよい。
範囲内に文字列や論理値があっても無視される。
616 :
名無しさん@そうだ選挙にいこう :04/10/19 20:48:02
A B 1 あ い 2 あ い 3. い 4 と入力されているシートで、A3を返すマクロはどのような感じでしょうか? B列を無視してA列を検索してデータの入力されているセルの次のセルを返すということなのですが・・・
>616 A3が最終セルなら(A4以下にデータが無いなら)、 Range("A65536").End(xlUp).Offset(1, 0)使えばいいのでは それか逆にA1からxlDownとOffsetか。
Q:あるブック、たとえば Data???.xls をオープンしたときに、そのブックと 同じディレクトリに AutoLoad.xls というブックが存在していたら、同時に オープンさせたいのですが、どうすればいいでしょうか? フォルダには複数の Data???.xls があって、それらを共通に加工する ようなマクロを AutoLoad.xls に仕込んでおきたいのです。 Data???.xls の WorkbookOpen イベント処理で行うのが普通なのかも しれませんが、 Data???.xls の数が多いと、マクロの保守が大変になり ます。 Personal.xls は Excel の起動時にオープンされるので、ここに AutoLoad.xls をオープンする仕掛けを作ろうと思いましたが、これを させるイベントがわかりません。Personal.xls の WorkbookOpen イベント が処理される時点では、まだ Data???.xls が開いていないらしいのです。
619 :
名無しさん@そうだ選挙にいこう :04/10/20 00:55:46
エクセルをワープロ代わりに使う みたいなスレってなかったでしたっけ?
>>618 AutoLoad.xlsを起動して、AutoLoad.xlsにData???.xlsを
一括処理するマクロを書くのはどうでしょう?
下は同じディレクトリにあるData???.xlsをA1から書き出すマクロです。
書き出すところを適当に変えてやれば目的のマクロの何か参考になるかと。
Dim f_name As String
Dim i As Integer
f_name = Dir(ThisWorkbook.Path & "\data*.xls")
i = 1
Do While f_name <> ""
Cells(i, 1).Value = f_name
f_name = Dir()
i = i + 1
Loop
621 :
ゴッホ ◆lkGoghDAZs :04/10/20 01:24:01
>>618 AutoLoadを先に起動しても問題ないなら、
>>620 。
先に起動したくないなら、次の方法があります。
まず、PersonalのThisWorkbookに
Dim myE As New Class1
Private Sub Workbook_Open()
Set myE.myEvent = Application
End Sub
クラスモジュールを挿入し、
Public WithEvents myEvent As Application
Private Sub myEvent_WorkbookActivate(ByVal Wb As Workbook)
If Wb.Name Like "Data*" Then
Workbooks.Open ActiveWorkbook.Path & "\AutoLoad.xls"
End If
End Sub
挿入したクラスモジュールの名前がClass1でないときは、PersonalのThisWorkbookの一行目を
適宜書き換えてください。
622 :
ゴッホ ◆lkGoghDAZs :04/10/20 01:38:02
よく見たら、AutoLoadが存在しないときもあるようなので、 クラスモジュールの記述は、次のを使ってください。 上に書いたやつは、AutoLoadがないとき、エラーになります。 Public WithEvents myEvent As Application Private Sub myEvent_WorkbookActivate(ByVal Wb As Workbook) If Wb.Name Like "Data*" Then On Error Resume Next Workbooks.Open ActiveWorkbook.Path & "\AutoLoad.xls" On Error GoTo 0 End If End Sub
623 :
名無しさん@そうだ選挙にいこう :04/10/20 15:13:13
300A500.3 50B300.3 600C750.5 ちょっと適当なんですが上記のデータがあったときに 左側の数値に30.2を足して 300A530.5 50B330.5 600C780.7 というデータに変換したいのですが何かいい方法は無いでしょうか
624 :
名無しさん@そうだ選挙にいこう :04/10/20 15:13:51
右側の数値でした。すいません。
=LEFT(A1,LEN(A1)-4)&RIGHT(A1,4)+30.2 とか
繰上げに対応してないべ。
さいでげすね・・
ということで4を5に
必ず3桁+少数点以下1桁ならね、
そこまで指定されてないから
んだね。
632 :
名無しさん@そうだ選挙にいこう :04/10/20 21:13:49
質問です。 A列に1行から10000行までのデータがあるとします。 ひとつのセルにはそれぞれ別の数値データがあります。 そのデータでは数が多すぎるので、適当な間隔で間引きたいです。 (たとえば、1行、100行、200行、、、、などの等間隔の値だけ取り出したい。) こんなことって出来るのでしょうか? よろしくお願いいたします☆
>>632 作業列を作って1〜100までの番号を1行から10000行まで繰り返しふってオートフィルタで抽出するとか
>>632 1行、100行、200行だと等間隔になってませんけど、
1行、101行、201行ってことでOK?
B列に出力するなら、B1に以下の式を入力。
=INDIRECT("A"&(ROW()-1)*100+1)
B1セルを下にコピーすると、B列にA1、A101、A201・・・の順で
値が表示されます。
635 :
名無しさん@そうだ選挙にいこう :04/10/20 21:53:59
>>634 わ〜!!すごいです!!
どーもありがとうございました☆
失礼なヤツだな
2ch で礼儀なんか求めるなよ
>>635 はちゃんとお礼いってるだろ
639 :
名無しさん@そうだ選挙にいこう :04/10/20 22:24:43
質問させてください。 当方excelXPを使ってるのですが、このまえ学校でExcel2003をつかう機会があり そっちを使ってみたところ、とてもカラフルでした。 (windowsがXPに変化したときのように) そこで教えていただきたいのですが、あれはver2003からのものなのでしょうか? それともExcelXPでも、ああいうふうにできます?
どこがどうカラフルだったのか書かないと
すみません。 セルの部分じゃない、ツールなどがある周りの部分です。 僕のは全て灰色なのですが、学校のexcel2003はきれいな青でした。
642 :
名無しさん@そうだ選挙にいこう :04/10/20 22:34:16
質問です A 1 10 2 5 3 × 4 1 とあった場合×を0として合計を出したいのですが可能でしょうか?
>>641 灰色って事はOSがXPじゃないか、XPだとしてもクラシックスタイルのスキンを使ってるんじゃ?
WinXPで使えばExcel2000でも設定したスキンの色になるよ
>>642 普通に =SUM(A1:A4)
文字は無視してくれる。
>>643 OSはXPです。Excelのスキンはどこで変えれます?
ヘルプでインターフェイス、スキン、など調べてみたんですが、イマイチわかりません。
>>646 スキンは excel とは関係ないだろ
649 :
ゴッホ ◆lkGoghDAZs :04/10/20 23:18:33
>>623 マクロでやれば、
Dim i As Long, Num As Long, myCell As Range
For Each myCell In Range(Range("a1"), Range("a65536").End(xlUp))
Num = myCell.Characters.Count
For i = 1 To Num
If IsNumeric(myCell.Characters(i, 1).Text) = False Then Exit For
Next
On Error Resume Next
myCell = Left(myCell, i) & Right(myCell, Num - i) + 30.2
On Error GoTo 0
Next
A列のデータを置き換えます。もとに戻せないので注意。
>>639 ちなみに、ExcelXPではなく、Excel 2002です。(Officeの名前はOffice XPだけど)
651 :
名無しさん@そうだ選挙にいこう :04/10/21 00:34:54
すみません、質問なのですが、エクセル97を使っています。 1つのセル内に、改行のない全角のみのテキストが入っているとして、 これを例えば8文字で改行させるにはどうすれば良いのでしょうか? 列幅を調節しての改行ではなく、データとして改行させたいのです。 例:今日はとても良いお天気ですね。 ↓ 今日はとても良い お天気ですね。 どうか宜しくお願い致します。
652 :
ゴッホ ◆lkGoghDAZs :04/10/21 00:38:06
>>651 自動でってことではないよね?
手入力で改行なら、Alt + Enter
>>651 改行したいところで Alt+Enter
関数の質問なんですが 与えられた数字の中から特定の数字の合計を選び出す関数ってありますか? たとえば23、43、63、12、54、の中から3個合計すると118になる数 字を探し出すというようなことです。 与えられた数字は100前後で桁数は4桁ぐらいあるので対応しきれなくて・・・。 宜しくお願いします。
655 :
ゴッホ ◆lkGoghDAZs :04/10/21 01:03:54
>>654 ありません。
取り出す個数を限定してもいいなら、マクロでは可能です。
656 :
名無しさん@そうだ選挙にいこう :04/10/21 02:25:11
>>655-656 ありがとうございました。
FAQに入っていたとは、お恥ずかしいです。
助かりましたm(_ _)m
658 :
名無しさん@そうだ選挙にいこう :04/10/21 10:59:26
とある部署のPCをリカバリしたら今まで出来ていた作業ができなくなったとの苦情を受けました。 それは、ExcelファイルにCSVファイルをインポートする時の動きです。 Excelの表は 名前 番号 名前 番号 : : で、CSVの中身は 名前,番号,名前,番号,名前,番号… なのですが インポートするとExcelの中身が 名前 番号 名前 番号 名前 番号… と横に挿入されてしまって表がグチャグチャになってしまうとのこと。 色々インポート時の設定を調べたのですが「データn個毎に改行」なんてオプションはありません。 以前の担当者が居ないのでどうやっていたかが分かりません。 これはマクロ等を使わないと不可能な事なのでしょうか?
659 :
658 :04/10/21 11:35:46
すんません、解決しました。
661 :
651 :04/10/21 14:56:54
す、すみません・・・651です。仕事で外出してました もうテキスト自体はできてまして、それを後付けで改行付きに 修正したいのです。 1セルずつ手動でもいいのですが・・・数が・・・膨大なので・・・ 改行修正したいセルが、5000セルくらいあるのです・・・ なんとかなりませんか?今夜がヤマだ!(謎 それでは失礼致します。
662 :
名無しさん@そうだ選挙にいこう :04/10/21 15:09:46
教えて下さい Excel2002を使っています 列に連続した数nがあります(A1.0 A2.0 A3.0…) 続いて連続したn以上の数があります(A8.1 A9.1…) 連続したn以上の数のまとまりを1つと数え そのまとまりが幾つあるか 簡単に調べる方法を教えてください 説明下手ですいません…
649のマクロをちょこっと弄れqあwせdrftgyふじこlp;@
>661 >664が言うように>649のをいじるのが一番スマートだと思う。 それが無理なら作業列作って、=LEFT(B:B,8)&CHAR(10)&RIGHT(B:B,2) みたいな式を作ってセル内改行コードを入れて、その後、目的の列に値のみ貼り付け。 その後、セルの書式設定を折り返し表示に変更する、とか。
>662 集計かピボットテーブル使ってデータの個数で集計とれば?
667 :
名無しさん@そうだ選挙にいこう :04/10/21 17:04:14
業務用の端末で、実行環境の変更やソフトのインストール等を一切行って いないマシンで、エクセルからの印刷が、突然印刷できなくなってしまいました。 同じようなトラブルに遭われた方いませんか? 環境 EXCEL 2000 SP3 WindowsXP SP1 ネットワークプリンタに出力 現象 CSV ファイルを開いて、範囲を指定して印刷を行おうとすると、EXCEL が落ちる。 再現性アリ。 範囲の指定を行わずに印刷すると問題なく印刷できる。 .XLS ファイルを開いた時は、印刷範囲の指定の有無にかかわらず正常に印刷できる。 補足 落ちる端末に関しては、2〜3ヶ月程度 Windows Update をさぼっていて、環境が 変化していません。 プリンタを接続している鯖(2000ServerSP4)には、セキュリティパッチ一式を当てました。 プリンタドライバはいじってません。
>>667 csvをxlsに保存しなおして印刷は?
逆に、xlsをcsvに変更して保存して印刷した場合はどうなる?
669 :
名無しさん@そうだ選挙にいこう :04/10/21 18:09:23
>>668 それは大丈夫です。
面倒なんで、 Office2003 に UG したら直りました。
しかし、一体なんだったんだろ。EXCEL2000 のバグだとは思うんだけど。
670 :
名無しさん@そうだ選挙にいこう :04/10/21 21:23:21
asdf.xls (←同一フォルダにある、別のエクセルファイル 56 (←上記ファイルの特定のシート・列・行の値の表示) と言うかんじで、1行目にファイル名の内容を2行目に表示 させるのだが、1行目のファイル名のところに、同一フォルダの 別のファイル名を入力すると、下の値も自動的に ファイル内容で更新するようにしたい。 2列目の式を教えてください。 ちなみに、='[(=A1)]シート名'!$A$1 でやったら、上手く行きませんでした。 ファイル名を変えても値が変わらない。 宜しくお願いします
671 :
名無しさん@そうだ選挙にいこう :04/10/21 22:03:19
セルの結合に関する質問です。 セルを結合して中央揃え、のアイコンで結合させたセルを 選択しもう一度そのアイコンを押すことによって 結合が解除されるものでしょうか? 自分の使ってる97では無理でした。 できると言う人もいますが、バージョンによるものか、設定によるものか教えてください。
='[indirect(A1)]シート名'!$A$1 でどうよ
673 :
ゴッホ ◆lkGoghDAZs :04/10/21 22:20:41
>>671 97じゃできないよ。
たしか、2002から。(2000からだったかも)
でも、97でも、ツール→ユーザ設定→書式 の中の、セルの統合の解除 ってのをツールバーに
置くことができると思います、たしか。
>>672 それでうまく行く?
俺は、
=INDIRECT("["&A1&"]シート名!$A$1")
みたいな感じでやるけど。
674 :
ゴッホ ◆lkGoghDAZs :04/10/21 22:38:08
>>661 選択範囲内を8文字めで改行するマクロ。
On Error Resume Next
Dim i As Long, myCell As Range
For Each myCell In Selection
If myCell.Characters(9, 1).Text <> Chr(10) Then
myCell = Left(myCell, 8) & Chr(10) & Right(myCell, myCell.Characters.Count - 8)
End If
Next
何か、ものすごい書き込みにくいのは俺だけ?
675 :
ゴッホ ◆lkGoghDAZs :04/10/21 22:39:55
間違えた。 ↓これが正解。 On Error Resume Next Dim myCell As Range For Each myCell In Selection If myCell.Characters(9, 1).Text <> Chr(10) Then myCell = Left(myCell, 8) & Chr(10) & Right(myCell, myCell.Characters.Count - 8) End If Next
676 :
名無しさん@そうだ選挙にいこう :04/10/21 22:54:03
質問です。 今、検量線を作っていて、 グラフウィザードの平滑折れ線グラフで作ったのですが、 X軸の値が変えられなくて困っています。 散布図で作ればうまく行くのですが、 滑らかな曲線に仕上げたいのです。 おしえてください。
677 :
ゴッホ ◆lkGoghDAZs :04/10/21 23:03:18
>>676 具体的に値をどういうふうに変えたいの?
678 :
名無しさん@そうだ選挙にいこう :04/10/21 23:09:03
質問です。 今、検量線を作っていて、 グラフウィザードの平滑折れ線グラフで作ったのですが、 X軸の値が変えられなくて困っています。 散布図で作ればうまく行くのですが、 滑らかな曲線に仕上げたいのです。 おしえてください。
679 :
名無しさん@そうだ選挙にいこう :04/10/21 23:14:37
>>673 できました。ありがとうございます。
ついでにセルの結合のアイコンもつくりました。
結合はしたいけど中央揃えはしたくないというパターンが多かったので、
これでかなり便利になります。
680 :
676 :04/10/21 23:18:39
すいません(o*>Å<)o えっと、X軸の値を変えたいのと、 滑らかな曲線にしたいです。
681 :
ゴッホ ◆lkGoghDAZs :04/10/21 23:30:12
>>679 あ、そうそう。デフォでついてる「統合して中央揃え」だけだと、めんどくさいときあるよね。
>>680 グラフのことは詳しくないので、正しいこと言ってるかわからんけど、
たとえば、X軸右クリックで「軸の書式設定」で「目盛」「目盛の間隔」とか、
グラフエリアで右クリックで「元のデータ」「系列」「項目軸ラベル」とかで
なんとかできないのかな?
滑らかな曲線って、「平滑折れ線グラフ」じゃなくて、普通の「折れ線グラフ」じゃできないの?
とんちんかんなこと言ってたら、ごめんだけど。
682 :
676 :04/10/21 23:42:12
ほう☆やってみます!!!
683 :
ゴッホ ◆lkGoghDAZs :04/10/21 23:52:41
>>682 質問もよく理解してないので、お役に立てたのかわからないけど、
とりあえず試してみてください。
誰か、詳しい人が現れるのを願って。
わたくしは、就寝いたします。Good Night.
684 :
名無しさん@そうだ選挙にいこう :04/10/21 23:55:33
excelの2002と2003を使用しているのですが、ブックの中身を見えないように設定 しています。 このパスワードの暗号強度はどの程度なのでしょうか? どなたかご存知でしたら教えてください。
686 :
名無しさん@そうだ選挙にいこう :04/10/22 00:07:04
>>684 そう言う意味じゃなくて、誰かにファイルをコピーされてパスワードを破られる可能性を
質問しています。
Excel2000のパスワードなんて1時間あればクラック出来るツールが出回っていますので
Excel2002以降に搭載されている
RC4, Microsoft Base Cryptographic Provider v1.0
RC4, Microsoft Base DSS and Diffie-Hellman Cryptographic Provider
RC4, Microsoft DH SChannel Cryptographic Provider
RC4, Microsoft Enhanced Cryptographic Provider v1.0
RC4, Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider
RC4, Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)
RC4, Microsoft RSA SChannel Cryptographic Provider
RC4, Microsoft Strong Cryptographic Provider
の強度を知りたいのです。
このスレでパスワードクラックに繋がる話をするのはどうかと思う。 686はパスワードで守りたい側の人間なんだろうけど、 クラックしたい人間へのヒントにもなりかねない。 実際、以前シェアウェアかなんかのExcelファイルのパスワード知りたいとか言う 厨が沸いたことあるし。
その程度でクラックされるなんて・・・
690 :
名無しさん@そうだ選挙にいこう :04/10/22 09:32:06
Sheets("Sheet1").Select で、Sheet1の名前が変わると上のVBAのシート名も自動的に変わるようにするにはどうすればよいでしょうか?
691 :
名無しさん@そうだ選挙にいこう :04/10/22 10:33:04
よろしくお願いします。 エクセルでシート1に書いた文字数字を勝手にシート2に入るようにしたいのですが できるのでしょうか? もし出来るのでしたら教えて下さい。
>>691 同じ位置のセルに入ればよいなら、入力前にSheet1とSheet2を両方選択してからやればよい。
ひとつに入力したら他のシートにも同じように入る。
693 :
691 :04/10/22 10:51:21
>692 ありがとうございます。 説明不足でしたが 決まった場所を常に同じ文字数字を入るようにしたいと思ってます。 今しようと思ってる事は納品書の金額をシート1に何列が書いて それをシート2に そのままかってにコピーしてシート2で請求書をだそうと思ってます。 よろしくお願いします。
695 :
690 :04/10/22 11:34:48
自己レス Sheets("Sheet1")をWorksheets(左からの番号)で指定すればいいんですね・・・
>>666 集計はやってみましたがうまくいきませんでした…
ピボットテーブルは使い方がよく分からないので
勉強してからやってみます。
A1 0 A2 0 A3 0 A4 3 A5 2 A6 0 A7 0 A8 2 A9 1 A10 0
この場合なら答えは「2」のように
いい方法ないですか?ちなみに行の数は一万行くらいです。
適当な列で1行目に次の式を入れて 1万行コピペ。あとはSUMで、 =IF(AND(A1<>0,A2=0),1,"")
>696 666です。既に697さんが別の方法を出しておられるのでそちらをお使いになると良いと思いますが 集計、どこで躓きましたか? 言い忘れましたが、集計使うときは数字をソートしておきます。 なので、集計はシートをコピーしてそちらで行った方が安全です。 (でなければもとの順序に戻すためのナンバーをふった列を用意しておく) ソートした後、集計します。このとき「列見出しを含む云々」というエラーメッセージが出ますが そのままOKして、あとは「グループの基準」にA1で入ってる数字、集計の方法を「合計」から 「データの個数」に変更。うちではこの方法でいけますが。
ソートしたら0が集まっちゃうのでわ?
>699 んー。最初の質問だと集計したいのが「2」だけとは取れなかったし、 このやり方でも2であるデータがいくつあるかは集計できるからいいかと思ったんだが。 あと、ソートしとけば 0のデータの個数 12 2のデータの個数 2 という形で集計されるけど、ソートしないと、 0のデータの個数 10 2のデータの個数 1 0のデータの個数 2 2のデータの個数 1 …みたいになって役に立たない。
701 :
ゴッホ ◆lkGoghDAZs :04/10/22 17:39:20
>>698 ものすごく説明がわかりにくい。nって普通個数を表すけど、そのnって単に数字のことだよね?
だとしたら、そのnの値をどうやって決めるの? それを説明してくれないと、答えられない。
あと、A1 0 A2 0 とか、読みにくいです。普通に列挙したほうがわかりやすい。
0
0
0
3
2
0
0
2
1
0
↑これで、答えが2ということは、0以外の数字が連続してる箇所が、何箇所あるかということでしょうか?
俺はそう解しました。だとしたら、マクロでやるのか簡単。
Dim myCell As Range, Num As Long
If Range("a1") > 0 Then
Num = 1
Else
Num = 0
End If
For Each myCell In Range(Range("a2"), Range("a65536").End(xlUp))
If myCell > 0 And myCell.Offset(-1) = 0 Then
Num = Num + 1
End If
Next
MsgBox Num
数字が連続してる箇所の話だったのか… スマソ、666以下関連のレスは脳内削除ヨロです。
703 :
ゴッホ ◆lkGoghDAZs :04/10/22 18:02:22
VBAでコードを書くたびに、新しいModuleを挿入して書いていたのですが、 これって、効率悪いのでしょうか?ファイル容量も重くなる? Moduleを分ける必要もなければ、一つである必要も無いのですが、 どちらの方がいいのでしょうか?(効率が良い?) よろしくお願い致します。
705 :
名無しさん@そうだ選挙にいこう :04/10/22 20:47:29
Excell2000 SP-1、OSはWinXPです。 これは世界のある都市の気温を現したものなのですが(左列が月、右列が気温)、 2列目だけを用いてグラフ作成を行なったところ、気温はY軸で表示されました。 作成された気温グラフを見ますと、Y軸の最低ラインが26、最高が28.5として表示されています。 このY軸の数値の範囲を0〜30としてグラフを作成させたいのですが、どのように設定すれば宜しいのでしょうか。 126.8 226.9 327.7 428.2 528.3 628 727.6 827.6 927.5 1027 1126.8 1226.6
訂正 1 26.8 2 26.9 3 27.7 4 28.2 5 28.3 6 28 7 27.6 8 27.6 9 27.5 10 27 11 26.8 12 26.6 ヽ(`Д´)ノ
軸の書式で最低値と最高値を指定
Excel2003でファイルメニューの下に最近使ったファイルが表示されますが、 これを消す方法はないでしょうか?
>>708 ツール→オプション→全般
最近使ったファイルのチェックを外す
710 :
名無しさん@そうだ選挙にいこう :04/10/23 00:27:17
簡単な質問ですが教えてください。 セルに数式を入力しているのですが、(PHONETIC)フリガナを自動でつける関数。 デリートキーで数式が消えてしまわないようにできますでしょうか。
712 :
名無しさん@そうだ選挙にいこう :04/10/23 02:08:50
ちょっとつまらんことを聞くけど教えて栗。 1,3,5,7,9,11行目という具合に1行飛ばしは1行おき? それとも2行おき? google等で「Excel 1行おき」で検索するとどうも「1行おき」という人が 多いみたいだが、「1日おき」ってのはどうも毎日のことらしい。
713 :
名無しさん@そうだ選挙にいこう :04/10/23 04:20:39
エクセルの表をパワーポイントにコピーしたいんですけど、 どうしてもエクセルに元々ひいてある罫線も写ってしまうんです。 どうしたら写らなくなるのでしょうか? よろしくおねがいします。
>>712 一日おきは二日に一回。ぐぐってもそう。
>>713 ツール オプション 表示 枠線 チェックを外してから作業
715 :
712 :04/10/23 07:15:19
716 :
名無しさん@そうだ選挙にいこう :04/10/23 07:53:22
ts
おき=間隔をおいて 6時間おきに薬を飲む=6時間隔をおいて薬を飲む=6時後に薬を飲む 24時間おき=24時間間隔をおいて=24時間後 1日おき=1日間隔をおいて=1日後
718 :
名無しさん@そうだ選挙にいこう :04/10/23 08:05:56
直前にやった操作をもう一度実行するという操作はできないでしょうか? たとえば、「行の挿入」を実行した後、もう一度行の挿入をしようとするとき いちいちコマンドを選ばなくても、ある操作をすると、さくっとできる、そういう のないでしょうか?
719 :
713 :04/10/23 08:13:48
ほんとだ!できました^^ 714さん、ありがとうございました。
>>622 亀レスになってすいません。
望みどおりの動作ができました。ありがとうございました。
それで、
>>621 ,622 について少々お聞きしたいのですが、これはいったい
どういうテクニックなのでしょうか?自分の知識ではちょっとはっきりと理解
できてないので…下記の解説であってますでしょうか?
1)Personal.xls オープン時に、New したクラスモジュールのイベントに
Excel のイベントを関連付け(←???)
2)Workbooks.Activate イベント(←これはどのブックでも起きるイベント)
で、アクティブワ−クブックと同じディレクトリにある AutoLoad.xls を
オープン
>>618 では、ブックの Open イベントで行わせたい処理なのですが、
Activate イベントでないとできない、ということなのでしょうか?
というのも、実際には AutoLoad.xls は影でオープンしておきたい
ブックなので(加工用のツールバーをしこんである)、
>>622 の
End Sub の前に次の1文を挿入してみたんですが…
Workbooks( Wb.Name ).Activate
無限ループになってしまいました。(w
質問が複数になってしまってすいません。もう少しお付き合い
願えますでしょうか?
>>717 (´-`).。oO( 1日間隔おいたら2日後なんだけど、、、
初歩的なことだと思いますが調べても分からなかったので質問させて下さい セル[A1]の内容をセル[B1]に["]を付けて表示させたいのですが セル[B1]の式に="""&A1&"""とすると最初の””と最後の””が何も無い文字列と認識され、 セル[B1]の表示が"&A1&"となってしまいます 多分["]の前に特殊な記号でも付ければ良いのではないかと思ったのですが上手くいきません ご存知の方ご教授下さい バージョン:エクセル97 容量削減の為かヘルプがインストールされていませんでした・・・&媒体行方不明
>>722 皆の気持ちを代弁してくれてアリガトウ。
>724 ありがとうございました
えと、マクロで、現在アクティブになっているフォームの名前を 取得したいのですが、どうしたらよいでしょう。
>>717 1日間隔をおいたら1日後だろうよ。
24時間後だぞ?
しかし5行に1行なら5行おきっていう人多そうな気がするな。
5行に1行が5行おきなら、2行に1行は2行おきだもんな。
おき=間隔じゃないし・・・
Bookshelfによると > 一日おきに〔=間を一日あけて〕
>>728 今、午後1時です。11時間後が明日です。
1日間隔をおいて35時間後は明日ですか?
Excelの場合 おれなら偶数行奇数行について言うときは一行おきって言うけど
毎日と1日おきの区別がつかないやつがいるのか
>>728 1日おきって、24時間空けてと言う意味じゃないと思うよ。1日が最小単位なんじゃないの?
何時何分何秒であっても、その日を「日」という単位で見れば「1日おいた」というのは2日後と言うことになる。
Excelでマクロ組むときも含め、厳密に24時間間隔を開けなきゃいけない場合は 時間を単位にして算出するが、それ以外は日付から算出して「一日おき(隔日)」ってする。 起点が何時であろうと「10/23」から一日おきは「10/25」みたいに。 どうでもいいが、そろそろスレ違いだと思う。
粘着?
>>737 で、Excelについての相談を聞こうか?
Excel初心者に近い状態なんですが、質問させてください。 AとBに書いた内容の比較を行いたいんですが、 Exel自体にそういう機能は含まれてますか? マクロ書かなきゃダメですか? マクロは使ったことが無いので覚えるところから始めなきゃいけないんですが・・・。
743 :
ゴッホ ◆lkGoghDAZs :04/10/23 21:50:48
>>721 > 1)Personal.xls オープン時に、New したクラスモジュールのイベントに
> Excel のイベントを関連付け(←???)
Personal.xlsオープン時に、Newしたクラスモジュールの、イベント対応の変数myEventに、Excelの全てのオブジェクト(コレクション)を関連付けしています。
> 2)Workbooks.Activate イベント(←これはどのブックでも起きるイベント)
> で、アクティブワ−クブックと同じディレクトリにある AutoLoad.xls を
> オープン
そのブックの名前がDataで始まっていればオープン。
>
>>618 では、ブックの Open イベントで行わせたい処理なのですが、
> Activate イベントでないとできない、ということなのでしょうか?
一行目をPrivate Sub myEvent_WorkbookOpen(ByVal Wb As Workbook)に変えればできますよ。
Application(Excel)の全てのイベントが使用できます。
> というのも、実際には AutoLoad.xls は影でオープンしておきたい
> ブックなので(加工用のツールバーをしこんである)、
>>622 の
> End Sub の前に次の1文を挿入してみたんですが…
> Workbooks( Wb.Name ).Activate
> 無限ループになってしまいました。(w
無駄な実行を防ぐために、End IFの前に記述したほうがいいです。
744 :
名無しさん@そうだ選挙にいこう :04/10/23 23:32:07
↓みたいな感じで、A列の値が同じ場合、同じ行にまとめたいのですが、 何か良い方法はないでしょうか。 A B 1 100 aaa 2 100 bbb 3 100 ccc 4 101 aaa 5 101 ccc 6 102 ccc A B C D 1 100 aaa bbb ccc 2 101 aaa ccc 3 102 ccc
745 :
ゴッホ ◆lkGoghDAZs :04/10/24 00:39:52
>>744 A列の数字がきちんと並んでいることが前提です。
Dim i As Long, myV As String, myCell As Range, SH As Worksheet
Set SH = ActiveSheet
Worksheets.Add , SH
myV = ""
i = 0
For Each myCell In Range(SH.Range("a1"), SH.Range("a65536").End(xlUp))
If myCell <> myV Then
i = i + 1
myV = myCell
Cells(i, 1) = myV
End If
Cells(i, 256).End(xlToLeft).Offset(, 1) = myCell.Offset(, 1)
Next
746 :
名無しさん@そうだ選挙にいこう :04/10/24 00:51:07
Openofficeで今日の日付と7日後の日付を表示させる方法を教えてください。 EXCELでは「TODAY()+7」とする事で7日後の日付を表示できるようですが、 Openofficeでは、「3????」と1900/1/1から数えて何日で表示されてしまいます。 両刀使いの方、何か良い方法はないでしょうか?
自己解決しました。 シリアル値で帰ってきたセルの書式設定で、 数→分類→日付と設定する事で日付に変換されました。
>>745 すごい、できました!
今までの苦労は何だったのだろう。。
ありがとうございました。
750 :
名無しさん@そうだ選挙にいこう :04/10/24 09:43:21
エクセル2000です テキストのみのホームページをエクセルで直接表示は出来ますか? ホームページ(全て選択→コピー) →→ エクセル(マクロ→データベース化) 携帯サイトなので表示少の為、この作業の繰り返し、、、メンドイです 直接開いて、後はマクロ任せの編集にしたい訳で、、、ご指導願います
751 :
750 :04/10/24 09:55:36
連書きゴメン ハードディスクの保存htmファイルをエクセル表示は出来るけど ネット上のhtmファイルをエクセルで表示させる方法が解らないです
752 :
名無しさん@そうだ選挙にいこう :04/10/24 13:10:32
Excelで二枚の画像などを重ねてもおくのが見れるようにみせるには どうしたらよいでしょうか??透けるかんじにしたいのですが・・
あ、半透明のことか!? むりぽ
756 :
ゴッホ ◆lkGoghDAZs :04/10/24 14:30:08
>>750 エクセルを新規に立ち上げたあと、
「データ」→「外部データの取り込み」→「新しいWebクエリ」
の「アドレス」にURIを入れて移動し、取り込みたい箇所の矢印をクリックして、
「取り込み」をクリックする。(テーブルなどあればそれだけ取り込むこともできる)
そのエクセルファイルを保存しておけば、あとは更新すれば最新データをいつでも取り込めます。
(自動更新に設定することもできます)
↑この方法はどうでしょうか?
757 :
HELP :04/10/24 14:49:01
EXCEL VBA で列の挿入をしたいのですが 挿入列にてセルが他の列にまたがってセル結合されていると うまく1列のみの挿入ができません。 Columns(2).Select Selection.Insert Shift:=xlToRight Select時にセル結合された列も選択されてしまうのが 原因みたいです。 何か解決策ないでしょうか?
758 :
ゴッホ ◆lkGoghDAZs :04/10/24 14:53:06
>>757 Columns(2).Insert Shift:=xlToRight
で、選択せずに、行を挿入するけど、これでどうでしょうか?
759 :
HELP :04/10/24 15:07:37
ゴッホさんありがとうございます その方法で解決できました( `ー´)ノ また、次のステップでつまづいていますが、、、
760 :
名無しさん@そうだ選挙にいこう :04/10/24 21:25:00
こんな質問はとっくに既出かもしれませんが… エクセルで表示した複数のグラフを同じ大きさに あわせることはできますか?
>>760 グラフを全部まとめて選択して、右クリックから「オブジェクトの書式設定」
あとは「サイズ」タブで高さと幅を指定する
762 :
名無しさん@そうだ選挙にいこう :04/10/24 21:48:11
それだとグラフの外側の枠は同じ大きさになりますけど、 グラフ自体は少し大きさが違っていたりもします。。 やはり目視による調整しかないのかなぁ?
>>762 それは無理じゃないかな。私はやり方知らない。
グラフエリア内にはいろんなグラフ要素があって、それぞれ個別に大きさ変えたりできるから。
どこを取って”グラフの大きさ”というのか…。
764 :
760 :04/10/24 22:09:21
グラフの大きさってのは、四角形だったり円だったりのそのエリア部分 のことを言っています。それ以外の要素を全て同じにすればグラフは同じ 大きさになるのかなぁ?でも、要素を同じにするって言っても値をそろえられる 要素とそうでない要素(凡例の位置とか)もあるからやはり無理でしょうか(><)
765 :
名無しさん@そうだ選挙にいこう :04/10/24 22:37:56
Excelを使って物理量の単位を気にせずに計算し、最後に期待する単位に直したいのですが… 複雑な単位換算って出来るのですか?
767 :
765 :04/10/24 23:09:26
>>766 おぉ、CONVERT関数を使うのですね。
でも、m^2(平方メートル)などの面積を、cm^2への換算には使えないんですか?
768 :
名無しさん@そうだ選挙にいこう :04/10/25 01:19:57
a1,a2,a3,a4・・・にある偶数ばんめのデータ(つまりa2,a4,a6・・・)をb1=a2, b2=a4,b3=a6としたいのですが、これはVBAを使わない場合どういうふうにすればいいのでしょうか?
=INDIRECT("A"&ROW()*2)
770 :
ゴッホ ◆lkGoghDAZs :04/10/25 01:27:02
>>768 B1に「'=A2」、B2に「'=A4」と書いて、その2つのセルの選択し、B2のセル右下のフィルハンドルを、
数式を入れたい行までそのままドラッグ。
B列を選択し(枠のBと書いてあるところをクリック)、「データ」→「区切り位置」をクリックし、何もせずそのまま「完了」をクリック。
771 :
名無しさん@そうだ選挙にいこう :04/10/25 01:48:31
IEからデータをコピーしたらシートにチェックボックスまでコピーされてしまいました。 これを削除する方法はないでしょうか? 行や列の削除では消えませんでした。右クリックも出来ません。
772 :
ゴッホ ◆lkGoghDAZs :04/10/25 01:54:15
>>771 表示→ツールバー→コントロールボックス
一番左のデザインモードをクリックし、
チェックボックスをクリックし、
Deleteキーを押す。
>>771 デザインモードにして選択してDeleteキーを押す
774 :
名無しさん@そうだ選挙にいこう :04/10/25 02:08:18
775 :
750 :04/10/25 06:24:59
>>756 ゴッホさん、アリです
更新をマクロボタンで出来るのは助かります
後は一連の作業のマクロを組んでボタン一発!!。ドウモです
776 :
名無しさん@そうだ選挙にいこう :04/10/25 10:12:01
777 :
名無しさん@そうだ選挙にいこう :04/10/25 10:58:22
質問ですが、 セル内の文字間設定ってありますかね? OCR用の印刷画面作ってるんですが、 リンクさせた数字がうまく枠に入らなくて・・・
778 :
名無しさん@そうだ選挙にいこう :04/10/25 11:27:20
a1=0,a2=1,a3=1,a4=2,a5=3,a6=-3,a7=-3,a8=-3・・・と前の値に比べて大きくなるか、等しいか、小さいかというふうに変化する数があるんですが、 「前の数に比べて大きくなるか、ひとしいを一つはないしは、いくつかはさんで大きくなる」に8を対応させ, 「前に比べて小さくなるか、ひとしいを一つはないし、いくつかはさんで小さくなる」に9を対応させたい。 つまり上の場合だったらb2=8,b3=8,b4=8,b5=9,b6=9,b7=9,b8=9・・・・ としたいわけです。これはVBA使わずに、行うにはどうしたらよいのでしょうか?
>778 B1に =IF(A2<A1,9,8) B2に =IF(A2=A1,B1,IF(A2>A1,8,9)) B3以降はB2のコピペ B5はA4⇒A5(2⇒3)だから8では中廊下
780 :
名無しさん@そうだ選挙にいこう :04/10/25 15:53:20
一行おきに(偶数セルのみを)足し算するには どのようにすれば良いのでしょうか? お願いします。
781 :
名無しさん@そうだ選挙にいこう :04/10/25 16:21:57
Excel2003にIEから文字データをコピーしようとするとデフォルトがhtml形式に なってしまいます。 テキスト形式でコピーしたいので今は形式を選択してコピーしているのですが、 デフォルトをテキスト形式のコピーにする方法は無いでしょうか?
783 :
名無しさん@そうだ選挙にいこう :04/10/25 19:46:43
784 :
名無しさん@そうだ選挙にいこう :04/10/25 19:53:30
質問なんですけど、 会社で使う表を家のPC作って、FDに保存。会社のPCでファイルを開こうとしたら、 「アクセスできません。ファイルは読取専用であるか,または読取専用の場所にアクセスしようとしています。 またはサーバ上に保存されているドキュメントから応答がありません。」 となってしまい、開けませんでした。EXCELは家のも会社のも97です。 原因はなんでしょうか?
785 :
784 :04/10/25 19:57:56
上の補足ですが、読み取り専用にはなっていませんし、FDが壊れているわけでもないです。 よろしくです。
786 :
名無しさん@そうだ選挙にいこう :04/10/25 20:00:54
A1=3,A2=3,A3=−4,A4=−5,A5=−4,A6=9,A7=−9,A8=11、A9=−2‥ という数列で負の数のちょうど前の正の数(この場合はA2=3とA6=9とA8=11)の 大小を出てきた順に比較するため(この場合は、A2=3とA6=9を比較し、A6=9とA8=11を比較したい) にはどのようにしたらよいのでしょうか?
Excel2000を使って個人データを作ってるんですが (A列に個人名・B列以降は住所とか電話番号) 個人別に、カード(バインダーと言うのか)のように バラバラにする事は出来ないでしょうか?
788 :
名無しさん@そうだ選挙にいこう :04/10/25 21:37:07
>784 Excelファイルが壊れていると思う。 FDに書込み途中で、FD抜いたりしていませんか? 私なら、メールの添付で会社に送ります。
789 :
名無しさん@そうだ選挙にいこう :04/10/25 21:50:03
>>788 今スキャンしてみたら、データが書き込まれているクラスタにエラーがありました。
そういえば、急いでFDを抜いたので、抜く時まだ、ディスクがカシャカシャいってたような・・・。
多分それが原因かなと思うので、明日また試してみます。
会社のPCがインターネットに繋がっていないので、メール添付はできないです。
ありがとうございました。
790 :
名無しさん@そうだ選挙にいこう :04/10/25 22:10:40
A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 C4 ・ ・ ・ と続き、A1〜C2、A3〜C4、・・を1グループとしてまとめて並び替えを行いたいのですが、可能なのでしょうか?
791 :
名無しさん@そうだ選挙にいこう :04/10/26 00:44:29
Excel2000VBAを使用してアプリを作っています。 ユーザーフォームのマルチページについて2つ質問させてください ○あまりパソコンに詳しくない人間でも、視覚的に分かりやすいよう マルチページ化したユーザーフォームの1ページ目は「赤」、2ページ目は「青」のように 任意の色に変えたいのですが、プロパティウインドウではページの色を変えられません。(背景?部分の色が変わるだけ) どのようにして任意の色にするのでしょうか? ○プログラムから任意のページを表示するようにするにはどうすればいいのでしょうか? 例えば特定の処理をすると、タブをクリックしなくても2ページ目に移動するようにする プロパティウインドウから推定して userform.multipage.page2.activate=Enabled としてみたりしたのですが何の反応もありません。 プロパティには無いのでしょうか? 以上二つどうかよろしくお願いします。
>>791 >任意の色に変えたい
Pictureプロパティに、背景色にしたい色の画像(数ドット分)を指定して
PictureSizeModeプロパティをFmPictureSizeModeStretchにするのは
邪道でしょうか。
>任意のページを表示するようにする
Me.MultiPage1.Value = 0 で1ページ目。=1なら2ページ目。
793 :
名無しさん@そうだ選挙にいこう :04/10/26 02:00:52
セルに入力した文字列と同じ名前のシートから参照する方法は? 2000年〜2004年というシート名があります。 メインのシートで2004と入力すると2004年のシートからデータを参照する方法です。 よろしくお願いします。
>>782 返事が送れましたが、ありがとう御座いました。
795 :
781 :04/10/26 09:52:02
どなたかよろしくお願いします。
796 :
名無しさん@そうだ選挙にいこう :04/10/26 10:28:29
2軸上の折れ線グラフを作った後に縦軸が気に食わないので、右と左を逆転させたいのですが、方法がわかりません。 方法がわかる方おながいしまつ。
797 :
名無しさん@そうだ選挙にいこう :04/10/26 10:30:09
798 :
名無しさん@そうだ選挙にいこう :04/10/26 11:16:19
シートで作成できるフォーム(コントロールツールボックスではない方)の 文字サイズを変更したいのですが出来ないのでしょうか。
799 :
798 :04/10/26 11:29:10
自己解決ですができないみたいですね。 あまり使われてないかな。
IEの右クリックに出る「Excelにエクスポート」って設定で消せないんでしょうか?
ピポット テーブルを使って、社員の年齢分布グラフを作ろうとしています。 ところが、グループで年齢層をまとめると、その年齢層が居ないところは 表示から抜けてしまします。なにか良い手はないでしょうか? 例えば 元のデータは下記のようなデータです。 id 所属 種別 年齢 氏名 1 工場A 営業 20 なんとか1 2 工場A 営業 32 なんとか2 3 工場b 間接 26 なんとか3 4 工場A 営業 45 なんとか4 5 工場A 営業 60 なんとか5 ピポットテーブルウィザードでレイアウトを下記のように設定します。 ページ 所属 行 年齢と種別 データ id を配置してあります。 下記、実行例です。 所属 A工場 数値の個数/id 年齢 種別 合計 20-24 営業 10 間接 2 工場 2 25-29 営業 10 間接 3 工場 30 30-34 営業 2 間接 34 工場 32 といった感じまでグループを使って作ることができました。
802 :
名無しさん@そうだ選挙にいこう :04/10/26 12:20:44
しかし、例えば人数の少ない所属 B工場などをページで指定すると 25歳から29歳までの人がいなければ、当然 所属 B工場 数値の個数/id 年齢 種別 合計 20-24 営業 10 間接 2 工場 2 30-34 営業 2 間接 34 工場 32 と25-29が抜けて表示されてしまします。 ここを 25-29 営業 0 間接 0 工場 0 と表示して、あとでグラフにした時に、年齢的に薄い人数の所がハッキリと わかるようにしたいのですが、何か良い方法をおしえてもらえないでしょうか。 excel 2002を使っています。よろしくおねがいします。
選択しているシートのAからD列をCSV形式で任意の名前で保存したいのですが
見積書(Sheet 1)の各項目をコピーして Sheet 2に同一行に貼り付けるマクロを書いてみたんですが 複数の見積書ファイル(1ファイルには1Sheet)に 適用させるにはどうやれば良いんでしょうか?
ActiveWorkbook.SaveAs FileFormat:=xlCSV としてFileNameを省略してもMyDocumentにできてしまいます。 カレントディレクトリに保存するにはどうすればよいでしょうか?
すみません言葉が間違ってました。 カレントではなく開いているbookと同一階層のディレクトリにです
808 :
名無しさん@そうだ選挙にいこう :04/10/26 16:08:11
A列 ■ 10 4 5 6 1 A列を足した結果を■に入れたいのですが、sum(A;A)とすると循環になって できないです。かといってsum(A2:A10)とかやっても行は1日に数行増えるので いちいち増やすのは面倒です。 sum(A2から文字が入ってるところ)までという感じのことはできないのでしょうか? もしくはほかにいい方法があれば教えて下さい。
809 :
名無しさん@そうだ選挙にいこう :04/10/26 17:09:26
Excel2000を使っています。 選択した範囲の「数式」をクリップボードへコピーする方法はないものでしょうか? 「編集→コピー」ではセルの値はコピーできますが、値を計算しているセルの数式の内容はコピーできません。
>>808 =SUM(A2:A65536) とか
65536はシート最終行、100とか500とか間に合えばOK
>>809 数式バー内でコピー
>>809 Ctrl+Shift+@ で数式表示に切り替えてコピー
>>810 sum(A2から文字が入ってるところ)までという感じのことはできないんですね。
ありがとうございました。
813 :
ゴッホ ◆lkGoghDAZs :04/10/26 20:04:09
>>802 「フィールドの設定」→「年齢」→「データのないアイテムを表示する」は?
>>805 意味がちょっと…。
具体的に例を出してください。あと、マクロコードも見せてください。
>>807 名前どうするの? 上書きと同じになっちゃうよ?
814 :
名無しさん@そうだ選挙にいこう :04/10/26 20:42:23
A B C 1 あ 2 あ 3 あ 4 あ と、A列にだけデータが入っている状態で、VBAでデータが入っていない行、5行目以降を選択する方法はありますか?
>>813 >>813 ありがとうございます。
元々のSheet 1のみの見積書ワークシートがあり
それをSheet 2にコピーするようにマクロを保存しました。
同じような、Sheet 1のみのファイルが200個ほどありますが
そのファイル内で同じようにコピーしたいのです。
Sheet 1
I4:日付
B5:見積先会社名
B13:品名
C12〜E12:数量
F12:単価
Sheet 2
B2:日付
C2:見積先会社名
D2:品名
E2〜G2:数量(E3〜G3、E4〜G4 同)
H2:単価(H3〜H4 同)
マクロは、長くなり顰蹙を買いそうなので割愛させて頂きます。
ワークシートの追加だけ禁止にすることは可能でしょうか?
>>793 =IF($A$1="","",INDIRECT("'"&$A$1&"年'!A1"))
>>814 Range("A65536").End(xlUp).Offset(1).Select
820 :
名無しさん@そうだ選挙にいこう :04/10/26 23:05:15
<BODY>タグなどのHTMLを含むタブ区切りテキストファイルをExcel(2000)で読み込むと、 1セルで全て連結して表示されてしまうのですが、これを回避できないでしょうか? 文字列ごとにダブルクォートで囲んだり、=をつけても駄目でした。
>>820 〜.html を 〜txt にリネームして
Excel を起動して、ファイルメニューから開き、
カンマ区切りを指定する。
ごめん。タブ区切りを指定する。
823 :
名無しさん@そうだ選挙にいこう :04/10/27 00:20:36
thisworkbook.path
824 :
名無しさん@そうだ選挙にいこう :04/10/27 00:35:49
>>821 ありがとうございます。
でもタブ区切りの項目がなかったです。ファイルを開くダイアログのファイルの種類を選ぶところですよね。
ちなみにファイル名はもとから「〜.txt」で、
"データ1" (tab) "データ2" (tab) "データ3" (tab) "データ4"
"データ5" (tab) "データ6" (tab) "データ7" (tab) "データ8"
こんな感じにデータがつまってるんです。で、HTMLタグがまざることもあるという。
気づいたんですが <BODY> とだけ書いたテキストファイルをExcelで開くと
なんにも表示されませんね。わざわざHTMLだと解釈してくれるらしい。
素直に<BODY>と表示してほしい・・・
825 :
名無しさん@そうだ選挙にいこう :04/10/27 01:03:04
VBA初心者です。 エクセルに1000行くらいのデータがあって・・・ 1.キーワードを入力すると該当行のデータが選択され、 2.そのデータをUserformに表示させて、 3.その紙をプリントアウト をしたいのですが、本などを参照する以前にどの章をを参照するかすらよく分かりません。 それぞれVBAのどの機能を使用したらいいか教えてください。
選択範囲中、二番目に小さい数字 を選ぶのってどの関数でしょうか? minのヘルプ見たり、関連項目みたりしたけど探しきれなかった・・・ おやすみ前でしょうが、よろしくお願いします。
Office2003で作ったExcelファイルを、Office2000で問題なく開くことは可能ですか?
>>828 通常の使用なら問題は無いはず。
VBAなんかで新機能もあるので、その辺は・・・
不安なら、Excel2000の形式で保存すれば良いかと
>>827 smaaaaaaaallllllllllllでしたか…
今日はゆっくり眠れそうです。ありがとうございました、おやすみなさい。
831 :
名無しさん@そうだ選挙にいこう :04/10/27 09:59:46
入力規則のリストで会社名を選択し、それに合う条件(何々課の誰々等)を、 別のセルにリストで選べるようにする方法ってありますか? 質問が下手ですいません。。。
740です。
>>741 さんに教えてもらったソフトではダメでした…。
私の書き方も悪かったようで、すみません。
A列とB列の比較をしたい場合…という事なんですが…。
デフォルト機能で出来ますでしょうか?
>>832 比較の正確な意味(例えば、単なる大小比較なのかとか)
比較してどうしたいのか(例えば、結果を別の列に出力したいとか)
を書いた方がレスつくと思うよ。
できれば具体例だして
EXCEL VBAをいじっています。 ファイルのプロパティで「作成日」って「DateCreated」 だと思うのですが、「更新日」って何になるのでしょうか?
835 :
low- :04/10/27 13:13:17
WindowsXPでExcel 2003を使っています。 質問させてください。 参照先のセルで指定しているセルを文字列であらわすことは できるのでしょうか? 例えば、B2で「=A1」と入力したとします。次にC3など他のセル で、「B2で指定しているセル」という情報を入力し、「A1」と 表示させることは可能でしょうか?
>>834 作成日も更新日もBuiltinDocumentProperties
837 :
名無しさん@そうだ選挙にいこう :04/10/27 16:05:06
WindowsXP・Excel 2003です。 今パソコンに入ってる全部のエクセルファイルの中の文章を検索したいのですが が、タイトルではなく、中身の文章です。 お願いします。
838 :
名無しさん@そうだ選挙にいこう :04/10/27 16:45:09
>>837 ファイルを開く−ツール−検索がありますよ。
2003になかったらすいません。
>837 OSの健作を使う。 ファイル名を *.xls にして ファイルに含まれる単語または句を指定
840 :
名無しさん@そうだ選挙にいこう :04/10/27 16:48:27
質問なんですがExcel2000でVBAのテキストボックスの テキストを選択していくと意図しない箇所まで選択反転するのですが これは仕様なんでしょうか。 設定できるところがあれば教えてください。
841 :
ゴッホ ◆lkGoghDAZs :04/10/27 20:00:42
>>815 そのマクロが保存されてるファイルを開いたまま、別のファイルを開いてアクティブにし、
そのまま実行すれば、できると思うんだけど。
もしくは、初めからPersonal.xlsに保存しておけば、いつでも他のファイルで実行できるけど。
こういうことかな? それとも、全てにいっぺんに入力したいの?
下のは、開いている全てのブックに実行。(非表示のブックがPersonal以外存在しないことが前提)
Dim myBook As Workbook
For Each myBook In Workbooks
If UCase(myBook.Name) <> "PERSONAL.XLS" Then
ここにマクロ
End If
Next
>>841 ありがとうございます。
全部で200個ほどあるので、50個ずつでも開いておいてこのマクロを
実行すれば良いんですね。
欲を言いますと、全ファイルを1フォルダに入れておいて
マクロ側にこのフォルダのパスを登録、フォルダ内のすべてのファイルで
同じ作業ができれば(全ていっぺんに入力)良いのですが。
>>819 どうもでした
そうですね、Rangeをそうすれば良かっただけなんですね、、、、、、、、orz
844 :
ゴッホ ◆lkGoghDAZs :04/10/27 20:31:41
>>842 Dim i As Long, myDir As String, myBook As String
i = 1
myDir = "C:\Documents and Settings\Owner\デスクトップ\ゴッホ\" '←こんな感じで、該当のフォルダ。最後の¥マークを忘れずに。
myBook = Dir(myDir & "*.xls")
Do Until myBook = ""
Workbooks.Open myDir & myBook
Workbooks(myBook).Sheets(1).Activate
ここにマクロ
myBook = Dir
i = i + 1
Loop
このマクロは、Personalに記述してください。
ただ、200個もあると、時間かかるかもしれないけどね。
200個も同時に開いてエラーにならないだろうか…。
セーブして閉じるっていうのを、加えたほうがいいかもしれない。
845 :
ゴッホ ◆lkGoghDAZs :04/10/27 20:33:28
↑Workbooks(myBook).Sheets(1).Activate は、いらなかった。 削除しておいてください。
すいません、これもっとすっきりさせることはできないでしょうか・・・・ Sub A() Range("A65536").End(xlUp).Offset(1).Select Rows(ActiveCell.Row).Select Range(Selection, Selection.End(xlDown)).Select End Sub
847 :
ゴッホ ◆lkGoghDAZs :04/10/27 20:36:20
>>842 あと、841のやつ、
myBook.Sheets(1).Activate
って書くの忘れた。
ここにマクロ の直前につけたしてください。あれ使うなら。
848 :
ゴッホ ◆lkGoghDAZs :04/10/27 20:43:29
>>846 range(Range("A65536").End(xlUp).Offset(1),range("a65536")).entirerow.select
850 :
ゴッホ ◆lkGoghDAZs :04/10/27 20:46:43
>>849 実際に試したら、
Range(Range("A65536").End(xlUp).Offset(1), Cells(65536, 256)).Select
こっちのほうが、動作速かった。
851 :
名無しさん@そうだ選挙にいこう :04/10/27 21:24:19
エクセルの組み込みDialogが表示され、 キャンセルボタンが押されたことを 取得することはできますか? 特定のダイアログを自分から表示させるなら、 chkBtn = Application.Dialogs(xlDialogPageSetup).Show If chkBtn = False Then Exit Sub End If などができると思いますが、 Application.Dialogs(xlDialogPageSetup)のxlDialogPageSetup を指定せず、自分の意図しないどんな組み込みダイアログが表示されても、 キャンセルを押されたらマクロを終了させたいです。 Application.DisplayAlerts=falseでダイアログ自体表示させないのは、 最終手段にしたいと思ってます。 よろしくおねがいします。
シートを追加させない方法で、次の方法を考えました。どうでしょうか?他に何かいいやり方ありますか? ブックに対するイベントプロシージャで Private Sub Workbook_NewSheet(ByVal Sh As Object) Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True End Sub こんな感じにしてみました
日本のExcelとアメリカのExcelは規格が違うのですか? 自分のPC(日本製)でExcelで表を作ってフロッピーにおとし、会社のPC(アメリカ製)で立ち上げたら表のサイズが 大きくなっていて結局直りませんでした。原因もしくは直し方分かる方教えてもらえませんか?
>>853 表のサイズ?
印刷したとき?画面上で?セルの幅か?高さか?
855 :
名無しさん@そうだ選挙にいこう :04/10/27 22:08:38
>>854 表のサイズです。家のPCだとまともなんですが会社のPCの画面上では幅が広くなってるんです。
ちなみに印刷するとその駄目なま出てきます。
>>792 できました!どうもありがとうございます!!
よもやvalueとは全く気が付かなかった・・・
>>855 会社のPC、WINやExcelもアメリカ版なの?
>855 自分ちのモニタと会社のモニタの解像度が違うだけでは?
860 :
名無しさん@そうだ選挙にいこう :04/10/27 22:21:57
861 :
名無しさん@そうだ選挙にいこう :04/10/27 22:23:39
>>858 そうかも知れないから確認してみます。ありがとう。
862 :
名無しさん@そうだ選挙にいこう :04/10/27 23:19:05
>859 ワロタ
>>824 ファイルの種類はテキスト。
区切り文字の指定をするウィザードが開くので
「タブ」を指定する。
864 :
・・ :04/10/27 23:45:13
EXCELをビジネスで使う程度に勉強するための良い本ありませんか?
>>864 「ビジネスで使う程度」にってどの程度よ?
普通に売ってる本、どれもが該当するだろう。
866 :
・・ :04/10/27 23:51:47
マクロ使う程度ですね。
店で売ってる一番分厚い解説本でOK
>>863 824じゃないけどウィザードが出てこない・・・
869 :
名無しさん@そうだ選挙にいこう :04/10/28 00:31:49
>>864 あなたのレベルは?
1,やっとSUMが使える
2,IFがネストで使える
3,ピボットテーブルが使える
4,配列数式が自由に書ける
5,テーブルが理解できる
6,マクロorVBAがわかる
どれよ
>>864 そんな曖昧な質問で答え帰ってくると本気で思ってるんですか?
書き込む前に一度読み直してからしてほしいですね
>866 マクロ使う程度て、自動記録ならできるのか自分で書けるのかどっちよ。 自動記録すらできないならそのへんのExcel入門書、 自動記録や自分で書いたりできるならExcel VBAの本買っておけば?
872 :
・・ :04/10/28 01:21:08
>871 少しぐらいならかけます。 あまり分かりませんが・・・。 >869 2〜3の間ですか・・(汗
横ですが、 > 5,テーブルが理解できる このテーブルとは何のことですか?教えてください。
検索すれば?
>>872 >ビジネスで使う程度
これも仕事の内容によるし一概に言えないと思うんだけど・・・
もっと具体的に質問しないと意味ないよ
考えてから書き込むようにしてください
876 :
851 :04/10/28 07:02:38
すみません、851のいい解決法 ありませんか?
877 :
ハイパーマン :04/10/28 07:31:39
EXCELにハイパーリンクを埋め込む方法について ファイルへのリンクはできるのですが、フォルダーへのリンクを埋め込む方法はない ですか? アクセスなんかはあるみたいですが。 セルをクリックした時にフォルダーを開きたいのですが、何か良い方法はないでしょうか?
>>874 873です。
テーブル検索してもこれ!と思うものが判りません。
通常tableといえば、表を指すと理解しています。
あぁ?テーブル機能のこと?
>>877 ハイパーリンクの挿入ダイアログのファイル名の所に
フォルダ名を直接入力すればできるよ。
EXCELで、終了など、割り当てられているショートカットキーを 自分なりに変更する事は出来ないでしょうか?
881 :
ハイパーマン :04/10/28 15:52:33
>879 できた。ありがとう。
882 :
名無しさん@そうだ選挙にいこう :04/10/28 16:21:09
エクセルで初めて見ましたが サマリーってなんですか? 計算式が組まれてなくても別のシートに反映するんです! マクロも組まれてません どうやって作ったんでしょうか? セルの横にデータフィルターで出てくるような項目を選ぶ リストが出てきたり・・2000ですが・・ これって?どういう仕組みでしょうか?
セルに名前をつけていろんなセルから参照した後、 その名前を変更するにはどうしたらよいのでしょうか? 例えばセルA1に20の値を入れて範囲1という名前をつけ、 B2で範囲1を指定します。その後、A1を範囲2という名前に 変更しようとすると、A1は範囲1と範囲2のダブルネームに なってしまいます。
紛らわしい書き方になってしまった。 ↑ではB2は範囲1と入力され20と表示されます。この状態でA1の 範囲1という名前を削除すると、B2はNAME?という状態になりますが、 B2が範囲2に自動的に修正されるにはどうしたらよいでしょうかということです。
>>883 [挿入(I)]-[名前(N)]-[定義(D)]
あとはダイアログ操作
886 :
名無しさん@そうだ選挙にいこう :04/10/28 18:36:07
10×10のセルの中に、1と0の数字がランダムで入ってるとき、100個のセルの中にある0の数字の入ったセルの個数を返す関数ってありますか?
887 :
名無しさん@そうだ選挙にいこう :04/10/28 18:41:40
windowsXP Excel2000 EUCで記述された、CSV形式のファイルをExcelで見たら文字化けしてるのですが、 どうやってEUCに切り替えられますか?ヘルプでキーワード検索しても 「文字コード」 「EUC」 どちらも期待の検索結果が得られません。 どなたか宜しくお願いします。
あ。すいません。 1と0だけじゃなくて、0〜9の数字がランダムに入ってる場合の特定の数字が入ってるセルの個数でした・・・
>885 Excel2000ですが、古い名前を削除すると、それを参照していたセルは 新しい名前への参照に置き換わらず、#NAME?となりました。
892 :
名無しさん@そうだ選挙にいこう :04/10/28 20:21:19
マスター1、マスター2、マスター3というシートを持っているブックで、マスター1の前にのみシートを追加できるようにするにはどうすればいいでしょうか? また、マスター1、2、3の並び順とシート名も変えられないようにしたいのですが。 無理ですかね?
893 :
名無しさん@そうだ選挙にいこう :04/10/28 20:46:27
桐9-2005 近日公開
>892 マスター1シートの前にシートを挿入する方、 Worksheets.Add Before:=Worksheets("マスター1") はどうだろう?
>891 黄色いのはバナナです。とA1に定義します。 B2で黄色いのは何ですか?と訊くとバナナと答えます。 次に、滑るのはバナナです。とA1に定義します。2重定義です。 その後、黄色いのはバナナ、という定義を消しました。 改めて黄色いのは何ですか?と訊ねたら、シラネーヨと答えます。アタリマエ 滑るのは何ですか?と訊ねるべきで、そこまで面倒見切れません。 質問箇所が拓さんあって面倒なら、置換を使うべきでしょう。
複数のPCで共有しているブックのシートが削除できません。 試したいことがあってテスト用のシートを作成したのですが メニューのシートの削除が薄くなっていて選択できません。 仕方が無いので右端に移して非表示にしておきました。 他のシートも削除できないです。(他のブックのシートは削除できます) プロテクトか何かがかかっているのでしょうか?解除できますか? 自分は97を使っていますが新しいバージョンを使っている人もいると思います。
>>896 誰か見てるから削除できないだけ
権限があればそのままの状態でも削除できる
>>897 ありがとうございます。解決しそうです。
朝か昼休みにやってみます。
899 :
名無しさん@そうだ選挙にいこう :04/10/28 22:46:49
1つのシートに表が3つあるとします。 1つの表は名簿表で出席番号・名前・性別が入力されています。 性別は*が付いてるか付いていないかで男女を判断します。 残りの表二つは男子抜き出し・女子抜き出しの表です。 *が付いてる人の名前・出席番号を男子抜き出し表・ *が付いていない人の名前・出席番号を女子抜き出し表に写し出すように するにはどういった関数を用いればよろしいですかね?説明が意味わからなくて すいません。
>>899 手作業だけどオートフィルタで男子抽出→コピー、女子抽出→コピーが
いちばん早いんじゃないかと
>895 >アタリマエ 参照はポインタによって保持され名前は書き換え可能と思っていたので、 URLの変更のような単純なこととは思ってませんでした。 とりあえずご返答ありがとうございます。
902 :
887 :04/10/29 00:57:13
>902 文字コードの変換が出来るテキストエディタで変換後、Excelに読み込ませる
905 :
887 :04/10/29 02:57:55
>>903-904 ExcelってEUCにすら対応してないんですか・・・・orz
こんなにショボイソフトだとは思わなかった
実はPerlやPHPで使ってるCSV形式を、気まぐれでexcelからも読もうと思っただけなんです。
回答ありがとうございました。
>>905 サーバからDLするときコード変換しなかったの?
907 :
名無しさん@そうだ選挙にいこう :04/10/29 05:30:42
>>894 それだと、マスター1、2、3の並び順を変える人が出てくるような・・・・
ほかに方法はないでしょうか?
検索のときにキーワードを複数の単語を指定することはできますか? ひとつだけでは絞り込む精度が良くないので複数にしたいのですが、 キーワードとキーワードの間に半角スペースなどを打ち込んでも、 半角スペースも含んでひとつのキーワードと認識してしまうらしく、 うまく検索できません。何か方法があれば教えてください。
>907
やりたい事は3つあるわけでしょ。
1:特定のシートの前に新規シートを挿入
2:それ以外の場所への新規シート挿入の禁止
3:シートの名前順で並び替え
1は>894で。
2は分らない。分る人ヨロ。
3は
ttp://www2u.biglobe.ne.jp/~arking/macro_2/test/050.txt の
ki050 ってヤツを使わせてもらえば?
2はマスター2、マスター3の前後へシート挿入されたらメッセージボックス出すようにして
キャンセルさせるように動作するマクロ組めばいけるのかな。わかんね。
3はどんなタイミングで並び替えさせるかはっきりさせればもっとアドバイスもらえるんじゃない?
>>908 編集メニューの「検索」ではなくオートフィルタで絞り込む。
オートフィルタをオンにして各列の「▼」から「オプション」を選べば2つまで条件が設定可能。
それ以上複雑なことをやりたければ、データメニューの「フィルタオプションの設定」を使う。
後者はちょっと使い方にクセがあるが。
911 :
名無しさん@そうだ選挙にいこう :04/10/29 12:13:48
VBAでの印刷設定で、ヘッダーやフッターに変数用いることはできないのですか? .CenterHeader = "&""MS Pゴシック,太字""&14" 対象月 & "月度集計表" というのを書いたのですが、コンパイルエラーになってしまします。 対象月は事前に定義してあります。
>>894 起動時にブックを保護する
Private Sub Workbook_Open()
ActiveWorkbook.Protect Structure:=True
↓↓↓
シートを追加するときはいったん解除してから。
privete sub kouda()
ActiveWorkbook.Protect Structure:=false ’解除
’シートの追加とか並び替えとか
ActiveWorkbook.Protect Structure:=True ’再保護
こんな感じじゃどうでしょうか?
>>844 ありがとうございます。
マクロを挿入してやってみました。
コンパイルエラー:End Subが必要です。と出ちゃいました。
Sub mitsumori()
Dim i As Long, myDir As String, myBook As String
i = 1
myDir = "C:mitsumori\" '←こんな感じで、該当のフォルダ。最後の¥マークを忘れずに。
myBook = Dir(myDir & "*.xls")
Do Until myBook = ""
Workbooks.Open myDir & myBook
Sub copy()
〜マクロ〜
myBook = Dir
i = i + 1
Loop
End Sub
excel2000 os:xp enterキーを押すと選択中のセルの真下に移動するのですが、 これをセルの右に移動させるにはどうしたらいいですか?
>914 915の言うようにTab使う癖つけちゃえばいいと思うけど、どうしてもってことなら ツール - オプション - 編集 「入力後にセルを移動する」で「右」
>912 質問者(>892)じゃないけど、ブックの保護って使ったこと無かったから 目ウロコ。勉強になった。ありがとう。
919 :
名無しさん@そうだ選挙にいこう :04/10/29 18:06:22
下記のようなデータファイルを… −−− 優香 2 リカ 1 亜弥 3 −−− ↓のような形に変換したい (ピポットの逆のような事をしたい) のだが、よい方法はないですか −−− 優香 優香 リカ 亜弥 亜弥 亜弥 −−− (^・x・^)
920 :
名無しさん@そうだ選挙にいこう :04/10/29 19:24:05
マクロでやりなはれ。
A B ←のようなデータが存在し、 1 123 1 A列の中かに「ある数値」が存在するかどうかを 2 252 2 検索し、存在する場合はB列の数値を返す、 3 654 4 と言うのは可能でしょうか?存在しない場合は 4 234 1 0を返したいです。 5 742 2 例) 234 → 1 999 → 0 654 → 4
>>921 俺ならピボットテーブルで集計するかなぁ
スミマセン質問させてください。 変な話ですが、エクセルファイルを エクセル以外のなにがしかのソフトで 書き込み、保存ってできないでしょうか 面接受ける会社から履歴書書けって エクセルファイルが送られてきたんですよ。 まぁ使えはするんだけど持ってないんだよなぁ 持ってないって返信してもいいけど 少しでも印象悪くしたくないし、 出来ればキチンと書いて返信したいんです。 なにかお知恵がありましたらお貸しください。
素晴らしいアイディア。 ありがとうございます。 いってきま。
>>923 OpenOfficeでググってみなされ
>>913 Sub copy()
↓
Call copy
関連レス
>>896-898 今日やって見ましたがダメでした。
試しにローカルに複製を作ってみましたがそちらでもシートの削除が出来ません。
ブックへのショートカットを作ったわけではないですよ?
タイトルバーには拡張子の後に[共有]と書かれています。
共有を解除すれば削除できるのかもしれませんが
変更履歴がクリアされる仕様らしいので私の独断では出来ませんでした。
何かいい方法はないでしょうか?
すみません、久しぶりにExcelを起動したところ キーボードの矢印キーでカーソルが動いていたはずが、スクロールしてしまいます 元の矢印を動かせばカーソルが動くようにするにはどうすればいいでしょうか?
IF関数の条件式が「偽の場合」もしくは「エラーの場合」『0』ってのはでき無いのでしょうか? A1=10 B1=0として IF(A1/B1=1,1,0) は#DIV/0!となるのを回避したい次第です。(1or0を返したい)
931 :
名無しさん@そうだ選挙にいこう :04/10/30 00:13:57
ScrollLockを解除汁!
>>930 それは IF(A1=B1,1,0) でいいんじゃないの?
>>931 やっべ やっべ すんません ホントすみません ありがとうございます
スクロールロックついてたとは… そりゃあ動きませんね…
お騒がせしました 失礼します〜
934 :
名無しさん@そうだ選挙にいこう :04/10/30 00:21:11
Excelを使用していて稀にデータが消失することがあります。 エラーの類いが一切なしで後半の行がそっくり消えてしまうことが、ここ半年で3度ほどありました。 原因は何が考えられるでしょうか? MAC OS X 10.2.8 Excel 10.1.6 です。よろしくお願いします。
>>930 ちょっと変なやり方。
=IF(B1<>0,N(A1=B1),0)
普通に
=IF(AND(A1=B1,B1<>0),1,0)
でいいと思うけど。
>>935 すんません、930で書いたのは「エラー」が帰ってくる単純なサンプルを書いただけでした。
実際はVLOOKUP関数で検索型FALSEの場合なんです。
検索値がデータ内の数値に一致しない場合(FALSEの場合)は「0」を返す、ってのを
実行したいのですが、可能でしょうか?
回りくどい質問で本当に申し訳ないです。
>>936 冗長な感じがあってもっといい方法があると思うけど
=IF(ISNA( VLOOKUP(検査値,検索範囲,列,FALSE)),0, VLOOKUP(検査値,検索範囲,列,FALSE))
>>936 ついでに返ってくるエラーがDiv/0とN/Aとでちがうので
>>930 はサンプルになってない。
939 :
ゴッホ ◆lkGoghDAZs :04/10/30 01:19:59
>>842 Copyというプロシージャが、そのマクロの外側にあって、それを呼び出しているのなら、
>>927 直接記述するなら、Sub Copy()の記述は、必要ありません。
マクロが長いということなので、
>>927 のようにしたほうがいいかもしれません。
ゴッホのマクロ()
略
Call あなたのマクロ名
略
End Sub
あなたのマクロ()
略
End Sub
ちなみに
「'←こんな感じで、該当のフォルダ。最後の¥マークを忘れずに。 」
は、別になくても大丈夫なので、削除していいですよ。
単なるコメントなので。
940 :
ゴッホ ◆lkGoghDAZs :04/10/30 01:21:40
あ、あと、あなたのマクロは、Privateをつけたほうがいいかも。 Private あなたのマクロ()
>>937 確かに仰るとおりでした。すみません。
が、937で取り合えず思い通りの結果が出ています。
使わせて頂きます、ありがとうございました。
942 :
名無しさん@そうだ選挙にいこう :
04/10/30 02:39:49 下記のようなデータファイルを… −−− 優香 2 リカ 1 亜弥 3 −−− ↓のような形に変換したい (ピポットの逆のような事をしたい) のだが、よい方法はないですか −−− 優香 優香 リカ 亜弥 亜弥 亜弥 −−− (^・x・^)