初心者は来るなよ。
3 :
名無しさん@そうだ選挙にいこう:02/04/06 10:49
インターネットで通販サイトしています。
そこで受注管理について下記のことを質問させて頂きます。
1)エクセルでサーバーからメールを取得するにはどうすればいいのですか?
2)入金確認や発送確認のメールを一斉配信したいのですが、その場合どうしたらよいのですか?
(基本的な署名設定や定型文も含む)
※エクセルやアクセスの受注管理ソフトを使ってみたのですが、どれも帯に短し襷に流し、です。
よろしければお教えください。
その他、便利な機能があればお教えください。
受注ソフトが完成しましたら、領収証を発行してくださる方に限り、50000円を目処に謝礼をお支払い致します。
(複数の方の場合は、その金額内で配当)
メールアドレスはいきなり会社のはあれですので、レスが着いて、まずはプロバイダーのを晒します。
そして、最終的に教えて頂いて、受注ソフトが完成した時に、メールをお送りします。
なお、謝礼支払い時の為、連絡先として暫定的にフリーのメアドでも構いませんが、トリップは最初からつけてください。
4 :
名無しさん@そうだ選挙にいこう:02/04/06 10:50
メールと一緒に取得したい主な項目(商品名や金額等)は追って説明します。
なお、すでに顧客名簿はエクセルで簡単ですが作成済みです。
要するに、そこへ注文書をメールで取得し、売上履歴やは発送確認・履歴等を管理したいのです。
もう、注文数が増えると、手動コピペはしんどくて。。。
>3
5万で独自の受注管理ソフトを開発させようなんてムシがよすぎ。
>6
短気ですね。長生きしませんよ。
8 :
名無しさん@そうだ選挙にいこう:02/04/06 14:51
9 :
名無しさん@そうだ選挙にいこう:02/04/06 16:59
前のスレで質問したのですが、レスがつかなかったので改めて。
A1とB1のセルを入力規則で入力値の種類をリストにして、
A1→a,b,c,d,e
B1→1,2,3,4,5
としているとします。
その横にボタンを配置してボタンを押すとボタンのすぐ下に行を新しく挿入して
A1とB1のデータを新しくできたA2とB2にコピーしたいのですが、どのようにすれば
できるでしょうか?
一番上をデータの入力行にして、その下に順番にデータを挿入するようにしたいのです。
やりかたがありましたらどうかよろしくお願いします。
>9
Private Sub CommandButton1_Click()
ActiveCell.Activate
With ActiveSheet
.Rows(2).Insert
.Rows(2).Validation.Delete
.Range("A2") = .Range("A1")
.Range("B2") = .Range("B1")
End With
End Sub
11 :
名無しさん@そうだ選挙にいこう:02/04/06 17:54
>>10 出来ました。
どうもありがとうございました。即レス感謝!
12 :
名無しさん@そうだ選挙にいこう:02/04/06 18:26
9です。
また、壁にぶつかってしまいました。
1、リストで0から100までを一つづつ選択させたいんでけど0,1,2,3,4,・・・と全部打つ以外に
方法はないでしょうか?
2、日付を選択させたいのですが、リストボックスに日付を表示させるにはどうしたら良いでしょうか?
入力規則の日付を選択すると日付を手入力しないといけないのでできたら避けたいです。
何度も教えて君ですみません。
>12
1
どっかのセルに書いといてから、セルで指定。
2
どっかのセルに書いておく
コントロールツールボックスのリスト
ListFillRangeにセル範囲を指定
LinkdCellに表示したいセルを指定
表示したいセルの書式設定で日付にする。
又は
入力規則のリストで、書いといたどっかのセルを指定
セルの書式設定で日付にする。
14 :
名無しさん@そうだ選挙にいこう:02/04/06 20:16
EXCEL2000を真剣に勉強したいのですが、いい入門書ありますか?
お勧めありましたら、どうか教えて下さい。
主に関数やフィルタ機能について詳しいものがありましたら、お願いします。
>>13 出来ました。ママさん何度もありがとうございました。
困っています。お助けください。
今現在、約160名前後の名簿を作成しています。
"BS列"に”去年の"出席回数”を記入しており、
"BT列"に
=IF(BS4>$C$3,"○","")
と入力し、"C3セル"に記入した出席回数以上の人は
"○"で表記するようにしたいのですが、
"BT4"〜"BT126"までは上手くいくんですけど
"BT127"〜"BT138"間はすべて"○"表示になってしまいます。
また"BS列"でオートフィルタ機能を使っても"BS127"〜"BS138"間は正しく
表示してくれません。他の列は全然問題ないのですが・・・・。
どなたか良い解決方法をお教えください。
>>16 とりあえず127〜138行のデータをバックアップしておいてから
127〜138行に対して 編集>クリア>書式 あたりを実行してみる。
それでもダメなら
127〜138行に対して 編集>クリア>すべて を実行してからから書き直してみるとか。
18 :
名無しさん@そうだ選挙にいこう:02/04/07 11:27
エクセルのファイルをダブルクリックで起動すると、以下のエラーが表示されるようになりました。
エクセルを起動してからファイルを開くで、目的のファイルを開くと問題ありません。
これは、エクセルが壊れているんでしょうか?
'C:\WINDOWS\デスクトップ\・・・・・ダブルクリックしたファイル名.xls'が見つかりません。[ファイル名を指定して実行]
ダイアログボックスに名前を正しく入力していないか、別の開いているプログラムがシステムファイルを検索できません。
ファイルを検索するには、[スタート]ボタンをクリックし、[検索]をクリックしてくださ。
>16
1.BT127〜BT138を選択し、セルの書式設定を標準にする。
2.BT127〜BT138を選択し、メニューのデータ−区切り位置で
ウィザードを出し、そのまま完了を押す。
セル内の改行(alt+enter)をデフォルトの関数でやろうと思ったのですが
うまくいきません。ちなみに
a1:A(alt+entr)
A
b1:=len(a1)=3
になります。そしてそれらの文字コード(code()で)ひらい出すと、2文字目
が10になっています。それをふまえて
c1:="A"&char(10)&"A"とやっても
A・Aと表示されるだけです。
こんな事できないのでしょうか?
22 :
名無しさん@そうだ選挙にいこう:02/04/07 23:32
>>21 セルの書式設定→配置で
折り返して全体を表示する にチェックが入ってないとダメみたい
即回答ありがとうございます。
いま関数のみガントチャート作成表を作っていて
これでまたさらに多機能(でかいわおもいわそれはもう・・)に
することができます。
さっすがエクセル板の住人のみなさま、本当にありがとうございます。
エクセルパパありがとう。問題解決しました。
けど、ツール・オプション・全般の’他のアプリケーションを無視する’
をエクセルが勝手にチェック入れたって事か?
25 :
名無しさん@そうだ選挙にいこう:02/04/08 15:26
住人の皆様、
質問です。
通貨なり会計なりの書式形式のセルで、例えば2千ドル75セントの値を
"$2,000.75" ではなく
"$2.000,75" と表示/印刷したい場合にはどうすればよいんでしょうか。
26 :
名無しさん@そうだ選挙にいこう:02/04/08 22:44
簡単な事で大変恐縮ですが、教えて下さい。
奇数行と偶数行で同じ値が入ってます。
奇数行だけで良いので、偶数行はいらないので削除したいのですが、
今まで地味に1行1行手作業で削除してました。
ただ、800行くらいあるので、時間が無い時は非常に困るので、何か良い方法は無いでしょうか?
>>26 A列に1列挿入して、セルA1に
=MOD(ROW(),2)
を入力してコピー&データが入ってる最下行までペースト。
するとA列には奇数行は1 偶数行は0が入るから、
オートフィルタ使ってA列が1の行だけを抜き出してコピー&別シートにペースト。
なんてのはどーでしょう
28 :
名無しさん@そうだ選挙にいこう:02/04/08 23:00
ぱっと思いついた方法。
1.列Aを追加、ドラッグで1から800まで連番を作る
#ちなみにこういう場合漏れはまず最終行に移動し、
#800,799,798ぐらい入力して上に向けて引きずる。
2.列Bを追加、=Mod(A1,2)
3.列Bで並べ替え
4.要らない行をがばっと削除
5.列A,Bを削除
>26
A列で最終行を判定して、最終行〜1行目まで
偶数行を削除する。
Sub aaa()
Dim LRow As Long, i As Long
LRow = Range("A65536").End(xlUp).Row
For i = LRow To 1 Step -1
If (i Mod 2) = 0 Then Rows(i).Delete
Next i
End Sub
31 :
◆CONTI41k :02/04/09 13:54
文字の縦書きってどうやるんですか?
初歩的な質問で恐縮ですが、よろしくお願いします
いきなりですが解決しました。
失礼いたします。
33 :
名無しさん@そうだ選挙にいこう:02/04/09 14:53
府県 市区
東京都 杉並区
東京都 中央区
東京都 中央区
東京都 新宿区
神奈川県 鎌倉市
神奈川県 横浜市
みたいなリストがあるとします。
重複してるデータを数えずに市区をカウントして
東京都 3 神奈川県 2
とデータを返すにはどうしたらいいでしょうか。よろしくお願いします。
>>33 マクロ使っても良い? 遅いけど。
Function mycount(r As Range, s As String) As Integer
Dim r1 As Range, t As String, i As Integer
Dim idx As Integer, ary() As String
mycount = 0
idx = 0
ReDim ary(idx)
For Each r1 In r
t = r1.Text
i = idx - 1
Do While i >= 0
If ary(i) = t Then Exit Do
i = i - 1
Loop
If i < 0 Then
ary(idx) = t
idx = idx + 1
ReDim Preserve ary(idx)
If t Like s Then
mycount = mycount + 1
End If
End If
Next
End Function
mycount( 範囲 , 検索文字列 )
範囲内で文字列にマッチしたものを数えます(重複はカウントしません)
A列に府県、B列に市区、
C列を新しく挿入。
C列には府県と市区を繋げたもの(C1に「=A1 & B1」を入れて下までコピペ)を入れる。
それぞれ1〜100行まで入ってるとして、
適当なセルに「=mycount($C$1:$C$100,"東京都*")」
または「=mycount($C$1:$C$100,"神奈川県*")」
VBAでWin2000とかのMy Documentsフォルダってどうやって指定すれば
いいんですか?ユーザーによって場所がかわるんで・・・。
>>35 もしかしたらVBAで用意されてるのかも知れないけど
wshを使ったマイドキュメントのパスを返す関数
Function MyDocumentsPath() As String
Dim WSH As Object
Set WSH = CreateObject("WScript.Shell")
MyDocumentsPath = WSH.SpecialFolders("MyDocuments")
Set WSH = Nothing
End Function
37 :
名無しさん@そうだ選挙にいこう:02/04/09 20:05
>>33 素直にデータをCSVに落としてawkで処理した方が早いだろ。ダメ?
38 :
名無しさん@そうだ選挙にいこう:02/04/09 21:06
>33
ピポットテーブルで、行とデータに「府県」を放り込むだけ
40 :
名無しさん@そうだ選挙にいこう:02/04/10 00:55
フォームのコンボボックスの作成で、表示する項目のリストを列でなく行にあるデータ
から参照するにはどうしたらよいですか?
プロパティのListFillRangeの項目に A1:J1 と入れても動いてくれません。
よろしくおねがいします。
>>36 なるほど。やっぱwshインストしないとだめっすか・・・?
>>41 IE4以降が入ってりゃ大丈夫だったと思う。
OSがWin95じゃないなら、最初から入ってるんじゃ?
試してみれ
>41
Environ関数使うという手もあるかも。
コマンドプロンプトでset打って考える
45 :
名無しさん@そうだ選挙にいこう:02/04/10 15:16
VLOOKUP()で大文字、小文字を別の文字と認識させるのは?
46 :
名無しさん@そうだ選挙にいこう:02/04/10 18:46
>>43 ありがとうございました。解決しました。コノサイトいいですね。
47 :
名無しさん@そうだ選挙にいこう:02/04/10 20:34
すいません。さっきうっかり過去スレ2で質問してしまいました。
ドーナツグラフの中に数字以外の文字を入れたいと思いますが
出来ますでしょうか?
ダーツの的を作り、その書いてある的に当たった景品をプレゼント
という企画なのですが・・・、ダーツの的を買えないのでグラフを応用して
「的」を作りたいと思っています。よろしくお願いします。
48 :
名無しさん@そうだ選挙にいこう:02/04/11 00:29
>47
データラベル(項目名)を表示してある?ほいだらね、
それを選択して右クリックして書式設定で配置のなかに
ラベルの位置って項目があるからそれを「内部外側」に
すればできるお。ていうかマジックで手書きしたほうが綺麗くない?
49 :
名無しさん@そうだ選挙にいこう:02/04/11 00:51
とんでもなく初心者な質問なんですが、エクセルの
ファイルが二つあって、どちらも1シートしか使ってないので
一つのファイルにまとめたいのです。
こんな時はどうしたら良いのでしょうか?
シートの必要部分をコピーしてもテキスト形式
でしかコピーできず、書式や計算式が無視されてしまいます。
仕方なくいちいち表や計算式を入力しています。(←バカ?)
下らない質問ですが、どなたか教えていただけないでしょうか。
どうぞよろしくお願い致します。
2つのファイルを開いておいて、
片方のファイルのシート名の部分を右クリック→移動またはコピー
「移動先ブック名」で他方のファイルを選択しておき、
念のために「コピーを作成する」にもチェック入れといてから OK ボタン
51 :
名無しさん@そうだ選挙にいこう:02/04/11 01:01
>>49 1.2つのBookファイル(A・Bとする)を開く。
2.アクテイブになってるBookがBとすると、
メニューの「編集」→「シートの移動またはコピー」→
移動先のBookにAを指定する。(挿入先のSheetは
好きなように指定すればよい)
移動じゃなくコピーしたければ、「コピーを作成する」に
チェックを入れる。
52 :
名無しさん@そうだ選挙にいこう:02/04/11 01:05
>>49 ファイルを2つとも開いてみな。
で、どちらでも良いからシートのタブを右クリック。
メニューに「移動またはコピー」ってあるだろ?
移動先ブックを指定するダイアログが出るから後はお好きに。
53 :
名無しさん@そうだ選挙にいこう:02/04/11 01:27
visual basic editorで、
メッセージボックスに「はい、いいえ」の二択が出て、
「いいえ」を選ぶと同じ二択がループし続けるようにしたいのですが
どうすればよいか教えてください。
>>53 While (MsgBox("「はい」を選んでください",vbYesNo) = vbNo)
Wend
速レス感謝!
助かりました。
56 :
名無しさん@そうだ選挙にいこう:02/04/11 05:24
例えば、B1:B5のいずれかのセルに変更が加えられたときに
MsgBox("変更しました")が表示されるようにするには、
具体的にどのように記述すればよいでしょうか。
>56
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range
Set r = ActiveSheet.Range("B1:B5")
If Not Application.Intersect(Target, r) Is Nothing Then
MsgBox "ゴラァ"
End If
End Sub
>>57 ありがとうございます。参考にさせていただきます。
59 :
名無しさん@そうだ選挙にいこう:02/04/11 07:19
>>48さん
遅くなりましたが、感謝します。早速試してみます。
a1に「17:00〜」
b1に「0:40」
c1に「17:00」
d1に「b1+c1」
と入力しています。
そしてe1に「=a1 & d1」と入れたのですが
後半だけシリアル値になってしまいます。
「17:00〜17:40」と表示させたいのですが
どのようにすればいいのでしょうか?
>>60 e1には「=a1 & text(d1,"hh:mm")」
>>50-52 どうもありがとうございました!できました。
いつもファイルは1個しか開いてない状態でした。
自分がアホすぎて恥ずかしいけど、聞いて良かったです。
63 :
名無しさん@そうだ選挙にいこう:02/04/11 23:10
あるファイルが開かなくて困っています。
どうしたらいいか助けてください。
[症状]
***.xlsは編集のためロックされています。
読取専用で開きます。をクリックすると、
不正な処理、強制終了する。
EXCEL のページ違反です。以下は詳細:
モジュール : EXCEL.EXE、アドレス : 0167:3005c5eb
Registers:
EAX=00000018 CS=0167 EIP=3005c5eb EFLGS=00010206
EBX=308ca015 SS=016f ESP=0062e25c EBP=0062e270
ECX=00000000 DS=016f ESI=00000000 FS=4b9f
EDX=00000035 ES=016f EDI=00000018 GS=0000
Bytes at CS:EIP:
83 20 00 8d 45 f4 50 ff 75 10 e8 2b fb ff ff ff
Stack dump:
ファイルを編集中にパソコンがフリーズしたのでctrl+alt+delでリセットしたあとに
この問題が出たようです。
ファイルにはマクロも組んであります。
何とか復旧する方法はないでしょうか?
65 :
名無しさん@そうだ選挙にいこう:02/04/11 23:29
>>50-52 シート名の書いてあるタブをドラッグして、そのまま他のファイル(ブック)の上で離す、
というのはできないの?
Macintoshだとできるんだけど。
オプションキーを押しておくとコピーになる。
ブックの無いところで離すと、新しいブックができる。
66 :
名無しさん@そうだ選挙にいこう:02/04/11 23:50
>>65 試してみたらExcel2002で出来たYO!
OSはW2kね
教えてください。 初心者板にも書きましたが
あまりに初心者すぎたらすみません。
エクセル95です。
3枚のシートがあり、それぞれに20000件位のリストが入ってます。
3枚のうち1枚は他の2枚のデータのもとになったもので、
他の2枚は最初の1枚のデータにそれぞれ違う情報を追加したものです。
つまりほとんどは同じ内容のシートなのですが、それぞれ加えられている情報が
すこしずつ違うのです。
で、今再びその3枚を1枚にし、3つのリストを一つにまとめたいのです。
1枚目の大元になったリストに他の2枚で追加した情報を加えていき、
1つのリストにしたいのですが一番効率のいいやりかたを教えてもらえませんでしょうか?
僕が今やっているのは、
1、3つのリストをそれぞれ違う色にし、最初のリストに他のリストをくっつけて一つにまとめる
2、ソートして同じ番号がダブるようにデータをまとめる。
この時点では同じ項目がダブるが、色分けされているのでどこのシートのリストかわかる。
赤、青、緑と3つのセルが交互に並んでいる状態。
3、切り貼りして大元のセルに他のセルのあらたに追加された情報をくっつける
一列に、赤、青、緑のセルが並んでいる状態。
4、これを後に色除去し、一つのリストに。
あまりエクセルを使わないので、これが精一杯考えつく範囲なのですが
切り貼りが、非常に大変です。数が多いので・・・・
いいやり方ないでしょうか?
>>68 今からやり方を調べますと言うのはマルチすることですか?
移動するのなら、向こうでレスくれてる人たちに謝罪と断り入れてからにしろよ。
70 :
名無しさん@そうだ選挙にいこう:02/04/12 13:42
>>68 大元のデータに他の2枚のシートのデータを加算したいの?
データとして何が入力されているの?
71 :
名無しさん@そうだ選挙にいこう:02/04/12 17:26
>>68 大元のリストとはどういうリストなのか?
他の2枚で追加した情報とはどういうものなのか?(数字?文字?)
「切り貼りして大元のセルに他のセルのあらたに追加された情報をくっつける」とは
単純に情報入ったセルの追加ではなく、大元のセルの内容を変更(追加)したいという事なのか?
72 :
名無しさん@そうだ選挙にいこう:02/04/12 21:59
どなたか相談にのっていただきたいのですが
複数のbookの決まったセルからデータを抽出して一覧を作成したいのですが簡単な方法は無いでしょうか?
bookのファイル名には規則制があり1年1月なら0101.xls、2月なら0102.xlsといったファイル名です。
A1のセルには[0101.xls]sheet1のA1の値を、B2のセルには[0102.xls]sheet1のA1のセルをといった具合にしたいのですが、今はこれといった方法も思いつかずコピペで手作業で行っています。
>>73 書いたことないです。やっぱりマクロの勉強しないと無理ですかね・・・
>72
ファイルを開く処理を書かずに簡単に済ませる。
1.下記を新規ブックの標準モジュールにコピペ
2.処理したいブックを同一Window内に全て開く
3.hogehogeマクロ実行
Sub hogehoge()
Dim wb As Workbook
For Each wb In Workbooks
If Not wb Is ThisWorkbook Then
wb.Worksheets("Sheet1").Range("A1").Copy _
Destination:=ThisWorkbook.ActiveSheet. _
Range("A65536").End(xlUp).Offset(1, 0)
End If
Next wb
End Sub
>>75 どうもありがとう。明日会社いったら早速試してみます。
やっぱりマクロかけるようにならないとダメですね
77 :
名無しさん@そうだ選挙にいこう:02/04/13 14:05
>>72 マクロを使わなくてもできるよ。
A1からA365に、0101から1231までの連続データを作成する
B1に ="[" & A1 & ".xls]Sheet1!$A$1" と入力してB365までコピー。
C1に =INDIRECT(B1) と入力してC365までコピー。
これで、C1からC365に、[0101.xls]Sheet1!$A$1 から [1231.xls]Sheet1!$A$1 までのデータが入る。
月日ではなくて年月であったか。
79 :
雪ん子 ◆cjKlwxAs :02/04/13 16:49
単純そうな質問ですが、訳わからずです。宜しくお願いいたします。
エクセルは、2000です。
問
リンゴ s 7
リンゴ m 5
リンゴ L 5
ミカン s 5
ミカン m 4
ミカン L 5
イチゴ s 4
イチゴ m 5
イチゴ L 4
上記の表で 各果物のサイズごとの数値の結果は出せました。
しかし、果物のカウントがわかりません。「イチゴ」は、サイズが3つありますが、
答えは「1」と出したいのです。たとえば、上記に「スイカ」はありません。
だから、スイカ=1 としたいわけです。
意味わからないです。だから、へんな説明文になってしまい申し訳ございません。
とりあえずお願いいたします。毎回毎回すみません。
80 :
雪ん子 ◆cjKlwxAs :02/04/13 16:49
すみません。スイカは「0」としたいの間違いです。
>80
リンゴ、イチゴ・・・の表がA1:A20なら、
=COUNTIF(A1:A20,"リンゴ")
ってことか?
>>80 正直質問の意味がよく分からないのでずれたことを言ってるかもしれないが、
サイズがS、M、Lの3種類と分かってるのなら>81の式を利用すると、
=COUNTIF(A1:A20,"リンゴ") /3
で出ると思うが、
果物のカウントは表に有るモノは1、無いモノは0と入力するだけじゃないのかな?
すごい基本的な質問かもしれませんがよろしくお願いします
例えば
「ボタンがあって、そのボタンが押されたら指定範囲をプリントする」
といったものなのですが、
ファイルを開いたらマクロが起動していて
そのボタン以外押せないという状態はどうすれば良いのでしょうか?
>83
コントロールツールボックスのボタンなら、オブジェクトのチェックを外して
シート保護すれば良いんでない?
85 :
雪ん子 ◆cjKlwxAs :02/04/13 23:48
>>81 >>82 なっるほっど
カウントイフ で もういっかい つくりなおししてみます
どうも ありがとうございます!
>>84 ありがとうございます
なんとか・・・頑張ります^^
87 :
名無しさん@そうだ選挙にいこう:02/04/14 00:00
初歩的な質問ですんません。
車 軽
車 軽
車 普通
車 大型
見たいな情報があるとき、車&軽の行がいくつあるのかカウントしたい。
どうすればいいのかな?
>87
=SUMPRODUCT((A1:A10="車")*(B1:B10="軽"))
89 :
名無しさん@そうだ選挙にいこう:02/04/14 00:32
>88
出来ました!
有り難う。
ついでに、もひとつ。
式を入れたセルの内容を、そのまま別のセルにコピーするにはどうしたら
いいんでしょう?
普通にコピーすると、A1,A10が自動的にずれたセルに変換されます。
初歩的ですんません。
>89
ちっとはヘルプよめ
$A1 列固定
A$1 行固定
$A$1 行列固定
=SUMPRODUCT(($A$1:$A$10="車")*($B$1:$B$10="軽"))
91 :
名無しさん@そうだ選挙にいこう:02/04/14 01:00
>90
待ってる間に分かったよー。昔の記憶が蘇った。
ともかく、有り難う。
今度はちと難しいんだが、オートフィルターしたときのプルダウンの中身をコピー
するにはどうしたらいいんでしょ?
つまり、列に含まれる要素を切り取って、教えて貰った式で細かくカウントしたいんですけど。
>91
待ってる間に調べようぜ。
データ−フィルタ−フィルタオプションの設定で「重複するレコードは無視する」にして
出てきた値をどっかにコピペ
93 :
名無しさん@そうだ選挙にいこう:02/04/14 01:21
>92
有り難う。
ホント助かった。
94 :
名無しさん@そうだ選挙にいこう:02/04/14 01:30
A1、A11、A21、・・・、A5001を
B1、B2、B3、・・・にコピーする方法あります?
95 :
名無しさん@そうだ選挙にいこう:02/04/14 01:32
160%拡大して印刷すると、細いケイ線が極太になってしまいます。
フォントも大きくなります。
これを回避する方法はないでしょうか?
100%でレイアウトすると、一度に表示できるセルの数が減ってしまいます。
>94
もっと他にあるかも知れんけど。
空いてる列、例ではC列のセルC1に 1 、セルC2 に =C1+10 とし、下にコピー。
(1、11、21・・・5001のリストを作る)
セルB1に =INDIRECT("A" &C1) と入れ下にコピー。
B列全体をコピー&形式選択値 貼付け
C列削除
>94
マクロ
Sub aaa()
cnt = 1
For i = 1 To 5001 Step 10
Range("B" & cnt) = Range("A" & i)
cnt = cnt + 1
Next i
End Sub
98 :
名無しさん@そうだ選挙にいこう:02/04/14 10:02
これ教えて。
えxせるふぁんくらぶでレス付かん買った。
エクセル97で、フォトエディッターなどで開いた画像を編集→コピーし、
エクセルで編集→貼り付けを行うと、ファイルサイズが挿入→図→ファイルから
で行った場合に比べ、30倍以上巨大になるのは、なぜなんですか?
>98
フォトエディターを入れて無いし、内部処理の問題だろうから、
回答じゃなく予想です。
元画像が jpg、gif、png 等の圧縮フォーマットの場合、クリップ
ボードを経由する際の受け渡しで、bmpとして渡されるとか。。。
>>99 わたしもそう思いました。
フォトエディッターでbmpファイルを開いてjpgに変換保存すると
約30分の1になってるから、多分bmpとして渡されているんだろうなと
うちの部署では100人近く使うファイルサーバーのHDがたった4GBなのに
50KBの画像を一枚挿入とテキスト数行入力しただけで1MB超のファイルが
ごろごろしてるから困ってるんですよ。
わし、シスアドみたいな立場だから指導する為に正確な答えが欲しくって・・・
101 :
名無しさん@そうだ選挙にいこう:02/04/14 17:48
>>100 100人に対してのファイルサーバーがったったの4GBじゃ無くて
1人あたりの割り当てじゃないの?
いくらなんでもそうじゃなきゃサーバーなんて呼べない。
各自用のPCについてるドライブだってもっとおおきいんで無いの?
>>101 6年位前に組んだサーバーなんで、そんなもんなんです。
CPUはペンティアムだけど200MHzないと思う。うちの部署でも速度は最低ランク。
だから、今度の全体会議で画像を貼り付けるときは絶対「挿入」を使って、
個人のスペースを20MBくらいに制限してくださいと呼びかけようかなと。
>>96,97
実際はもうちょっと複雑なコピーだったんですけど、おかげで何とかなりそうです。
ネットヘルプの検索キーワードが思いつかなくて、とても困ってました。
104 :
名無しさん@そうだ選挙にいこう:02/04/15 19:41
教えて下さい。
日本語で言うと「なおかつ」みたいな関数ってなんでしょうか?
ANDでしょうか?
おあ
>105
あんど だと思うが。
なおかつ 【尚且つ】
その上また
107 :
名無しさん@そうだ選挙にいこう :02/04/15 22:48
OR = 〜または
AND = 〜かつ
108 :
_初歩的?:02/04/15 23:31
すいません。だれか教えて下さい。
A パン 300
B パン 500
A パン 400
B ジャム 700
C パン 100
C ジャム 500
A バター 300
C ジャム 900
のように、項目が3つあり、Aのパンのように重複する項目がある場合で、
A パン 700 A バター 300 B パン 500 B ジャム 700 ・・・
のように合計を出したい時はどうすればよろしいでしょうか?
>108
ピポットテーブルか、並び替えてから集計
110 :
名無しさん@そうだ選挙にいこう :02/04/16 15:50
A列にA パン(項目)B列に数字を記入し、
=SUMIF(A$1:A$10,"A パン",B$1:B$10)
=SUMIF(A$1:A$10,"B パン",B$1:B$10)等
で集計すればよいと思います。
(1・10は行番号です)
111 :
104です:02/04/16 19:56
すみません。教えて下さい。
もし、 A1=180 A2=120 なおかつ A11=120 ならば 120 と表示
もし、 A1=180 A2=90 なおかつ A11=120 ならば 90 と表示
とする関数を教えて下さい
>>111 >もし、A1=180 A2=120 なおかつ A11=120 ならば 120 と表示
>もし、A1=180 A2=90 なおかつ A11=120 ならば 90 と表示
そのままを式にすると
(どっちにも当てはまらない場合は表示しない とするなら)
=IF(AND(A1=180,A2=120,A11=120), 120, IF(AND(A1=180,A2=90,A11=120), 90, ””))
条件の A1=180, A11=120 は共通だから、
A1=180 かつ A11=120 かつ A2の値が90または120 ならば A2の値を表示
ってことにして
=IF( AND(A1=180, A11=120, OR(A2=120, A2=90)), A2, ””)
113 :
_初歩的?:02/04/16 23:31
>109
ありがとうございます。しかし、今回はピポットは使用できない条件でした。
ピポットの方法も覚えておきます。
114 :
_初歩的?:02/04/16 23:34
>110
ありがとうございます。求める結果が得られました。
SUMIFは使ったことがありませんでした。使い方をしっかり、覚えておきます。
ちなみに、ピボット だ。ピポット ではない。
>>113 間違って覚えてるとヘルプ引けないぞ。
116 :
名無しさん@そうだ選挙にいこう:02/04/17 00:43
マヌケな質問だったらすみません。
例えばセルA1に「5」という数字が入っていたとして、
VBA
A1= Application.InputBox("", "", , , , , , 0)
としたとき
A1="=R1C1"
になりますが、その後
A1=5
に変換(?)したい場合はどのようにすればよいのでしょうか?
(ワークシート関数でいうValue(A1)みたいな感じ?)
よろしくお願いします。
>>116 >A1= Application.InputBox("", "", , , , , , 0)
>としたとき
>A1="=R1C1"
の部分がよくわかってないので、ぜんぜん見当外れな回答かもしれませんが・・・
参照形式と混同するといけないのでA1を a に置き換えて説明。
a = "=R1C1"
のとき、
' R1C1形式からA1形式に変換 ( b は "=A1" になる )
b = Application.ConvertFormula(a, xlR1C1, xlA1, xlRelative)
' 先頭の = を削る (c は "A1" になる)
c = Mid(b,2)
' セルA1の値を得る
d = ActiveSheet.Range(c).Value
これで d の値が 5 になります
118 :
名無しさん@そうだ選挙にいこう:02/04/17 02:56
LOOKUPを使うと
>検査値が見つからないと、検査範囲に含まれている検査値以下の
>最大の値が使用されます。
とやらで、エラーになって欲しいのに勝手に値が取得されてしまいます。
エラーにさせるにはどうすればいいのでしょうか?
>>118 lookup関数を以下のようにする。
lookup(元データ,参照範囲,オフセット値,false)
120 :
名無しさん@そうだ選挙にいこう:02/04/17 08:47
>>112 丁寧にありがとうがとうございます。
できました。またよろしくお願いします。
121 :
名無しさん@そうだ選挙にいこう:02/04/17 20:36
つまらない質問かもしれませんが、教えてください。
アンケートをまとめた表を作ったんですが、
「問1(回答A,B,C・・・)でAと答え、かつ問2(回答a,b,c・・・)でbと答えた人数」のような
集計をしたいのですが、関数をどう組み合わせたらいいのでしょうか?
COUNTIFを使うのだろうというのは分かるんですが、検索条件がわかりません。
>>121 列Aに問1の回答、列Bに問2の回答があったとして、
列Cに 列A と 列B をくっ付けたものを入れる
例) セルC1の場合の式 「=A1 & B1」
あとは列CをCOUNTIFで集計すればOK
100行までデータがあるなら、
Abと答えた人数=COUNTIF(C1:C100,"Ab")
あ、なるほど・・・。2つを繋げたら1つのデータとして認識しますね。
できました。どうもありがとうございます。
>>119 簡単な質問にお答えいただき、ありがとうございました。
ファイルは会社にあるので、明日試してみます。
125 :
オートフィルタについて:02/04/18 01:36
データリストでオートフィルタを使っていたら
区分がうまく見だし行にこなくなってしまいました。
見だし行(1行目)があり以下データがあるのですが、
オートフィルタにすると2行目と3行目の間(データリスト上)で
区分けされてしまいます。
今までうまくいっていたのですが、解決法が分かりません。
どうかよろしくお願いします。
126 :
名無しさん@そうだ選挙にいこう:02/04/18 10:31
>>125 見出しに設定したいデータが1行目にくるように範囲選択してから、
オートフィルタを設定すると、1行目が見出しになると思いますが。
エクセルに「ACN」と入力してエンターを押すと「CAN」に変換でれてしまいます!
なぜ&解決策を教えて!
>>127 ツール>オートコレクトで
入力中にオートコレクトのチェックを外すか
リストからacnを削除
129 :
名無しさん@そうだ選挙にいこう:02/04/18 17:28
1 2
1 小泉 純一郎
2 田中 真紀子
↑例えばこんな感じでデータ打ち込んでいって、後から50音順とかで並べ変えたいんですけど、
そのときに列1を列2と関連付けたまま50音順で並べ替えたいんですけど、できますか?
つまり、
1 2
1 小泉 真紀子
2 田中 純一郎
こうならないように並べ変えたいんです。
すいません、できました。
131 :
名無しさん@そうだ選挙にいこう:02/04/18 19:34
実行すると、
Sheet1に作った定型表と同じ物が
シート名に当該月(平成14年5月とか)の
月〜金の日付と曜日を自動的につけつつ(1日なら「1水」とか)、
挿入できるようなマクロを作りたいと思っています。
過去レスに似た様なのがあったので
試してみたのですが、どうも思ったとおりに行かなくて…
お知恵を拝借させてください。
>>119 すいません。
やってみようと思ったんですが、オフセット値という意味がわかりません。
ヘルプで調べると、OFFSETの関数が出てくるだけで・・・。
とりあえず、VLOOKUPという関数が見つかったので
VLOOKUP(検索セル,参照範囲,2,FALSE)
としてみたら、できました。
が、スマートじゃない気がするんですけどどうでしょう?
参照データは2列だけのものです。
133 :
名無しさん@そうだ選挙にいこう:02/04/18 23:08
申し訳ありません、どなたかお知恵をお貸しください。
2つのエクセルブックがありまして、上から7段目までは項目名、
その下は数値もしくは文字列が最大400ほど並んでいます。
この2つの数値がすべて一致しているかをチェックしたいのです。
一致していなかったセルは色を変えるという指示を受けています。
今まで、相手のシートのセルと関数などで比較して、エラーがでたところを自力で塗る
という作業を繰り返してきましたが、これを自動化できないものでしょうか?
よろしくおねがいします。
>131
何がどう「上手く行かない」のか、サパーリわからん。
Sub test()
Dim ws As Worksheet, s
s = Application.InputBox("yyyy/m/dで日付を入れてね。", _
"ゴラァ", Format(Now, "yyyy/m/d"), Type:=2)
If s = False Then Exit Sub
For Each ws In Worksheets
If ws.Name = Format(s, "m・d(aaa)") Then
MsgBox "隊長!そのシートはもうあります。", _
vbCritical + vbOKOnly, "大変です!"
Exit Sub
End If
Next ws
Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
ws.Name = Format(s, "m・d(aaa)")
Sheet1.Cells.Copy
ws.Cells.PasteSpecial (xlPasteAll)
Application.CutCopyMode = False
ws.Range("A1").Select
End Sub
>133
2ブックの同一行比較?
EXACT関数を入れ、TRUEでフィルター掛けて、可視セルに一発で色付け。
3分も掛からないと思うが。
Sub Test()
Dim r As Range, r1 As Range
With Workbooks(1).ActiveSheet
Set r = .Range("A8:A" & .Range("A65536").End(xlUp).Row)
End With
With Workbooks(2).ActiveSheet
Set r1 = .Range("A8:A" & .Range("A65536").End(xlUp).Row)
End With
If r1.Count > r.Count Then
For i = 1 To r1.Count
If r(i) = r1(i) Then r1(i).Interior.ColorIndex = 5
Next i
Else
For i = 1 To r.Count
If r(i) = r1(i) Then r(i).Interior.ColorIndex = 5
Next i
End If
End Sub
初心者な質問ですいませんが、おせーてください!
12345を100円の位で四捨五入して12,300にしたいのです。
ヘルプで見たら関数でしかできないのでしょうか?ちなみに、、
123,00=FIXED(12345,-3,FALSE)
123000=ROUND(12345,-3)をして後からカンマをいれました。
セルの書式設定は数値の赤字で-1234を設定済み。
皆さんは普通四捨五入といったら、どうしますか?
ツールバーのボタンでささっとできる方法とかあるんですか?
>>136 四捨五入するのに関数を使うのが苦になったことはないが、
それすら面倒というなら、マクロでも組んでそのマクロをツールバーにボタン登録すれば?
>>136 適当だけどこんなマクロとか
Sub 百の位で四捨五入()
ActiveCell.Value = Format(CLng(ActiveCell.Value / 10 ^ 2) * 10 ^ 2, "#,##0")
End Sub
>>138,
>>139 どうもありがとう♪関数が苦という訳じゃないんです。
ただ職場の先輩がちょっとボタンを押したら簡単に四捨五入になったのにって
さわいでたから、、多分おばちゃん先輩の勘違いです。
自分も自信がないからこれで大丈夫なんだぁと安心したっ。
マクロは覚えたいけど、これからばんばろー。ども。ども。
141 :
名無しさん@そうだ選挙にいこう:02/04/19 04:14
文字列内の大文字と小文字は基本的に区別されないということは知ったのですが、
これを何らかの方法で、区別して認識させるようにすることは出来ないのでしょうか?
COUNTIF(A1:A10,"MF")だとMFもmfも拾ってしまって先に進めなくなりました…(今回、MFとmfの差が重大なのです)。
何とか、これを別個のものとして認識させたいのですが…。どなたか御指南頂けないでしょうか?
別シートか別のセルにMF或はmfのコード番号を表示させて
それを、countifで集計させる。
それともマクロを書く
たとえば
Sub counter()
n = 0
For i = 1 To 10
If Cells(i, 1) = "mf" Then
n = n + 1
End If
Next
Cells(11, 1) = n
End Sub
マクロなら文字列は指定したスタイルに合わなければ拾わないけど
143 :
ビッダーズ向上委員長:02/04/19 14:17
144 :
名無しさん@そうだ選挙にいこう:02/04/19 15:14
>134
ありがとうございます。
でも、入力した日付の分だけしかシートが増えませんでした。
一操作で一ヶ月分増やすためにはどうしたらいいのでしょうか。
あと、増えたシートにSheet1の定型フォーマットをコピーされるようにしたい
のですが…図々しいお伺いばかりですみません。
>144
> でも、入力した日付の分だけしかシートが増えませんでした。
ハァ? そういうふうに書いてんだから当り前だろ。
元の質問から1ヶ月分とは読み取りにくいぞ。
大体ここまでやったんだから、少しは自分で考えろやゴラァ!
と言いつつ、これで良いですか?かしこ。
Sub test2()
Dim ws As Worksheet, st, la, i
On Error GoTo ER
Application.ScreenUpdating = 0
st = Application.InputBox("yyyy/m/dで日付を入れてね。", _
"ゴラァ", Type:=2)
If st = False Then Exit Sub
st = DateSerial(Year(st), Month(st), 1)
la = DateSerial(Year(st), Month(st) + 1, 0)
Do While st <= la
Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
ws.Name = Format(st, "m・d(aaa)")
Sheet1.Cells.Copy
ws.Cells.PasteSpecial (xlPasteAll)
Application.CutCopyMode = False
ws.Range("A1").Select
st = st + 1
Loop
Exit Sub
ER:
End Sub
ワークシート関数やマクロを使用して作ったシステムに著作権はつきますか?
147 :
名無しさん@そうだ選挙にいこう:02/04/19 23:50
まじですか?
著作権つかないのか。
くやすぃのでパスワードでガチガチにロックしてやります。
150 :
名無しさん@そうだ選挙にいこう:02/04/20 00:36
>>149 嘘です。
つきますよ。
俺はエクセルベースのファイルを月2万で同業者に使わせてます。
151 :
名無しさん@そうだ選挙にいこう:02/04/20 02:13
>141>142
大文字・小文字の区別ができるEXACT関数と良いこの配列数式を
つかってもできるよ。
=SUM(EXACT("MF",A1:A10)*1)って入力してCTRLとSHIFT押しながら
Enterきー(よいこの配列数式おまじない。)おしてみてね(にこり。
152 :
名無しさん@そうだ選挙にいこう:02/04/20 08:44
まことに初心者的な質問で申し訳ありませんが、
F1を押してもヘルプが出ないようにはできまでんか?
(というかExcelに限った話では無いんですが、
Excelの使用頻度が一番高いもので)
>>142,151
ありがとうございます。お二人のご意見を参考にさせて頂きました。
その結果、うまくいきそうです。お忙しいところ、お時間を頂きまして本当にありがとうございました。
どなたか教えてください。
95や97であった”ワークシートのどっかを選択して
なにかしたら(覚えてなくてすみません)、開発者の名前
とかちょっとしたゲームが出てくるおまけみたいなの”
は2000でもありもすか?
>152
マクロを使ってショートカットキーを置き換えます
Sub macro1()
Application.OnKey "{F1}", ""
End Sub
Sub macro2()
Application.OnKey "{F1}"
End Sub
macro1を実行すると、F1を押してもヘルプが出ません
macro2を実行すると、F1を押してもヘルプが出ます
エクセル起動時に実行するようにすればいいかも。
日本語が変でした
macro2を実行すると、F1を押してもヘルプが出ます
↓
macro2を実行すると、F1を押すとヘルプが出ます
>155さん
ありがとうございます!!
エクセル2000は前に比べしょぼくなってましたが
イースターエッグと呼ばれていることも知りません
でしたので、ほんとためになりました!!
159 :
名無しさん@そうだ選挙にいこう:02/04/20 20:44
みんなピボットテーブル使ってる?
僕はこないだ始めて知って使ってみたけど、あんまり便利なんでビックリ!
Excelってやっぱりすごいね。
>156
ありがとうございます。
マクロは初めて使いました。
こんなこともできるんですね。
また 勉強します。
161 :
名無しさん@そうだ選挙にいこう:02/04/20 22:53
>>145 できました!
ありがとうございます。真面目に勉強してきます…
162 :
名無しさん@そうだ選挙にいこう:02/04/21 01:31
おしえてください。
A1セルに数式「=B1」が入っているとします。
下方向のセルに数式をコピーすると、
「=B2」「=B3」・・・・とコピーされますが、
これを一つ飛ばしで
「=B3」「=B5」「=B7」・・・・とコピーできないでしょうか?
今までコピーした後、数字部分を手直ししていたもので...
よろしくお願いします。
163 :
名無しさん@そうだ選挙にいこう:02/04/21 01:49
別のセルに入力したデータを参照してセルの行数(または縦幅ピクセル)を
指定することはできないのでしょうか?
164 :
名無しさん@そうだ選挙にいこう:02/04/21 06:48
>>162 A1セルとA2セルに「=B1」「=B3」をそれぞれ
入れてから、その2つのセルを選択して下
方向にコピー。
>>164さん
レスありがとうです。が、NGでした。
コピーすると、
「=B1」 手入力
「=B3」 手入力
「=B3」
「=B5」
「=B5」
「=B7」
「=B7」
・・・
になります。
なんかいい方法ないでしょうか?
166 :
名無しさん@そうだ選挙にいこう:02/04/21 12:59
>>166さん
一つ飛びの連続データをつくり、
INDIRECTでできました。
ありがとうございました。
168 :
名無しさん@そうだ選挙にいこう:02/04/21 14:12
マクロを使いこなせれば、もっとエクセルを便利に使いこなせそうだなーと思うのですが、
いかんせん、まず何からやれば良いのか・・・。
良くマクロを書いてらっしゃる方もいるようですが、どこから書いてるんですか?
シートに書いてるようでもなさそうですし・・・。
本当に初心者で申し訳ないのですが、教えていただきたいです。
169 :
名無しさん@そうだ選挙にいこう:02/04/21 17:00
>>168 ネタかな?
Alt+F11 or ツール→マクロ→VisualBasicEditor
で、VBE内に記述するんだけど・・・。
170 :
名無しさん@そうだ選挙にいこう:02/04/21 17:07
いや、ネタじゃなかったんですが・・・。
でもありがとうございました。やってみます。
セルに
[email protected] などとメールアドレスを入力すると勝手にハイパーリンクになって
メーラを立ち上げられるんですが
ハイパーリンクの無効ってどうやるんですか.
勝手になんでもするこれらOfficeの機能,まじむかつく.
172 :
名無しさん@そうだ選挙にいこう:02/04/21 18:01
こんなところにExcelスレが...。
>>171 メニューで[ツール]-[オプション]-[スペルチェック]の中にある
オートコレクトオプションの[入力オートフォーマット]のチェックを
はずせばいいと思う。試してないけど。
173 :
名無しさん@そうだ選挙にいこう:02/04/21 18:34
>>163 Visual Basic Editorを立ち上げて、Sheet1モジュールにこんな風にコードを書く。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sngHeight As Single 'Cellの高さ
sngHeight = Worksheets("Sheet1").Range("A1").Value
Select Case Target
Case Worksheets("sheet1").Range("A1")
Worksheets("sheet1").Rows("2:2").RowHeight = sngHeight
End Select
End Sub
Sheet1のA1に数値を入れると2行目のセルの高さが変化する。
このコードだと入力セルと変化する行が固定で汎用性がないけど、即席ってことで
ゆるして。要は"Worksheet_Changeイベント"を使いなさいってことです。
あとエラーチェックもしてないからA1に数字以外が入るとエラーがでます。
175 :
名無しさん@そうだ選挙にいこう:02/04/21 19:28
(A1-B1)*C1-D1-E1
こういう計算式をいれたんすがそのまま表示されて計算された数字がでませんでした
どういう書き方をすればいいんですか?
>>175 先頭にイコールをつけて入力しろYO!
「=(A1-B1)*C1-D1-E1」
178 :
名無しさん@そうだ選挙にいこう:02/04/21 20:18
文字の入れ換えの仕方を教えてください。
04/21/02 12:00 と言うデータを 2002/04/21 12:00と言う形にしたいんです。
>>178 それって入れ替えじゃなくて、表示書式で出来るんじゃ?
書式メニュー → セル → 表示書式タブ
日付か時刻に似た書式があると思うけど、月日とかを2桁にしたいなら
「ユーザー定義」にして「yyyy/mm/dd hh:mm」を入力
180 :
名無しさん@そうだ選挙にいこう:02/04/21 21:48
>>179 レスありがとうございます。
私もそう思って色々とやったのですが、駄目なんですよ。
なんか、エクセル独特の2002年4月1日が37348だとかで表されるセルのデータじゃないと
ユーザー定義のフォーマットが反映されないみたいなんです。
セルの表示形式を日付や時刻、ユーザー定義等と色々といじっているのですが、まったく
変化が有りません。
2002/04/21とかのデータを37348等の形式のデータに変える方法はどのようにやるのでしょうか?
181 :
名無しさん@そうだ選挙にいこう:02/04/21 21:57
数値などが全部表示しきれなくなると######となってしまいますが、
途中で途切れてもいいから表示させる方法はないでしょうか?
182 :
名無しさん@そうだ選挙にいこう:02/04/21 22:20
1つの列の長さを一律に固定して(例えば30桁)、ある行の値が20桁しか
なくても右スペースを入れて30桁にするということは可能でしょうか??
>>180 ああ 文字列として入力されてるワケね。
=DATEVALUE( ) っていう関数があるから、それを使ってくれ
>>181 たぶん無い 「縮小して全体」を表示じゃだめ?
>>182 文字配置で左詰めにすれば、見かけ上は右にスペースが入るけど、ダメ?
185 :
名無しさん@そうだ選挙にいこう:02/04/21 22:52
どなたか教えて下さい。
数値で90と入力し、これを書式設定で90分と表示させているのですが、
これを1時間30分と表示させる方法はないでしょうか?
QUOTIENTとMODで出来たことは出来たんですが、これだと2つのセルに
分かれてしまうので、他にいい方法があればご教授下さい。
186 :
名無しさん@そうだ選挙にいこう:02/04/21 22:54
>>184 181です。
今も6point font使っててこれ以上小さく出来ないっす。
どうしようもないんですね。
どうもありがとうございました。
187 :
名無しさん@そうだ選挙にいこう:02/04/21 23:10
>>183 レスありがとうございます。
と言うことは、DATAVALUEで日付部を取って、TIMEVALUEで時刻部を取って足しあわせて
数値化するしかないんですね。わざわざ作業用のセルを二つも作らなきゃいけないのか。
便利な方法があると思ったのですが、めんどくさい作業をやらなきゃいけないんですね。
どうもありがとうございました。
188 :
名無しさん@そうだ選挙にいこう:02/04/22 01:04
B1に0004
C1に:
D1に4945
これを統合してB1に0004:4945って出したいのですが・・・
教えてください
>>188 それはあまりにも簡単だねえ。
誰にも聞かずに自力でヘルプ見ながら解決したほうが今後の貴方の
ためだよ。VBAでセル指定して結合後にB1に出力、フォーマットを
文字列にするだけ。
>>188 1. E1に「=B1 & C1 & D1」と入れる。
2. E1を選択してコピー
3. B1を選択して「形式を選択して貼り付け」で 値のみを貼り付け。
4. E1を削除
192 :
名無しさん@そうだ選挙にいこう:02/04/22 01:58
>>189,191
ありがとうございます
つまり何がしたかったと言うと
表示形式の分類が時刻形式である6:37:00を時刻形式のまま00:06:37にしたかったのです
しかし、6:37:00の表示形式を時刻形式から文字列にすると0.275694444444444になってしまいます
データとしてわかりにくくなります
また、時刻形式のまま6:37:00の00だけを分割して削除しても復活してしまいます
そしてA1が0(標準)、B1が0(標準)、C1が:(標準)
D1が6:37:00(時刻形式)で合体しても00:0.275694444444444になってしまい
そのデータを標準形式にしても数字はかわりません
申し訳ありませんが教えてください。お願いします
>>180 ActiveCell.Value = Format(ActiveCell.Value, "yyyy/mm/dd hh:mm")
のようなマクロでなら2002/4/21 12:00のようにきちんと変換されるね。
でも月のmmが二桁として反映されない・・・どこがおかしいんだろ?
それか
A1に 04/21/02 12:00 と言うデータがあるとして
任意のセルに
=VALUE(MID(A1,7,2)&"/"&LEFT(A1,5)&RIGHT(A1,6))
そのセルを右クリック>セルの書式設定>表示形式タブ>ユーザー定義で種類に
yyyy/mm/dd hh:mm
と記入してOKとか
194 :
名無しさん@そうだ選挙にいこう:02/04/22 16:13
知っている方がいらっしゃったら、教えてください。
Application.OnKeyメソッドで10キー内の数字キーへの
プロシージャ設定は可能でしょうか?
普通にApplication.Onkey "1","TEST"としても10キーの「1」キー押下
でも、「TEST」は実行されません。
宜しくお願い致します。
oshietekudasai.
1つの列の長さを一律に固定して(例えば30桁)、ある行の値が20桁だったり
25桁だったりまちまちでも、右スペースを入れて30桁にするということは
可能でしょうか??
結局のところ、固定長のTEXTファイルを作成したいのですが。
>>195 ああ、そういうことね
右端にスペースを30個くっつけて、Left関数で左から切り出せばいいんじゃ?
=Left(A1 & " (スペース30個) ",30)
こんな感じで。
197 :
名無しさん@そうだ選挙にいこう:02/04/22 22:58
ヘルプでも分かりませんでした。
ネットワークパスへ、カレントドライブを切り替えるにはどうすれば
良いのでしょうか?
自分自身が保存されていたところに、カレントドライブ(というか、カレントパスも)
を切り替えたいのですが…。
chdriveでは、先頭1文字しかダメみたいですが…
「ネットワークドライブの割り当て」を使用して、アルファベット
を指定しておかないと無理でしょうか?
-------風俗の総合商社・MTTどこでも-------
〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
http://www.mttdocomo.jp/ -----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/ ------------------------------------------------
>>196 なるほどなるほど。
そんな手がありましたか! m(_ _)m
>197
カレントドライブを切り替える必要性は?
どんな事をやりたいの?
Sub bbb()
MsgBox ThisWorkbook.FullName
MsgBox ThisWorkbook.Path
MsgBox ThisWorkbook.Name
End Sub
201 :
名無しさん@そうだ選挙にいこう:02/04/22 23:46
>200
例えば、テンプレートなどを開いて、「名前を付けて保存」とか
する際、My Documentsなどではなく、自分自身が保存されて
いたフォルダをまず開くようにしたいのです。
FullNameプロパティとかで、パスとかは取得できるのですが、
ドライブの切り替えは…???
職場の複数のPCで、ネットワークドライブの割り当てをしてい
るPCもあれば、してないPC、していても誰かが解除したりと
色々。
ChDrive "d"みたいに、ネットワークドライブにカレントドライブ
を切り替えて、今開いているBookの元フォルダ(これがネット
ワーク上)が、一発で開くようにしたいのです。
202 :
名無しさん@そうだ選挙にいこう:02/04/23 08:19
>197
APIを使ったら?
Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" ( _
ByVal CurrentDir As String) As Long
Private Sub SetCurDir()
' カレントディレクトリの変更
SetCurrentDirectory (ThisWorkbook.Path)
MsgBox CurDir
End Sub
203 :
名無しさん@そうだ選挙にいこう:02/04/23 17:10
質問
時間表示で
1:04:39を64:39で表示するにはどうしたら良いのですか?
h:mm:ssなら1:04:39で表示されるし
mm:ssなら04:39で表示されてしまいます
204 :
名無しさん@そうだ選挙にいこう:02/04/23 17:25
回答
[h]:mm:ss
です
205 :
名無しさん@そうだ選挙にいこう:02/04/23 17:33
>>204 ありがとうございました
思い出しました
206 :
名無しさん@そうだ選挙にいこう:02/04/23 22:54
>>202 やはりVBAのみでは今のところ無理なのですね。
ありがたくこのコードを使わせていただきます。
ありがとうございました! (^-^)
207 :
名無しさん@そうだ選挙にいこう:02/04/23 23:43
PCを触り始めて4年目。
だけど、表とか作る以外のレベルがナカナカ上がらないんです。
数式とか使いこなしたいのに、本を買って読んでも
引数とか用語から分からなくて分からないんです。
こんな聞き方もヘンですけど、どうやって勉強したらいいんでしょうか?
会社の人の数式とか見たら曜日が勝手に入るように
なってたんですけど表示形式がaaaとなってました。
aaaを3つ入れるとかは曜日とかの意味ですか?
>>207 weekday関数の中では曜日を返すときに使うことがある。
aaaをつけないと単なる1から7までの数字(各曜日に対応しているけど)
が帰ってくるだけ。
表示書式の設定じゃない?
>>207 ヘルプ見ろYO!
でもどこから手ぇつけていいかわからないだろうから、
書式設定とか、何かする度にF1押してみ
210 :
名無しさん@そうだ選挙にいこう:02/04/24 02:05
>>207 検定試験受けて見れば?
問題解いてるうちに理解できてくるよ。
ただし、MOUSはクソだが。
211 :
名無しさん@そうだ選挙にいこう:02/04/24 10:45
セルA1に生まれた日、1945/2/21
セルB2に死んだ日、1997/11/11
を入力してセルCに死んだときの年齢52歳を出すのはどうしたらよいのですか?
>>211 =DATEDIF(A1,B1,"Y")
あ、質問通りだったらB2だね。
214 :
名無しさん@そうだ選挙にいこう:02/04/24 11:09
215 :
名無しさん@そうだ選挙にいこう:02/04/24 16:36
Excelってどのぐらいのファイル容量までいけるんですか?
8MBぐらいのデータを作ったらメモリ不足表示が出てしまうんです・・・。
こんなもんしか入らないのかな?
216 :
名無しさん@そうだ選挙にいこう:02/04/24 20:02
98.8MB(1枚のシートの全部のセルに1を入れて保存しました)のブックを
つくってみましたが大丈夫でしたよ。
環境は
WinMe Celeron 255MbRAM XL97
です。
217 :
名無しさん@そうだ選挙にいこう:02/04/24 22:04
>>215 ActiveXコントロール(Combo)等をシートに貼り付けていると、
メモリ不足と怒られたことが多々あったが、
それとは違う?
218 :
nanasi:02/04/25 00:35
容量の大きいファイルを作ると開くのに30分かかったりしてました。
219 :
名無しさん@そうだ選挙にいこう:02/04/25 01:12
1枚のシートが65535行以上あるデータを加工したいんですが、
エクセルでこなす場合にはシートを分けるしかないんでしょうか?
やはりエクセルではなくアクセスで?
エクセル2002で、
フォントや文字サイズを変更しようとすると、
“EXCELの一般保護違反です。
モジュール:GDI.EXE、アドレス:0026:00001e4C
Registers:
EAX=00000001 CS=0597 EIP=00001e4c EFLGS=00000202
EBX=00018992 SS=444f ESP=0000b8c6 EBP=0000b8da
ECX=80000004 DS=11c6 ESI=000001b8 FS=5127
EDX=00000069 ES=016f EDI=00000000 GS=456e
Bytes at CS:EIP:
67 66 0f ab 13 72 69 0f a8 66 53 80 7e ff 00 75
Stack dump:
02e611c6 00000000 00040000 08da8000 015e180e 1e0ab8f4 00e60097 8992456e
00000001 11c60000 456e0000 b92611c6 048f151c 00e60100 8992456e 00000001"
と表示され、強制的にアプリケーションを閉じられてしまいます。
officeXPの再インストゥール、果てはWINDOWSの再インストゥールまでしたのですが無駄でした。
一体、どうしたら良いのでしょうか?どなたか教えてください。
OSは98SE。CPUはペンティアム3の800です。
お願いします。
221 :
名無しさん@そうだ選挙にいこう:02/04/25 08:40
オートコンプリート(以前打ち込んだものと近いのを勝手に表示するやつ)がうっとうしいんだけど、使わないように設定できない?
>>221 ツール→オプション→編集→オートコンプリートのチェックをはずす
223 :
名無しさん@そうだ選挙にいこう:02/04/25 09:18
金額を打ち込むときに、いちいち1980円と打たずに1980と打って、
あとでまとめて一気に後ろに円をつけることはできますか?
>>223 円をつけたい範囲を選択して
右クリック>セルの書式設定>表示形式タブ>ユーザー定義で
種類の記入欄に「#,##0"円"」と記入する
225 :
名無しさん@そうだ選挙にいこう:02/04/25 09:39
すいません教えてください。
選択範囲内の空白のセルをとばして
入力のあるセルだけを並べたいのですが、何か良い方法はありませんでしょうか?
宜しくお願いします。
>>224 「#,##0"円"」
Excelのユーザー定義で#は、そのセルに記入してある数値を
そのまま使うって意味と思っていいのでしょうか?
>>227 だと思ふ(適当)
ちなみに文字列をそのまま使用の場合は「@」
>>225 ↓の4つのマクロのうちのどれかを実行するとか
Sub 空白セルを削除して上にシフト()
On Error Resume Next
Selection.Copy
Worksheets.Add after:=ActiveSheet
With ActiveSheet
.Name = "上にシフトの実行結果"
.Paste
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
.Range("A1").Select
End With
End Sub
Sub 空白セルを削除して左にシフト()
On Error Resume Next
Selection.Copy
Worksheets.Add after:=ActiveSheet
With ActiveSheet
.Name = "左にシフトの実行結果"
.Paste
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
.Range("A1").Select
End With
End Sub
Sub 空白セルを削除して上→左の順でシフト()
On Error Resume Next
Selection.Copy
Worksheets.Add after:=ActiveSheet
With ActiveSheet
.Name = "上→左シフトの実行結果"
.Paste
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
.Range("A1").Select
End With
End Sub
Sub 空白セルを削除して左→上の順でシフト()
On Error Resume Next
Selection.Copy
Worksheets.Add after:=ActiveSheet
With ActiveSheet
.Name = "左→上シフトの実行結果"
.Paste
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
.Range("A1").Select
End With
End Sub
230 :
名無しさん@そうだ選挙にいこう:02/04/25 13:45
>>225 データ−フィルタ−オートフィルタを設定して、データが入っている
セルのみ表示したいフィールドの▼から「空白以外のセル」を選択する。
ではダメ?
>>220ですが、
この質問はこの板であっていますよね?
どこか適切な板をご存知でしたら教えてください。
>>229 たくさん候補を挙げていただいてありがとうございます。
1つずつ試してみます。
>>230 レスありがとうございます。
ですが、空白のセルを跳ばして表示するのでは無く
空白抜きで並べ変えをしたいという意味でしたので。
言葉足らずですみません。
233 :
名無しさん@そうだ選挙にいこう :02/04/25 23:10
234 :
質問です。:02/04/25 23:58
下記マクロのファイルをオープンしている所で
フォルダ指定(できれば種類指定も)を追加したいのですが、
ご存知の方、教えてください。
例:c:\hage\hogehoge\*.xls
Dim strFileName As String
Dim wbTargetBook As Workbook
Dim mySheet As Worksheet
Set mySheet = ActiveSheet
strFileName = Application.GetOpenFilename()
If strFileName = "False" Then
MsgBox "キャンセルが選択されました。処理を中止します。"
Exit Sub
End If
Set wbTargetBook = Workbooks.Open(strFileName)
With wbTargetBook
.Worksheets(1).Range("BF6:BI105").Copy
mySheet.Range("BF6:BI105").PasteSpecial xlValues
Application.CutCopyMode = False
.Close SaveChanges:=False
End With
>>233 おかげで問題解決いたしました。
本当にありがとうございました。
貴方に幸福が訪れる事を切に祈っております。
236 :
名無しさん@そうだ選挙にいこう:02/04/26 00:40
>234
ぱすを変更しちゃって、
eroPath = "D:\erorin\download\erosugi\"
ChDrive eroPath
ChDir eroPath
それからGetOpenFilenameのひっきー数を指定すればいいよ
strFileName =Application.GetOpenFilename("ハァハァファイル,*.wma;*.avi;*.rm")
みたいにすれ。(にこり
237 :
質問です。:02/04/26 00:48
>>236 早速の回答ありがとさんです。
『eroPath』 客先に納品するんでさすがにこれは(w
助かりました。
貴方に美乳が訪れる事を切に祈っております。
>234
>202を応用
Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" ( _
ByVal CurrentDir As String) As Long
Sub Test()
SetCurrentDirectory ("C:\hage\hogehoge")
Set mySheet = ActiveSheet
strFileName = Application.GetOpenFilename("Excelファイル (*.xls), *.xls")
If strFileName = "False" Then
MsgBox "キャンセルが選択されました。処理を中止します。"
Exit Sub
End If
End Sub
240 :
名無しさん@そうだ選挙にいこう:02/04/26 02:02
直線描画時に、Altを押しながらだと
線がセルのエッジに、吸着するのが便利でエクセルでよく図を作成しているのですが
直線を、連続して書きたい場合は
1ライン描く毎に、
毎回直線ボタンを押さないといけないんですか?
F4が、直前の作業を繰り返すらしいので
押下してみたところ
今書いた、直線がペーストされました。
なにか良い方法はありますか?初心者ですいません・・・
>>240 図形描画の線引きアイコンをダブルクリックだったかな?
242 :
名無しさん@そうだ選挙にいこう:02/04/26 08:12
240です!
>>241 さん
超参考になりました!!
ありがとー
243 :
名無しさん@そうだ選挙にいこう:02/04/26 09:26
数字を一括して大文字にしたいのですが。どうしたらよいですか?
例)100→100
どなたか教えてくださいませ
244 :
名無しさん@そうだ選挙にいこう:02/04/26 10:37
JIS関数ではだめですか?
245 :
名無しさん@そうだ選挙にいこう:02/04/26 10:58
Excel5.0ってオートコンプリート機能付いてますか?
>>243 アクティブセルだけ半角文字→全角文字だけど
Sub test()
On Error Resume Next
With ActiveCell
.NumberFormatLocal = "@"
.Value = StrConv(.Value, 4)
End With
End Sub
247 :
名無しさん@そうだ選挙にいこう:02/04/26 14:06
B:小文字
B:大文字
????
248 :
名無しさん@そうだ選挙にいこう:02/04/27 19:04
SUMIF関数でSheet1からSheet5まで同じ計算をさせたい時に
下の式を省略する方法ありますか?
SUMIF(Sheet1!B7:B27,"1",Sheet1!M7:M27)+
SUMIF(Sheet2!B7:B27,"1",Sheet2!M7:M27)+・・・+
SUMIF(Sheet5!B7:B27,"1",Sheet5!M7:M27)
249 :
名無しさん@そうだ選挙にいこう:02/04/27 21:44
>>248 最初は"3-D参照使えばカンタンだろー"って思ったけど、SUMIF関数は
3-D参照使えないのね...。範囲に名前を付けてもダメでした。
素直にそれぞれのシートで合計を出して、串刺し計算するしかないのかな。
ちなみに複数のシートに同じ計算式を入れるには、シフトキーを押しながら
計算するシートの見出しをクリックしてから数式バーに計算式を入れると良いよ。
計算式を確定したら、シートの作業グループを解除するのを忘れずに。
知っていたらすまそ。
250 :
名無しさん@そうだ選挙にいこう:02/04/28 03:03
Excel2000です。
A列に漢字名、B列にふりがなが入力されていて、C列に1つにまとめるには
どうすればいいのでしょうか?
例
A1 札幌市中央区
B1 さっぽろしちゅうおうく
C1 札幌市中央区 にふりがなを表示させる
A列はフリガナの情報を持っていません。(他ファイルからのコピペ)
251 :
名無しさん@そうだ選挙にいこう:02/04/28 04:11
>250
VB使うとして....キモの所だけ書く。
Range("C1") = Range("A1")
Range("C1").Characters.PhoneticCharacters = Range("B1")
offset使うなりした上で適当にループ回しなさい。
>>251 即レス、ありがとうございます。
早速試して見ます。
>>250 C1に =CONCATENATE(A1,B1)
254 :
名無しさん@そうだ選挙にいこう:02/04/28 10:22
範囲の選択、挿入、名前、作成、左端列の順番で名前を作成したのですが、
その列以外で名前を使おうとすると、#VALUE!が表示されます。
どうやったらほかの列でも名前を使えますか?
255 :
名無しさん@そうだ選挙にいこう:02/04/28 16:07
EXCEL2000ですが
グラフで目盛りの取り方を片対数方眼紙のように
取ってグラフを書くことは出来るのでしょうか?
256 :
名無しさん@そうだ選挙にいこう:02/04/28 17:01
>>255 グラフウィザードで出ないのか?
Mac版のExcel 5.0なら、候補の中にあるが。
>>256 グラフウィザードで
ユーザー設定タブの方を見たらありました。
どうもありがとうございました。
258 :
名無しさん@そうだ選挙にいこう:02/04/28 21:01
>>254 ヘルプには
ブックを新規作成する場合に「セル参照に行見出しまたは列見出しを使用する」
オプションを設定しておかないと、ラベル (見出し) を使う数式の再入力が
必要となります。
とあるが、設定してる?
設定場所は[ツール] メニューの [オプション] をクリックし、[計算方法] タブ
だそうだ。
259 :
名無しさん@そうだ選挙にいこう:02/04/29 17:22
エクセルを勉強するのに、いい書籍orHPを教えてください。
初心者〜中級者向けを探しています。
>>259 GoogleでEXCELを検索しれ。イパーイ出てくるぞ。
書籍は本屋で見て解かりやすそうなの(自分がそう思うもの)を買いなさい。
俺は書籍は見なかったなぁ
全部ネット検索でなんとかなった
263 :
名無しさん@そうだ選挙にいこう:02/04/29 19:38
仕事場と家のパソコンのメールアドレスを一緒にまとめようと
思いメルアドをcsv形式でエクスポートしてエクセルで2つの
ファイルを開きコピペで1つのファイルにまとめたのは良いのですが
ダブッテルメルアドとかがあるんですよね、、
何か良い方法でデーターの並び替えは出来ないでしょうか?
詳しく言うとA列に名、B列に姓、C列に表示名、でD列にメルアドってな
感じです。D列に同じメルアドがある場合はその行を表示しないように
出来ませんかね?
(ノ゚ο゚)ノ オオオオォォォォォォ-
そんなやり方は全然思いつきませんでした!
どうも有難うです♪
>>264さん
266 :
名無しさん@そうだ選挙にいこう:02/04/30 13:24
教えてください。
複数のシートの内容を1つのシートにまとめることは出来ますか?
例えば、シート1に2レコード。シート2に3レコードあったとすると、
シート1の3〜5レコード目にシート2の内容をコピーしたいのです。
数十シートあり、いちいちカット&ペーストしてられないので。
>266
「いちいちカット&ペーストしてられないので」って、チト エラソウだぞ。
スキルないなら、それも仕方ないだろ?
同一ブック内で全シートの内容を「Sheet1」にコピー
(但し最初の行はタイトル行として抜いてる)
Sub aho()
Dim ws As Worksheet, tws As Worksheet
Set tws = Worksheets("Sheet1")
For Each ws In Worksheets
If Not ws Is tws Then
With ws.UsedRange
.Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count) _
.Copy tws.Range("A" & tws.Range("A65536").End(xlUp).Row + 1)
End With
End If
Next
End Sub
268 :
名無しさん@そうだ選挙にいこう:02/05/01 01:29
↑
Sub aho()はひどいぞ。
でもちょっとわらた。
269 :
名無しさん@そうだ選挙にいこう:02/05/01 17:59
EXEL2000です。
100*200-300 という計算式でセルに入っているものを、結果の値だけ
別のセルに入れることはできるのでしょうか?
ほんと初心者で申し訳ないです。
270 :
不明なデバイス:02/05/01 18:04
初心者のレスで申し訳ありませんが。その方法は次のような方法で実現できます
ただし、こちらはXPを使用しているのでお気をつけください。
コピー元のセルで右クリックからコピーを選び、コピー先のセルで右クリックをして
貼り付けます。この状態でおそらくはゼロが表示されれるでしょう。相対参照のため
です。横に出てくる貼り付けのプロパティ(?)みたいなものがあると重いますので
「値のみ」を選択すれば完了です
271 :
不明なデバイス:02/05/01 18:08
こちらも質問なんですが、エクセルの関数として「tan関数」は与えられた角度を
タンジェント表示するものですが、それとは逆の操作をできる関数は無いものでしょうか?
たとえば、tanA=1と言う値に対してA=45°もしくはπ/4のような操作をしたいのですが。
角度は0°<A<90°のみに対応できればかまいません。
申し訳ありません。
書き方が悪かったです。
100*200-300 というのは文字列でセルに入ってます。
ですからコピーするだけでは同じように文字列になってしまいます。
273 :
名無しさん@そうだ選挙にいこう:02/05/01 18:40
仕事で作った表でセルを使用したのですが、一部でセルが反映されません。
左上の=ボタンを押すとちゃんと計算するんですけど、、、普通に数値を入力しただけでは計算してくれないマスがいくつか・・・
だれか原因わかりませぬでしょうか?
274 :
不明なデバイス:02/05/01 18:42
>>272 それでは前の書き込みの内容に対して矛盾しています。
一応、想定される可能性として100*200-300という文字列の入っている
セルの計算結果を別のセルに出したいのであれば今、上の文字列がA2に
入っているとしてB2に出すのであればB2のセルに「=A2」と書き込めば
計算結果を出すことができます。
275 :
名無しさん@そうだ選挙にいこう:02/05/01 18:53
98765と入力してあるセルから9 8 7 6 5 と、位ごとにそれぞれ別のセルに入力したいのですが関数で可能でしょうか?
>>275 LEFT関数、RIGHT関数、MID関数
>>274 「=A2」としても、やっぱり文字列がそのまま表示されてしまいます。
表自体は別の人が作ったのですが、その人曰く1-2-3では出来るが
EXELでは出来ないと聞いたとのことでした。
関数なんかも探してるんですが、これがどうにも分かりませんで;;
>>278 ペースト時に『形式を選択して貼り付け』で『値のみ』ではだめか?
283 :
名無しさん@そうだ選挙にいこう:02/05/01 20:04
>>281 そうです。
普通は文字列「100*200-300」とセルに入っている場合
頭に=を入力して「=100*200-300」とすれば勝手に数式になって
値が入ってくれますが、別のセルに値だけ入力する場合は
文字列をコピーして頭に=を入力することになります。
数が多くなってくるとそれも面倒なので関数で出来ないかということです。
説明下手で申し訳ない;;
>>284 引用符を付加できるクリップボードユーティリティで「=」の引用符を付加して貼り付けるとか。
この方法は列単位のコピー&ペーストでしか使えないけど・・・
>>285に追加
しかも空白セルにまで「=」の引用符が付加されるので実用的じゃないかも。
やっぱマクロでやった方がいいかもね。
287 :
不明なデバイス:02/05/01 21:34
288 :
名無しさん@そうだ選挙にいこう:02/05/01 22:14
キーボードでのショートカット(Ctrl+Pで印刷、Ctrl+Oでファイルを開くとか)がありますが、
そういうのをまとめたサイトって無いですかね?
スレの趣旨とは激しく違うかもしれないですが・・・
290 :
名無しさん@そうだ選挙にいこう:02/05/01 22:21
1. 100*2-300 の セル
2. = が入ったセル
3. 1 と 2 を & でつなげる
4. コピー → 形式を選択して磔で 別のセルに
=100*2-300 という文字列を作る
5. メニューの データ → 区切り位置 → 次 → 次
結果を出したいセルを選択 → 完了
セルが連続してるならこんな感じで出せるようだが・・・
これじゃダメ?
292 :
名無しさん@そうだ選挙にいこう:02/05/02 08:02
エクセル2000です。
既に配置済みのピボットテーブルに
どれが列に入っている項目で
どれが行に入っている項目で
どれがデータに入っている項目なのか解らなくなります。
配置し直す時、ごちゃごちゃになって解りません
項目がどこに入っているのか人目で解る方法はないですか?
293 :
名無しさん@そうだ選挙にいこう:02/05/02 11:52
標準偏差を出す関数を教えてください
>>293 標本に基づいた標準偏差 ---- STDEV関数、STDEVA関数
母集団全体に基づいた標準偏差 ---- STDEVP関数、STDEVPA関数
295 :
名無しさん@そうだ選挙にいこう:02/05/02 12:26
淋しくって誰かに相手して欲しかったんじゃない
Excel2000で数字に全角と半角が混じって打ってあった場合に
全て半角にやり直す方法があったのでが忘れました。。
どなたか教えてください お願いしやっす
299 :
名無しさん@そうだ選挙にいこう:02/05/02 22:17
質問です
ファイルを開くときに好きなシートを必ず表示させる方法を教えてください
>>299 1.Alt+F11でVisual Basic Editorを起動
2.左側フレームの「ThisWorkbook」をダブルクリック
3.右側のフレームに↓を貼り付ける ※("Sheet3")の部分はファイルを開いたときに表示したいシート名
Private Sub Workbook_Open()
Worksheets("Sheet3").Activate
End Sub
301 :
名無しさん@そうだ選挙にいこう:02/05/03 08:52
質問です@Excel2002
DGET関数等のデータベース関数ですが、
参照先のデータベースおよびフィールドに、
外部データや別シートを指定する事は出来ないんでしょうか?
303 :
名無しさん@そうだ選挙にいこう:02/05/03 19:09
>>269 VBAで、Evaluate関数というのがあって、お望みの動作をすると思います。
ただ、ワークシート上で使えないので、関数を作ってしまいましょう。
[Alt]+[F11]で、VBAエディターを表示させ、[挿入]メニューの[標準モジュール]を選ぶと、
新しいウィンドウが開くので、以下をペーストします。
Function Eval(x As String) As Double
Eval = Evaluate(x)
End Function
あとは、ワークシートで、=EVAL(セル名)などと好きなように
>>303 つーか、VBA使うならこれで良いんじゃない?
100*200-300 のようなデータが入っているセルを全て選択して実行。
右隣のセルに結果。
Sub aaa()
Dim r As Range
For Each r In Selection
r.Offset(0, 1) = "=" & r.Text
Next r
End Sub
305 :
マクロ初心者:02/05/04 12:18
どなたかマクロに詳しい方、私にご教授下さい。
現在、私はデータベースの蓄積・更新のブックを作成しているですが、
行き詰っています。以下、フローチャートを書きますので、アドバイス
を頂けないでしょうか。
@初期状態として、セルA1からA320まで数字のデータがあります。
セルA1には、ウェブクエリーからの新データが1分間隔で更新され
ます。
↓
Aクエリーからのデータがダウンロードされるたびに、最も古いデータ
(セルA320)を削除し、データ更新前のデータA1からA319を一
つずつ下のセルへずらし(セルA2からセルA320へデータを移行)
ます。
↓
Bこの一連の作業を、クエリーデータが自動更新されるたびに自動的に
マクロも実行します。
↓
Cこのクエリーデータのインポート・更新・マクロの実行の全自動化の
ブックが完成したら、統計作業を行いたいと考えています。
例えば、セルA1からA20までの間の平均値や分散といったものです。
セルがA行だけでなくB行、C行と増えていったら、各行ごとの相関関
係等も求めたいと考えています。
宜しくお願いいたします。
306 :
名無しさん@そうだ選挙にいこう:02/05/04 15:34
age
>>304 ・必ず右のセルが空いている
・Undoできなくてもよい
という条件ならそれでもいいですが。
まあ、質問者が選ぶ問題でしょう。
ん?>303 を否定するつもりでは、なかったんだけど....
>307
Offsetを変えれば、右でも左でもOKだし、数式を変えたら
再実行すれば良いだけだと思うけど。
これなら該当ブックに組む必要も無いし。
まあ、質問者が選ぶ問題だわな。
309 :
名無しさん@そうだ嫁にいこう :02/05/04 21:35
>303 >304
VBA使わないというわけではないけど、私の知ってるサイトで
こんなやりかた紹介されてたよ。ひさしぶりにビクーリしたよ。
>ちょいと手間はかかりますが「名前の定義」で
>計算式を指定しても計算結果を表示できます
>以下、手順です
>1:セルB1を選択
>2:[挿入]-[名前]-[定義]とただり[名前の定義]ダイアログ表示
>3:「myEval」と名前を入力し「追加」ボタンを押す
>4:「参照範囲」に「=EVALUATE(A1)」と入力
> セルA1に「=」が含まれていない式の場合は
> 「=EVALUATE("=" & A1)」とする。で「OK」ボタンで完成
名前つき範囲に計算式を相対参照で使えるのは知ってたけど
Evaluateも使えるんだね。セルに「=myEval」で左のセルに
書いてある文字列の計算結果を返すんだもん(にこり
>>309 それが一番スマートかも。
Undoできるし。
私はUndoできないのがいやで、あまりVBA使わないのよ。
その方が頭の体操になるし。
どうしようもないときは使うけど。
311 :
名無しさん@そうだ選挙にいこう:02/05/05 03:33
マクロを定期的に自動更新する方法をご存知の方、いらっしゃらない
でしょうか?
マクロを1分間隔で自動的に実行したいのですが…
宜しくお願いいたします。
ちょっとご相談を・・・。
エクセルを立ち上げると、数日に一回の割合で強制再起動(リセット)されます。
ブルースクリーンで、英語でズラズラなんか書いてるのですが、
数秒しか表示されないため、訳わかりません。
エクセルだけですね・・・こんな現象は。
システム構成
OS:ウィンドウズXp
メモリ:384MB
CPU:セレロン1G
HDD:20Gで、空きが3Gぐらい
その他、システムが不安定になるようなデバイスは無し。
詳しいかた、是非ともアドバイスを。
313 :
名無しさん@そうだ選挙にいこう:02/05/05 11:41
>311
305の人かな?OnTimeメソッドっていうのがあるから
それのヘルプを見てみれ。そのまんまのコード乗ってる。
314 :
名無しさん@そうだ選挙にいこう:02/05/05 13:42
EXCELでVBAをつかってフォームを作りたいんですけど
どうすれば出来ますか?挿入⇒フォームで作れるんですけど
作成したエクセルファイルを開いてもシートが表示されるだけで
フォームが出てきません。シートは表示しないで、作成したエクセルファイルを
開くとフォームだけ表示するように出来ますか?
宜しくお願いします。win2000 office2000です。
315 :
名無しさん@そうだ選挙にいこう:02/05/05 14:07
>>314 フォームは何か(例えばボタンを押したら)の後じゃないと
出ないと思います。.showをつかっても一瞬シートは表示されると
おもうし、ファイルを開いてすぐフォームっていうのは無理っぽ。
316 :
名無しさん@そうだ選挙にいこう :02/05/05 15:00
>>314-315 BookのAutoOpenイベント(うろ覚え)でフォームが表示できた気が
するけど。(シートは一瞬表示されたかな。マクロ実行を許可する
かのダイアログは出していたからなぁ)
フォームを表示させたときには、シートは非表示にできたけど。
>>314-315 以前に同様の内容で質問して回答をいただいたことがあ
るので、お答えします。
1.Alt+F11でVisual Basic Editorを起動
2.プロジェクトエクスプローラの「ThisWorkbook」をダブルクリック
3.右側のウィンドウに↓を貼り付け
Private Sub Workbook_Open()
userform1.show
End Sub
318 :
名無しさん@そうだ選挙にいこう:02/05/05 17:27
均等割付の左右両端にスペースを入れたいのですが、
「前後にスペースを入れる」ですと文字数が異なるとずれます。
何か方法ありませんか?
319 :
名無しさん@そうだ選挙にいこう:02/05/05 18:32
book1.xlsのvbaでbook2.xlsのどこかのセルの値を取得したいときは
どのようなコードにすれば出来ますか?
何度も挑戦しているんですがbook2.xlsが開いてからではないと
値を取得できません。book2.xlsを開かずに値を取得するのは
不可能なのでしょうか?
>319
パスが固定なら、これで出来たよ。
Sub test()
ActiveCell = "='C:\WINDOWS\デスクトップ\[Book2.xls]Sheet1'!" & ActiveCell.Address
ActiveCell = ActiveCell.Value
End Sub
>318
B1に入力し均等割付、A1とC1を余白扱いにしてA1〜C1で罫線を引く...
くらいかな?
322 :
305,311:02/05/05 19:16
>>313 おっしゃる通りです。
大変貴重なアドバイスありがとうございます。
早速、検索して勉強してみたいと思います。
感謝、感謝!!
323 :
名無しさん@そうだ選挙にいこう:02/05/05 19:49
>>320 ActiveCell.Addressではなくてセルを指定ってできますか?
例えばbook1のボタンを押すとbook2のA1〜A10の中からbook1のテキストと同じ物を検索するような
感じです。お願い致します。
>>321 それは自分も使ってます。
やはりWordのコピペして均等割付するしかないのかな?
超難問?
無人島に何人かの男女がいるとします。出産可能年齢を男性は20-60歳,女性は20-40歳とします。
寿命は共に80歳とします。
近親の影響を受けずに,地球の人口を無限?に増加させるためには,最初に最低,何歳の男女を何人ずつ用意しなくてはならないでしょうか?
計算不能であれば,出産可能年齢・寿命を考慮しなくても可。ただし,近親の影響は必ず考慮する物とします。
近親の影響を受けなければ,男女1人ずつ計2名で大丈夫だからです。
>323
> book2のA1〜A10の中からbook1のテキストと同じ物を検索するような
↑何がしたいのか解りませんね。Vlookup?
A1〜A10を写すなら
Sub test2()
Dim i As Long
For i = 1 To 10
Range("A" & i) = "='C:\WINDOWS\デスクトップ\[Book2.xls]Sheet1'!A" & i
Range("A" & i) = Range("A" & i).Value
Next i
End Sub
Vlookupなら
Sub Test4()
Range("B1") = "=VLOOKUP(A1,'C:\WINDOWS\デスクトップ\[Book2.xls]Sheet1'!$A$1:$B$21,2,0)"
Range("B1") = Range("B1").Value
End Sub
開いている事が解らないようにしたいだけなら、開いて処理した方がやりやすい
Sub test3()
Dim wb As Workbook, myRange As Range
Application.ScreenUpdating = False
Set wb = Workbooks.Open("C:\WINDOWS\デスクトップ\Book2.xls")
Application.Windows(wb.Name).Visible = False
Set myRange = wb.Worksheets(1).Range("A1:A10")
Application.ScreenUpdating = True
For Each r In myRange
MsgBox r.Value
Next r
wb.Saved = True
wb.Close
Set wb = Nothing
Set myRange = Nothing
End Sub
>325
面白そうだけど数学板あたりで聞いたほうがいいんじゃないの(w
>>325 つーか、そんな大まかな問い、Excelでも数学でも解きようがないだろ。
329 :
やりたいのにできない!:02/05/06 11:22
ある6人の人に約50個のものを割り当てたいんです。同じ数ずつじゃなくて、違った数ずつ。
しかも、その約50個のものにはシリアルナンバーが振られてて、その6人の人に割り当てる時に、そのシリアルナンバーが隣り合わないようにしたいんです。
その6人の人に割り当てる個数と全体の個数(約50個)が決まった時点で、その数を入力すると、乱数を発生させるなどして、しかも隣り合わないようにシリアルナンバーを割り当てることなんてできますか?
なぜか、あるbookに限って、オートシェイプができないんですけど、どうしてでしょうか?
図形描画を押して、オートシェイプを押して、基本図形などのところにカーソルをもっていっても、右側にでてくる線種のリストが全部白抜きになってるんです。
どうしてでしょうか?
331 :
名無しさん@そうだ選挙にいこう:02/05/06 11:34
そりゃ無理だ!手作業の方が早いでしょ!
332 :
名無しさん@そうだ選挙にいこう:02/05/06 11:55
>>329 その処理をこれから何度もやらなくてはいけないんだったら、専用のプログラムを組むという方法もあるが、
数回だけなのだったら、
乱数を発生し、その結果によって次の番号の品の割り当て先を残りの5人の中でまだ予定数に達していない人から選ぶ、
というのを約50回繰り返す、
のようなのを作って、条件にあうまで再計算すれば?
333 :
やりたいのにできない!:02/05/06 12:10
>>332 ありがとうございます。
でも、何回もしなくてはいけないんですよぉ。だからこそ、専用プログラムがほしいんです。
ふーむ。
条件がさほど厳しくないなら、上記の
約50回繰り返すのを条件にあうまで再計算
まで自動化して、様子をながめていれば、最近の高性能CPUならすぐに答えが出るだろうけど。
その、違った数ずつが極端に違うのだったら、それを別処理する必要があるかも。
335 :
名無しさん@そうだ選挙にいこう:02/05/06 12:27
突然レベルの低い話で申し訳ないんですが
右詰で等間隔のスペースをおいて5桁の数値を打っていきたいんですが
”[DBNum3]0 0 0 0 0 0”だと前頭に0が付いてしまいどうも上手くいきません
どうすればいいでしょう
>>333 何回もしなくてはいけない、が、何十回何百回では無いようなので、手抜きだが作ってみた。
下のCSVをA1:I4に入力し、4行目を52行目まで下にコピー。
予定数のところは、合計が50になるように入れる。
C列に条件が合わない人の数が出るので、
再計算を繰り返して、C52をゼロにするのが目標。
すぐにはうまくいかないので、
まずC40を目標値ゼロでゴールシーク。結果が出たら、A1:I40までをコピーし、数値としてペースト。
(ここまでの結果を確定。)
続いて、C47あたりを目標値ゼロで同じように。
最後に、C52をやればOK。
途中の状態により、収束しないときは、何ステップか戻ってやり直す。
---------- ここから csv ----------
,割り当てる人,マイナスの人数,0,=D1+1,=E1+1,=F1+1,=G1+1,=H1+1
予定数,,,5,7,8,9,10,11
1,=INT(RAND()*6),"=COUNTIF(D3:I3,""<0"")","=D2-IF($B3=D$1,1,0)","=E2-IF($B3=E$1,1,0)","=F2-IF($B3=F$1,1,0)","=G2-IF($B3=G$1,1,0)","=H2-IF($B3=H$1,1,0)","=I2-IF($B3=I$1,1,0)"
=A3+1,"=MOD(B3+1+INT(RAND()*5),6)","=COUNTIF(D4:I4,""<0"")","=D3-IF($B4=D$1,1,0)","=E3-IF($B4=E$1,1,0)","=F3-IF($B4=F$1,1,0)","=G3-IF($B4=G$1,1,0)","=H3-IF($B4=H$1,1,0)","=I3-IF($B4=I$1,1,0)"
---------- ここまで csv ----------
337 :
名無しさん@そうだ選挙にいこう:02/05/06 13:41
68 :参加するカモさん :01/12/11 17:29
ひろゆきってたまーに驚く程幼稚なセリフ真顔で吐くんだけど、いったいどういう
青春を送ってきたのだろう?
普通に成長を遂げた人間であれば赤面してしまうような恥ずかしいセリフ
82 :参加するカモさん :01/12/13 15:02
なんとなく言ってることわかる。
俺もひろゆきと何回か話したことあるけど、大昔のドラマでも見てるような気になった
95 :参加するカモさん :01/12/22 16:35
飲み会になると、必ず「遅刻」の話を得意気に語りだすけど、ひろゆきって遅刻することかっこいいと
思っているのかな?
回りの人間は苦笑するしかないけど、この人やっぱり幼稚だと思う
338 :
名無しさん@そうだ選挙にいこう:02/05/06 13:42
Aが「名無し」でBが「さん」と書いてあった場合
A+Bの文字列をCに出したいのですがどうやれば
出来るでしょうか?
A B C
名無し さん 名無しさん
こんな感じでCにA+Bの文字列を入れたいのです・・
C2に、=A2&B2 と入れる
341 :
やりたいのにできない!:02/05/06 14:04
>>336 ありがとうございます。csvを見て、「あ〜、そうか!これって何だろう?」
と感心しきりです。
私が結果としてしたかったのは、Aさん、Bさん、Cさん、Dさん、Eさん、Fさん
という6人の人に、シリアルナンバーのついたものを割り振りたかったのです。
よって、Aさんには、1番と5番と11番と33番。
Bさんには、2番と9番と50番
Cさんには、・・・・・とでてくるようになっていてほしかったのです。
何と言っても、エクセルを渡して使うのは、素人さんですから。
って言う私も素人なんでしょうけど。(T.T)
すみません。そのように、お願いできますでしょうか?
A列が、シリアルナンバーの1〜50で、
B列が、それを割り当てる相手(0〜5の6人)になっている。
だから、B列基準でA列を並びかえればいい。
後は自分でやってみて、判らなかったら聞いて。
これから出かけるので、返事は夜か明日になるけど。
343 :
やりたいのにできない!:02/05/06 14:53
>>342 本当にありがとうございます。
でも、C40まででもなかなか値が0にならなくて・・・。
どうしても、Aさん、Bさん・・・に割り当てる個数が食い違って来てしまうのです(T.T)
344 :
名無しさん@そうだ選挙にいこう:02/05/06 16:02
変動係数ってどうやって求めるのですか?
1時間ずっと悩んだのにさっぱりわかりません
どうか教えてください
>>343 手動で、1回1回再計算だとなかなかゼロにならないので、
ツールメニューのゴールシークで、
数式入力セルを C40
目標値を 0
変化させるセルを どこでもよいが例えば A60
にすると、何度も再計算をやってくれる。
という答えでいいかな?
louts123で@@(文字列)関数があるのです
文字列に”A:A1”(excelでは「sheet1!A1」かな)
を、入れるとA:A1セルの値が参照できます。
ところが、この関数文字列に範囲名や”A:A1..B10”を入れると
@sum(@@(文字列))など、範囲として使えます。
範囲として使える関数はEXCELにはあるのでしょうか?
EXCELそのような参照は出来るのでしょうか
>>346 123はよく知らないが、
=INDIRECT()
は範囲でもいけるよ。
何を勘弁?
348 :
エクセル・オンチ2:02/05/07 11:42
タイトル:エクセルの指定項目(行)削除教えてください
エクセルで作成したデータの1部を削除したいのですが・・・・
具体例として・・・
1001−00
1001−01
1001−02
1002
1003−00
1003−01
の各行のうち −00 とハイフンの付いていない行を残したいのですが・・・・どーすればよいでしょうか?
349 :
やりたいのにできない!:02/05/07 12:11
>>345 ありがとうございます。じゃあ、いろいろと変えてやってみます。
とやってみたのですが、ちなみに例で入れて下さったcsvだと、答えは収束しますか?
私はしなかったのですけど・・・。(T.T)
すいません。再掲します。
なぜか、あるbookに限って、オートシェイプができないんですけど、どうしてでしょうか?
図形描画を押して、オートシェイプを押して、基本図形などのところにカーソルをもっていっても、右側にでてくる線種のリストが全部白抜きになってるんです。
どうしてでしょうか?
誰か教えて下さい。お願いします。
と隣の席の人がいってます。
>>348 対象の列に対して
データ>フィルタ>オートフィルタを実行し
▼をクリック>オプションのオートフィルタオプションで
抽出条件の指定で「−」「を含む」>OK
抽出された結果を選択し 右クリック>行の削除 でどうだろ?
352 :
エクセル・オンチ2:02/05/07 13:04
>>351 348です。
>▼をクリック>オプションのオートフィルタオプションで
>抽出条件の指定で「−」「を含む」>OK
の操作がよくわかりません。もう少し・・・・(スイマセン)
>>352 対象の列に対して データ>フィルタ>オートフィルタを実行すると、
そのセルに▼が出てリストを選択できるようになるだろ?
そこの▼をクリックって事。
わからなければオートフィルタについてヘルプみるなり検索するなりしてください。
>>349 う〜ん、わたしのところだと、50個の内の40までとかなら、
あっという間に収束するけどなあ。どこが違っているんだろう。
50の内の30ぐらいまでとかならどうですか?
このシートの仕組みは、以下のようになっています。
D1:I1 人の通し番号
D2:I2 各人の品物を受け取る予定数
A3:A52 品物の通し番号
B3:B52(割り当てる人) 各品物を割り当てる人の番号(乱数で決定、ただし、一つ上の品物と同じ人には当たらない)
D3:I52 B列を見て、品物が自分に割り当てられた場合には、受け取る予定数を一つ減らす。
C3:C52(マイナスの人数) D〜I列を見て、受け取る予定数が負になっている人(前提条件に合わない人)の数。
うまく動いていないということなので、以下の点を確認してみてください。
B3:B52(割り当てる人)には、0から5の数が、同じ数が連続しないようにランダムに出ていますか?
DからIの各列は、B列の値によって予定数から一つずつだんだん減っていっていますか。
C3:C52(マイナスの人数)には、途中までゼロで、その後1, 2, 3と増えていってますか?
356 :
やりたいのにできない!:02/05/07 16:46
>>354 いつもいつも本当にありがとうございます。
確かにゴールシークをC40までかけるとC42までは収束するのです。
B3:B52(割り当てる人)には、0から5の数が、同じ数が連続しないようにランダムに出ています。
DからIの各列は、B列の値によって予定数から一つずつだんだん減っていっています。
C3:C52(マイナスの人数)には、途中までゼロで、その後1, 2, 3と増えていってます。
でも、C52までは収束してくれないのです・・・。(T.T)
>>356 とすると、シートは合っているようなので、収束のさせ方ですね。
最後までを全部乱数で結果を求めるのは、この手抜きシートでは難しいので、
前に書いたように、
まずC40を目標値ゼロでゴールシークして結果が出たら、
A1:I40までをコピーし、同じ場所に数値として特殊ペースト。
これで、ここまでの結果を確定する。
その状態で、次にC45を目標値ゼロでゴールシーク。結果が出たら同じように確定。
というようにやったらできると思うんだけど。
うまくいかない時は、数値の部分を元の数式に戻して、もう一度はじめから。
358 :
名無しさん@そうだ選挙にいこう:02/05/07 17:12
エクセルのVBAにおいて、条件分岐で700以上800以下は色を青。
というようにしたいのですが、この様な場合IF文で書くしかないのでしょうか?
900以下800以上→790以下700以上という感じで15回ほど分岐しなくてはならないので、
方法があったらよろしくお願いします。
それと、90以上は赤にするという条件に文字列を掛けたら赤くなってしまったのですが、
なぜこの現象がおこるのでしょうか?
ご教授おねがいします。
359 :
エクセル・オンチ2:02/05/07 17:51
>>355 そうだ選挙へ行こう様
348=352 です。ありがとうございます。
緊急時のため、他スレにもカキコしましたが、
あなたさまのおかげで5万人会員リストが整理つき、
本日会誌の発送ができます。
抽出条件の指定で、*を使用することが理解できました。
ぜひ、あなた様の門下生に加えてください。
360 :
名無しさん@そうだ選挙にいこう:02/05/07 20:01
Sub test3()
Dim wb As Workbook, myRange As Range
Application.ScreenUpdating = False
Set wb = Workbooks.Open("C:\WINDOWS\デスクトップ\Book2.xls")
Application.Windows(wb.Name).Visible = False
Set myRange = wb.Worksheets(1).Range("A1:A10")
Application.ScreenUpdating = True
For Each r In myRange
if Sheet1.textbox1.text = r.Value then
MsgBox r.Value
end if
Next r
wb.Saved = True
wb.Close
Set wb = Nothing
Set myRange = Nothing
End Sub
これでr.Valueが何行目で取れたかってどうやったらわかりますか?
r.ValueがA7にあったらその行のB7,C7,D7,E7を取得したいのですが・・・
361 :
名無しさん@そうだ選挙にいこう:02/05/07 20:10
罫線で枠を作成しました。
その角を丸くしたいのですが、これって可能でしょうか?
>>360 rにセルのさんしょーが格納されてるんだから
MsgBox r.Value & "あとね、行番号は" & r.Row
でわかるよ。
>>361 罫線の角をまるめるのは無理なの。オートシェイプとかで
作ってみてね(にこり
363 :
sarina:02/05/07 22:18
エクセルの罫線がプリンターによって太さが変わりますが
じぶんで設定する方法無いですかね普通は細いのと太いの2種類しかできない
と思うのですが どうでしょうか
364 :
名無しさん@そうだ選挙にいこう:02/05/07 22:23
>>358 Select Caseと言うのもあるけど、それじゃだめかな?
(詳細はHelp参照してね。)
後半部分はコードを見ないと何とも言えないけど、
多分記述ミス。(違ったらごめん)
365 :
名無しさん@そうだ選挙にいこう:02/05/07 22:28
>>363 既出だけど、
罫線無しの下にある波線を含めたりすると、4種類くらいは書けるよね。
あくまで「表計算ソフト」なんだから、余りこだわらない方が吉かと思われ。
366 :
名無しさん@そうだ選挙にいこう:02/05/07 23:19
厨房質問ですが
列の中に含まれる特定の文字の総数を参照するには何を使ったらいいですか?
>>366 特定の「列」っていうのがよくわかんないんだけど
A1に入力してある文字列の中に「ゑ」という文字が
いくつあるかは
=LEN(A1)-LEN(SUBSTITUTE(A1,"ゑ",""))
みたいに調べたい文字を置き換えちゃって長さ比べればできるよ
>>362 あ”かなり初心者質問していまいましたね。
ありがとうございます。助かりました。
369 :
名無しさん@そうだ選挙にいこう:02/05/07 23:58
>>367 判りにくい質問で失礼しました
セルAの中にということです
具体的に書くとA1:A100の範囲内でセル1つに対しランダムに0と1が一文字配置されていて
その中で1が何個あるのかを調べたかったのです
370 :
やりたいのにできない!:02/05/08 00:34
>>332 本当に何回もありがとうございました。
何とかやってみます。また明日職場に行って頑張ってみます。
誰か教えてくださ〜〜い!お願いします。m(__)m
なぜか、あるbookに限って、オートシェイプができないんですけど、どうしてでしょうか?
図形描画を押して、オートシェイプを押して、基本図形などのところにカーソルをもっていっても、右側にでてくる線種のリストが全部白抜きになってるんです。
どうしてでしょうか?
372 :
名無しさん@そうだ選挙にいこう:02/05/08 01:04
>>371 シートかブックに保護がかかってることはないかな?
今夜はマターリ進行。
優しい人が多いね。
>>369 countif関数を調べたら?
データがまんま1なら狽ナもいいんじゃない?君のような人向きに”1”のデータをつかったんじゃない?
>>372 は〜い。その通りでした。単純ですみませんでした。ありがとうございました。
376 :
名無しさん@そうだ選挙にいこう:02/05/08 13:55
>374
おもしろーい!
377 :
名無しさん@そうだ選挙にいこう:02/05/08 18:30
X軸データ、 A1:A100
数値軸、 B1:B100
第2数字軸、 C1:C100
とするグラフを作成しているとして、A101,B101,C101を追加したときに
・A2:A101,B2:B101,C2:C101のグラフへ簡単に変更するマクロ等の
アイデアありませんか?
このスレ優良につきage
仕事でこのスレにお世話になってる人、結構居るんだろうなぁ。
回答者の皆様、これからも宜しくお願い申し上げます。m(_ _)m
380 :
名無しさん@そうだ選挙にいこう:02/05/08 22:10
>>377 常に100個しかないようだから、ワンクッションおくのが一番簡単。
X軸データをD列、数値軸をE列、第2数値軸をF列として、
A〜C列が追加されたら、コピペ。
直接グラフを操作するのが無難だと思うが。(w
381 :
名無しさん@そうだ選挙にいこう:02/05/08 22:30
EXCELで、方程式の計算をさせたいんですが…。
教えてもらえませんでしょうか?
ちなみにさせたい計算というのはこれです
18296.23a+240.05b=152953.2
240.05a+4b=2006.8
382 :
名無しさん@そうだ選挙にいこう:02/05/08 23:00
おねがいします!!教えてください!!
383 :
名無しさん@そうだ選挙にいこう:02/05/08 23:07
>>374 >データがまんま1なら狽ナもいいんじゃない
自分もそう思ったのですがΣだとAの幅が増加すると時間がかかるみたいなので
countif関数を勉強してきます
ありがとうございました
>>381 ソルバーでできる。
行列関数使ってもできるし。
ABC分析やPPBグラフはどんな時に使いますか?
実例などあれば教えて下さい
387 :
名無しさん@そうだ選挙にいこう:02/05/09 06:15
>380 Thanx!
やはりそうした方がいいみたいですね。これでやってみます。
388 :
やりたいのにできない!:02/05/09 13:17
やっぱり、収束しないっす・・・。いくつからゴールシークをすればC52が収束しますか?
ヘルプです。332さん!m(__)m
389 :
やりたいのにできない!:02/05/09 13:35
やっぱり、1列目と2列目の記述がまずいのでしょうか?
書いてあったとおり入力したのですが、言葉の部分は自分で考えて数値にして入力するのですか?
すみません、初心者で・・・。m(__)m
>>389 シートは合っていると思う。
このシートは、前に書いたように手抜きだから、完全に自動で答えが出るものはありません。
42までなら収束しているということだから、以下をもう一度注意深く読んでやってみて、
そしてどの段階でどうなっているか知らせて。
まずC40を目標値ゼロでゴールシークする。
このとき、C3:C40はゼロになっていて、C41:C52はだんだん増えていってる。
A1:I40までをコピーし、同じ場所に数値として特殊ペースト。
その状態で、次にC46を目標値ゼロでゴールシーク。
すると、A3:I40は数値なのだからまったく変化は無くて、
C41:C46が新たにゼロになる。
そこで、A41:I46までをコピーし、同じ場所に数値として特殊ペースト。
さらにC52を目標値ゼロでゴールシーク。
すると、A3:I46は数値なのだからまったく変化は無くて、
C47:C52が新たにゼロになる。
すると、これが答えになっている。
40, 46, 52というのは、特に何か決まった理由があるわけでは無く、
なんとなくわたしが勘で決めた値です。
Excel97 (SR-2) や Excel2000 (SR-1)で以下のように入力すると
小数以下の結果がおかしくなります。
解決方法がありましたら教えてください。
『手順』
1. セルA1に 100.1 と入力
2. セルB1に =INT(A1) と入力
3. セルC1に =B1-A1 と入力
4. セルC1をクリックし
書式→セル→表示形式→数値→小数点以下の桁数20 と入力
5. OK
6. セルC1になぜか 0.09999999999999430000 と表示される。
100.1を 100 と 0.1 に分けたいのですが
うまくいきません。
どうも100以上だとよくないみたいです。
どなたか解決法ご存知でしたら教えてください。
>>392 それ、エクセルのバグって言うか、PCの仕様上、仕方ない問題だよね。
一応MSサポートから類似例の回避法。
www.microsoft.com/japan/support/ kb/articles/J042/5/24.htm
作ったマクロが使えないのですが何が原因なのかわかりません
保存先は個人用マクロブックに設定しています
マクロの手順を記録したあとに実行するとエラー1004とでます
デバッグやステップインで確認すると作ったマクロは存在してるのは間違いないのですが・・・
395 :
名無しさん@そうだ選挙にいこう:02/05/09 23:44
>>394 情報少なすぎ!
実行時エラー1004というのは色々考えられる。
可能ならコードをうpしてみて。
少なすぎましたか・・・失礼しますた
コードは以下です
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2002/5/9 ユーザー名 : 個人
'
'
Application.Run "ATPVBAEN.XLA!Random", ActiveSheet.Range("$A$1:$B$10000"), _
1, 10000, 7, , ActiveSheet.Range("$B$1:$C$9")
Selection.Replace What:="9", Replacement:="芳川", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:="8", Replacement:="水野", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:="7", Replacement:="前田", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:="6", Replacement:="杉浦", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:="5", Replacement:="太田", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:="4", Replacement:="折木", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:="3", Replacement:="後藤", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Range("E6").Select
Cells.Replace What:="2", Replacement:="清水", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False
Cells.Replace What:="1", Replacement:="兼山", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False
End Sub
実行時エラー '1004':
'ATPVBAEN.XLA'が見つかりません。ファイル名およびファイルの保存場所が正しいか確認してください
ってな内容のエラーが出ます。
保存先を個人用マクロブック、作業中のブック、開いているすべてのブックにしても同様のエラーがでます
いかがしたものでしょうか?
398 :
名無しさん@そうだ選挙にいこう:02/05/10 00:27
>>396 分析ツールを使って乱数を発生させているんだよね?
atpvbaen.xls(ATPVBAEN.XLA)とは、アドインの分析ツールVBA関数のこと。
ツール→アドイン→(一番下の)分析ツール-VBAにチェックを入れると使えるはず。
>>398 そうです、分析ツールから乱数を発生させてます
VBAにチェックを入れることで無事解決しました
激しく感謝です、ありがとうございました
400 :
名無しさん@そうだ選挙にいこう:02/05/10 00:43
ATPVBAENは
Analysis Tool Pack Visual Basic Application Englishの略ね
401 :
名無しさん@そうだ選挙にいこう:02/05/10 10:10
↓こんなのできますか?
商品コード 金 商品名
101 3000 A
102 4000 B
103 5000 C
104 7000 D
↑を、Lookup関数を使って別のセルに
商品コードを入力すると、商品名が表示されるように
しました。何をしたいのかと言うと、商品コード入力→
商品名と金額表示させられるようにしたいのですが、
Lookupは複数のデーターは表示できないようで・・・
何かよい方法はないのでしょうか?
402 :
名無しさん@そうだ選挙にいこう:02/05/10 11:29
折れ線グラフ作成時に0の値が入っている場合は表示しない設定をしたいのですが、
可能でしょうか?
403 :
やりたいのにできない!:02/05/10 18:51
>>332 いつもいつもありがとうございます。m(__)m
書かれた通り、全く同じにしてみました。
C40では収束します。同じくC46でも収束しました。C40、C46でもきちんと「値」としてペーストもしました。
しかし、C52まですると、C47以下は、次のような結果になって、収束しませんでした。(T.T)
45 3 0 0 0 0 0 4 1
46 2 1 0 0 -1 0 4 1
47 5 1 0 0 -1 0 4 0
48 3 2 0 0 -1 -1 4 0
49 0 3 -1 0 -1 -1 4 0
50 3 3 -1 0 -1 -2 4 0
>>393 回答ありがとうございました。
2進数で計算する以上、
小数点以下は
近似しなければならない場合が出てくるということですね。
405 :
名無しさん@そうだ選挙にいこう:02/05/10 19:33
>401
=Vlookup(A1,$A$1:$C$4,2)&" "&Vlookup(A1,$A$1:$C$4,3)
406 :
名無しさん@そうだ選挙にいこう:02/05/10 19:34
□にチェックとかってどうやるんですか。
エントリーシートとかでよくあるやつです。
>>406 ツールバーのフォームの中にないですか?
>>402 ブランクのデータをスキップするようにすることはできるよ。
プロパティをよく見よう。
409 :
名無しさん@そうだ選挙にいこう:02/05/10 21:29
>>381 A1 = 18296.23 B1 = 240.05 C1 = 152953.2
A2 = 240.05 B2 = 4 C2 = 2006.8
aの値は
=INDEX(MMULT(MINVERSE(A1:B2),C1:C2),1,1)
bの値は
=INDEX(MMULT(MINVERSE(A1:B2),C1:C2),2,1)
で、いいんじゃねーかな
-------風俗の総合商社・MTTどこでも-------
〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
http://www.mttdocomo.jp/ -----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/
411 :
名無しさん@そうだ選挙にいこう:02/05/10 21:32
>>403 え〜と、これは要するに「やりたいのにできない!」さんは
わたしの言った通りにちゃんとやっているが、
わたしの作成したシートが手抜きのため、収束しないこともある罠
にかかってしまっているということですね。
>>403の、45のところを見ると、5番目の人が残り4個、6番目の人が残り1個になっているので、
この後どうやっても、残りの5個をシリアル番号が連続しないようにこの2人に割り振ることはできないわけです。
つまり45までの結果が、あまり良くなかったということです。
もう一度全部を数式に戻し、最初からやり直し、何回かやれば収束すると思います。
しかし、もう少しましな方法としては、途中まで収束させる時に、このような良くない結果は無視してゴールシークをすれば
よいわけです。
そこで、シートをちょっと改良してみました。
C3に、=COUNTIF(D3:I3,"<0")+(MAX(D3:I3)>(50-A3)/2)
と入れ、C52までコピーし、後は最初から同じようにやってみて下さい。
この意味は、残り数の内の半分以上を一人が占めていると、うまく割り振ることはできないから、そういう結果は無視するということです。(ソルバーにした方がすっきりするかも知れませんが、あまり好きじゃないので。)
ちょっとこれでやってみて下さい。
413 :
名無しさん@そうだ選挙にいこう:02/05/10 21:56
>>405 ありがとうございます
早速、試してみますね
414 :
名無しさん@そうだ選挙にいこう:02/05/10 22:55
exelでいいのかわかりませんが,教えてください.
1.windwsにあるハイパーターミナルでtextをキャプチャ
(データは一系統,データ数は20万個〜1,000万個)
2.exelで展開
3.グラフの挿入で散布図を表示
この一連の動作を自動で出来ますか?
当方マクロは一度も作ったことは無く,見たことしかありません.
漠然と出来るのかな?という認識でしかありません.
exelの一系統の最大データ数はたしか65,000程度,
グラフについては一系統32,000個までらしいので
キャプチャしたデータ全てをグラフ化するには
数枚のグラフに分かれてしまうのは仕方がないと思ってます.
415 :
名無しさん@そうだ選挙にいこう:02/05/10 23:01
1000万を3万2千で割ったら、300枚ぐらいになるよ。
>>415 それは仕方がないですね.
グラフはTheGraphとか使った方がいいですかね?
417 :
名無しさん@そうだ選挙にいこう:02/05/10 23:38
>414
VBなら、20行ぐらいのコードで書けるけど。
グラフ専用ソフトなら、TheGraphのほかに、
Statisticaとか、KaleidaGraphもいいよ。
418 :
やりたいのにできない!:02/05/10 23:40
>>332 本当にすばやい対応、優しい受け答え、感謝しております。m(__)m
同じ事をやってのですが、またしても、途中までは収束しながらも最後までは収束しませんでした。(T.T)
45 4 1 1 0 0 1 0 3
46 5 0 1 0 0 1 0 2
47 1 2 1 -1 0 1 0 2
48 5 1 1 -1 0 1 0 1
49 1 2 1 -2 0 1 0 1
50 0 2 0 -2 0 1 0 1
C46までは、成功でしたが、C52までやったら、以上のような結果でした。
>>417 おお!ありがとうございます.
VBってVisualBasicですよね?
420 :
名無しさん@そうだ選挙にいこう:02/05/11 01:34
401さん
まず、参照の表を別シートに作成する
そして、挿入→名前→定義
で決めておく
=VLOOKUP(参照セル,参照表,参照列名)
で行えばいい
参照行数は約65000行、参照列は256
さらに、参照表を定義すれば、固定参照になり、セルがずれて参照位置のずれる心配も無い
そして、参照の型式をFALSEにすれば、昇順等の心配も無い
AND関数って複数個ネストできますよね?
5個以上ネストするとエラーが発生するんですけど
式の立てかたがおかしかったかな
4個までなら正常に動作してくれるのに・・・
422 :
名無しさん@そうだ選挙にいこう:02/05/11 04:39
>421
全体でネストは7だったと思うが?
>>421 もしかしたらよけいなお世話かもしれないのですが、
=AND( 式1, 式2, 式3, 式4, 式5, 式6, ... )
こういう記述できるの知ってる?
>>422 7個までの制限があるんですか。勉強になりもうした
ANDネストの前にIFでもネストしてたので動かなかったのですね
>>423 知ってたらこんな稚拙な間違いはしてないと自分で思いますw
>>422-
>>423thk! お恥ずかしいかぎりです
エクセルのセルに現在の時刻を
くっつけのってどうやるの?
>>425 ごめんわかった
[Ctrl]+[:]だね
あっでっでも秒数が出ない…がーん
428 :
名無しさん@そうだ選挙にいこう:02/05/11 07:30
AED
BAE
CBA
DCB
EDC
上の様に、入力したいのですが、左列だけ打ってその他を自動的に
処理できませんか?
何方か解る方いたらよろしくお願いします。
429 :
名無しさん@そうだ選挙にいこう:02/05/11 10:29
セルを選択してダブルクリックして、右クリックで「リストから選択」を選ぶと、その列に今まで書いた文字列の一覧がでてワンタッチで入力できるじゃないですか。
あのリストを、別のファイルに作って貯めてある住所録などから任意に引っ張ることは可能でしょうか?
つまり、新しいシートで氏名の列を入力状態にしたら、他のブックに貯めてある住所録の氏名の列に入力してある全員のデータの一覧のリストが自動的にそのセルの下に開くようにしたいんです。
>>418 なんで収束しやすくしたのに、
わたしのところだとすぐ収束するのに、
やりたいのにできない!さんのところじゃだめなのかな。
>>418のケースでは、残り5個で5番の人に3つ集まっているから、
難しいといえば難しいけど、5 3 5 0 5 のように選べばOKだから、
何度もゴールシークを繰り返せば、そのうち答えが出ると思います。
50個を収束させるのに、40, 45, 50のような区切り方よりも、
後半を細か目に、40, 44, 46, 48, 50のようにやってみたらどうでしょうか。
また、途中の制約条件をきつくして、
>>412の
=COUNTIF(D3:I3,"<0")+(MAX(D3:I3)>(50-A3)/2)
を
=COUNTIF(D3:I3,"<0")+(MAX(D3:I3)>(50-A3)/3)
にしてみるという方法もありますね。
431 :
名無しさん@お腹いっぱい.:02/05/11 11:22
>>428 シートのChangeイベントを利用
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Target
Select Case .Value
Case "A" To "E"
rec = "EDCBAED"
Application.EnableEvents = False
pos = 5 - (Asc(Target.Value) - Asc("A"))
Target.Value = Mid(rec, pos, 3)
Application.EnableEvents = True
Case Else
'Ignore
End Select
End With
End Sub
大文字A〜Eを入力すると補完。
>>428 B2に、=CHAR(MOD(CODE(A1)+4-CODE("A"),5)+CODE("A"))
と入れ、B列とC列にコピー
433 :
名無しさん@そうだ選挙にいこう:02/05/11 15:42
これをもっとすっきりさせたいんですけど、どうしたらよいでしょうか?
セレクト文とかを使ってみましたが、どうにもうまくいきません。
Dim col As Integer
Dim row As Integer
For col = 49 To 66
For row = 3 To 7
If Cells(col, row) >= 90 Then
Cells(col, row).Font.ColorIndex = 3
Else
If Cells(col, row) >= 80 Then
Cells(col, row).Font.ColorIndex = 5
Else
If Cells(col, row) >= 70 Then
Cells(col, row).Font.ColorIndex = 4
Else
Cells(col, row).Font.ColorIndex = 1
End If
End If
End If
Next
Next
>433
Col と Row の区別出来てる?
ここでは単なる変数名だとしても、普通逆だぞ、どう考えても。
代り映えしないが...
Sub bbb()
Dim myRange As Range, r As Range, i As Integer
Set myRange = Range("C49:G66")
For Each r In myRange
i = 1
Select Case r
Case Is >= 90: i = 3
Case Is >= 80: i = 5
Case Is >= 70: i = 4
End Select
r.Font.ColorIndex = i
Next r
End Sub
436 :
名無しさん@そうだ選挙にいこう:02/05/11 17:08
432さんの式だと428のようにはならないとおもう。
↓改良版
B2に=IF(CODE(A1)<=97,CHAR(CODE(A1)+4),CHAR(CODE(A1)-1))
437 :
名無しさん@そうだ選挙にいこう:02/05/11 17:23
>>434 え?まじですか?なんかの本にこうやって載ってたので・・・・
レスありがとうございます。早速書いてみます。
432ですけど、
>>432は、大文字だとうまく行くんですが、小文字はだめですね。
一方、
>>436は、97ということは小文字扱いだから、大文字はだめなのですけど。
両対応で、すっきりと書くにはどうするのが一番いいのかな。
mod()かif()かは、どっちでもいいと思いますが。
>438
おお、確認を適当に小文字でやってしまったので432の式で
上手く行かなかったんですね。すんません。
元は大文字なんで432さんの方法でOKです。
大きなお世話をして申し訳なかったです。
440 :
名無しさん@そうだ選挙にいこう:02/05/11 19:10
>438
Upper関数で小文字を大文字に変えてしまえばいいのでは?
aはA で AもA
441 :
名無しさん@そうだ選挙にいこう:02/05/11 19:23
Excelで、VBみたいなフォーム出すにはどうしたら良いですか?
442 :
名無しさん@そうだ選挙にいこう:02/05/11 19:53
Excel2000なんですが、棒グラフの積み上げグラフで、
111122222333333
****#######+++++++
111111222222333333333
*****#########+++++++
11111122222233333333334444
*****#########+++++++++@@@@
みたいなグラフってできますか?
443 :
名無しさん@そうだ選挙にいこう:02/05/11 22:09
セルの幅や高さをmm単位で変更する方法わかるかた教えてください。
444 :
エクセル2000、WinMe:02/05/11 22:44
1つのセルに入る文字数は30000ぐらいとヘルプに書いてありますが
(必要があって)分割せずに500文字ぐらいのを入れて、それを
コピーペーストすると、250文字ほどに削られています。
これ、なんとか500文字程度の操作が可能になるような方法は
ないものでしょうか。
コード番号表を別シートに作り、それをVLOOKUPをかけて別シートにコード番号を入れると、
隣のセルにそのコード番号に合った文字が入るように設定しました。
(会計処理をさせたいのです。)
そのセルに項目別に4色、色の設定をしたのですが、条件付書式設定では3色までしか色を設定できませんよね。
では文字に色を設定しようと思ったのですが、ユーザー定義では文字列に色の設定はできないのでしょうか?
基本の文字の色黒、以外に4色設定したいのです。
セル・文字どちらでも構いません、どなたかわかるかたいらっしゃいましたら
教えてください。よろしくお願いいたします。
>>444 Excell2000の環境で普通に1セルに500文字以上のコピペできてるけど?
もしかしてコピー元の文章のどこかに改行が入ってるとか?
>>441 VBと同じで、作成したフォームの名前.Show(例:UserForm1.Show)
もしかしてフォームの作り方自体がわからないと言う質問だったら
Alt+F11でVisual Basic Editorを起動して
挿入>ユーザーフォーム
あるいは
プロジェクトエクスプローラ内で右クリック>挿入>ユーザーフォーム
>445
マクロ
>445
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range, myColor As Integer
For Each r In Target
myColor = 1
Select Case r
Case "あ": myColor = 3
Case "い": myColor = 4
Case "う": myColor = 5
Case "え": myColor = 6
Case "お": myColor = 7
End Select
r.Font.ColorIndex = myColor
Next r
End Sub
下記のようなデータでグラフを作りたいので作り方を教えてください。
20 17.538
25 21.058
30 24.58
35 28.092
40 31.607
45 35.114
50 38.61
普通にグラフを書こうとすると、両データ二本のグラフが書けてしまうのですが、
20、25、30・・・をX軸に、対応する数をY軸にプロットしたいのです。
どうか初心者な自分にご教授ください。
452 :
名無しさん@そうだ選挙にいこう:02/05/12 07:30
最小2乗法のやり方教えてください。
453 :
名無しさん@そうだ選挙にいこう:02/05/12 10:36
csvファイルなんかを取り込むとき、勝手にデータが日付形式みたいになっちゃうんですけど、
ファイルの内容そのままを取り込むにはどうしたらいいですか。
454 :
名無しさん@そうだ選挙にいこう:02/05/12 10:49
>>451 自分も初心者なので
最善の方法ではないと思うのですが
自分の場合はこうしています。
17.538
21.058
24.58
28.092
31.607
35.114
38.61
だけを選択して
グラフウィザードボタンを押して
グラフウィザードの途中で
『項目軸ラベルに使用』の空欄に
20
25
30
35
40
45
50
の範囲をいれる
455 :
やりたいのにできない!:02/05/12 17:09
>>332 おぉ!!できました。
/3にすると収束しやすくなりました。
細かく何回もゴールシークをかけて、途中で変な値にならないようにしてやっていくと、できます。
本当に何回もありがとうございました。
また、何かありましたら、お願いします。m(__)m
456 :
名無しさん@そうだ選挙にいこう:02/05/12 17:13
フィルタかかった状態で複数セルを貼り付けると
うまくいきませんが、何か良い方法は無いでしょうか?
>456
意味 が わかりません
imi ga wakarimasen
458 :
名無しさん@そうだ選挙にいこう:02/05/12 18:57
>453
*.csvの拡張子を*.txtに変えてから、[データ][外部データの取り込み]
で日付に変わっちゃうフィールドは「文字列」で取り込んでみてね(にこり
>456
単純に同じ値にしたいなら、
1.フィルタ後に範囲を選択し、ジャンプ-セル選択-可視セルを実行する。
2.次に先頭セルに入力し、Ctrlを押しながらEnterで入力する。
1.元リストの右に連番を付けておく。
2.フィルタしたい文字のある列を優先キー、連番のある列を2番目のキーで並び替えて、貼付ける。
3.連番で並び替え直す。
>459
なるほど。頭良いですね〜。
ありがとうございました。m(__)m
>446
ありがとうございます
>>458 そのやり方は知ってるんですが、毎回文字列に設定するのがめんどくさいなーっておもって聞いてみたんです。
んー、やっぱり無理なのかな。
ともあれ、レスありがとうございました。
463 :
名無しさん@そうだ選挙にいこう:02/05/13 17:20
始めまして。
おしえてちゃんですみません。
if関数の結果表示にかんしてなのですが、たとえばif(c2>0,H2,"")という関数を作るとします。
でも、H2にはすでになにかしらの値が入っていて、ifの条件にあてはまらない場合は、既存の値
のままにしておきたいとします(ブランクにしてしまうのではなく)。
ということで、「,""」の代わりに、「,現状の値のまま」という書き方をしたいのですが、なんと
書けばよいのかわかりません。
もしかしたら非常に初歩的なことかもしれませんので恥ずかしいのですが教えてくださいませ。
よろしくお願いいたします。
464 :
名無しさん@そうだ選挙にいこう:02/05/13 19:04
>463
現状のままならH2でいいのでは?
ていうか、この式はどこに値を入れたいものなんでしょうか?
C2?それともH2?
言ってる文章と式と内容があってないような・・・
465 :
名無しさん@そうだ選挙にいこう:02/05/13 21:45
____10__20__30__40__50
A__猫__犬__猿__豚__狸
B__鳥__魚__蛙__鶏__熊
上記のような表をエクセルシートで作成
B1のセルに10 C1のセルに20 〜 F1のセルに50
A2のセルにA B2のセルに猫 〜 F2のセルに狸
A3のセルにB A2のセルに鳥 〜 F3のセルに熊
という具合に入力しました。
(__は表がずれないようにするために入れたもので無視して下さい)
A14のセルにAと入力 B14のセルに10と入力した場合、
Aと10の交差したところにある猫を、C14のセルに求めたいのです。
もちろんA14にB、B14に30と入力した場合には、蛙が
C14のセルに求まるように・・・。
C14のセルには、どのように関数を入れればいいのですか?
466 :
名無しさん@そうだ選挙にいこう:02/05/13 22:02
vlookup と match を組み合わせてみては
どうでしょうか。
=VLOOKUP(A14,A1:E5,MATCH(B14,A1:E1,0),0)
467 :
名無しさん@そうだ選挙にいこう:02/05/13 22:03
>465 さん、
466はあなたへのコメントです。
書き忘れていました。
>>465 すでに解答が出てるようですが・・・
match関数とindex関数という組み合わせもあります
=INDEX(B2:F3,MATCH(A14,A2:A3,0),MATCH(B14,B1:F1,0))
式の結果をセルA4から任意のセルに格納された値分だけ
表示したいのですがコードはどう書けばよいでしょうか?
B1の値が100だった場合、A4から100個分
B1の値が500だった場合、A4から500個分
というように結果を吐き出すレンジを可変にしたいのです
>>453 ダミーデータを一行用意して、日付に変わっちゃ困るフィールドに文字列を入れておいて、Excelで取り込めばオーケー。
472 :
名無しさん@そうだ選挙にいこう:02/05/13 23:01
>470
B1が100だった場合A4から100個分100を入力という意味なら
Sub range1()
Dim i As Integer
i = Range("B1").Value
Range(Cells(4, 1), Cells(i, 1)).Select
Selection.Value = i
End Sub
>>449 ご返答ありがとうございます。
これはビジュアルベーシックですか?よね?
これをどのようにして使っていけばよいのかわかりません・・・・
ビジュアルベーシックって全然わからないのです。。。
本当に申し訳ないのですが、もう少し具体的に(初心者向き)に書いていただくと大変うれしいのですが・・・
お手数とは思いますが、よろしくお願いいたします。
4行目
Range(Cells(4, 1), Cells(i + 4, 1)).Select
に訂正してください。
>>472 説明がヘタクソだったようで申し訳ありません
作った式の結果は常にランダムで、B1が100だった場合A4から100回分(つまりA4:A103)
B1が500なら500回分の結果を表示したいという事です
どちらにしても変数を宣言してi にB1の値を・・・という運びですね
きっかけは理解できましたので後は自力でやってみます
ありがとうございました
>>464 ごめんなさい!
if(c2>0,H2,"")という関数を入れるのは、K2です。
if(c3>0,H3"")という関数を入れるのは、K3という風にしたいのです。
条件にあてはまらないときは(c2,c3が0より大きい数ではなかったら、)すでに
K2やK3に入っている既存の値のままにしておきたいのです。,"" で、ブランク
として上書きされちゃうのが嫌なのです
478 :
名無しさん@そうだ選挙にいこう:02/05/14 00:32
>>477 それなら =if(c2>0,H2,K2) で良いように思えるけど・・・。
違う?
勘違いしてました。スマソ。
L列でも作って、参照させるしかないです。
=if(c2>0,H2,L2)みたいな感じで。
VBA使っても良いなら、方法はあるけど、それが望み?
480 :
名無しさん@そうだ選挙にいこう:02/05/14 00:44
>>473 A列の値に応じてフォントの色を変化させるとすれば・・・。
Sub cmdColoring()
Dim myRange As Range
Dim tmp As Long
For Each myRange In Range("A1:A" & Range("A65536").End(xlUp).Row)
Select Case myRange
Case Is = 1
tmp = 3
Case Is = 2
tmp = 4
Case Is = 3
tmp = 5
Case Is = 4
tmp = 5
Case Else
tmp = 1
End Select
myRange.EntireRow.Font.ColorIndex = tmp
Next
End Sub
>>479 その手がありましたね!ありがとうございました。
A1に論理式を入れオートフィルで引っ張る
という手順をマクロに記録させたのですが
「アプリケーション定義またはオブジェクト定義のエラーです」
といわれてしまいます
R1C1形式の式だと何か違う手順を踏まないといけないのでしょうか?
という手順をマクロに記録させたのですが
↓
という手順をマクロに記録させて実行させたのですが
質問なのでage
484 :
名無しさん@そうだ選挙にいこう:02/05/14 02:30
>>482-483 もう少しきちんと書いてくれると良いんだけどな・・・。
VBAの話はコードが無いと話にならないから。
おそらくマクロがシート外にAutofilしてしまったためのエラーと思うんだが。
485 :
名無しさん@そうだ選挙にいこう:02/05/14 11:17
>484
コマンドボタンかも。
486 :
名無しさん@そうだ選挙にいこう:02/05/14 11:25
「住所」、「事業所名」、「電話番号」等の情報が入ったデータファイルがあるのですが、
一年前の古いデータと最新のデータを比べて、重複を排除して、(古いデータのみに
記載されている事業所)と(最新のデータにのみ記載されている事業所)の2つを取り出す
のにはどうすればいいのでしょうか?
どなたか教えていただけないでしょうか。お願いします。
487 :
名無しさん@そうだ選挙にいこう:02/05/14 12:02
名前をつけて保存する際に既存のファイル名が
hoge[0120-1234-5678].xlsだった場合に勝手にExcelが
hoge(0120-1234-5678).xlsと [ を ( へ置換してしまうのですが
どうにかならないものでしょうか?STARFAXのFAX送信機能を
使ううえで必要なことなので。
Excelのヘルプやオプションざらっと見ましたが見つからなかったので
よろしくお願いします。
488 :
名無しさん@そうだ選挙にいこう:02/05/14 12:33
>487
ファイルをBook[1].xlsと保存しようとした場合の警告メッセージ
ファイルにアクセスできませんでした。次のいずれかを行ってみてください:
《略》
・指定したファイルの名前に次のいずれかの文字もふくまれていないことを確認してください
: <> ? [] *
=
《略》
だそうです。
くっついて見える...
: < > [ ] *
です。
ありがとうございます。STARFAXのほうで対応できないか
探してみます。
starfaxのほうで[ ] を{ } にすることで対応できました。
ありがとうございます。
492 :
名無しさん@そうだ選挙にいこう:02/05/14 22:13
vbしかやったことないのですが、思いついてEXCELのVBA触ってみた所、
イベントってのをどうやって作るのかがさっぱり分かりません。
例えば、「"A1"をクリックした時」みたいなのはどう書くのでしょうか。
>492
シートタブを右クリックして、コードの表示
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim r As Range
For Each r In Target
If r.Address = "$A$1" Then
MsgBox r.Address & "選択"
Exit For
End If
Next r
End Sub
494 :
名無しさん@そうだ選挙にいこう:02/05/14 23:03
たとえば、
A列に客先名
B列に商品名
C列に買い上げ金額 のようなデータが入っており、
D1に客先名、E1に商品名を入れると
2つの条件で合計をさせたい場合、SUMIFだと条件が
1つしかだめなので配列関数を使うと本に書いてあり、
以下のとおりに入力するとできました。
{=SUM(IF(A1:A50=D1,IF(B1:B50=E1,C1:C50,0),0))}
このIFの入れ子をAND関数を使ってもできるのではないかと
思って以下のようにしたらできなかったです。
何か私は勘違いをしているでしょうか?
{=SUM(IF(AND(A1:A50=D1,B1:B50=E1),C1:C50,0))}
495 :
名無しさん@そうだ選挙にいこう:02/05/14 23:37
>493
> シートタブを右クリックして、コードの表示
???
右クリックイベントはこちら。
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
MsgBox Target.Address & "選択"
Cancel=True
End If
End Sub
>492
ちなみに、左クリックイベントというのはAPIを使わないと無理。
Wクリックイベントはあるけど。
>494
自分もつい最近それでハマった。
こういう使い方すると、ANDの中が全部trueか?みたいな判定になっちゃう
ような・・・
(AND(A1=D1,A2=D1,...A50=D1,B1=E1,B2=E1...)みたいな感じ?)
いいやり方あるのかもしれないけど、やっぱりIFネストさせて回避したよ。
配列数式難しいね。
最近エクセル使い始めたのですがVBAで i が str の間、ステップを刻んで処理を順番に繰り返す
お約束のコードってありますか?JavaScriptでいうところの
function hogehoge(){ // 関数hogehoge
str=document.gorugoru.value; // gorugoruの値を参照
for (i=0; i<str.length; i++) { // i が0から1ずつgorugoruの値まで
繰り返したい処理
}
}
みたいな。ふざけた質問ですがご教授願います
>495
「シートタブを右クリックして、コードの表示」を選択し、出てきたVBE画面に記入しろって意味だよ。
厳密に左クリックイベントはないが、SelectionChange である程度なら、補えるでしょ?
大体、492は、右クリックイベントについて聞いてない。
>>497 for i = 0 to 100
処理
Next i
とか、
i = 0
Do While i < 101
処理
i = i + 1
Loop
とか
>493
スマソスマソ
気分を害させるつもりじゃなかった。
初心者です教えてください。
組織図を挿入し プリントしたのですが、範囲指定したところが
網掛状態に黒くなってしまいました。エクセルの画面上は斜線が
入っていました。 正常にプリントアウトするにはどうしたら
いいのですか?
よろしくお願いいたします
502 :
名無しさん@そうだ選挙にいこう:02/05/15 02:59
エクセルはエクセレントですか?
>502さん すみません わたしに?ですか
エクセレントが?です 申し訳ありません
WIN95のエクセル2000です・・このことだといいのですが・・・
初心者ですみません
504 :
名無しさん@そうだ選挙にいこう:02/05/15 11:42
一つのセルに複数の関数を入れるにはどうやればいいですか?
>496 さん、どうもありがとう。
and でくくると、別物なのですね。
普通の式と同じ理屈じゃないのね。
配列関数って、後少しで意味がわかりそうなんだけど、
今はなんとなくだまされているような気がします。
奥深いわ。
506 :
名無しさん@そうだ選挙にいこう:02/05/15 12:58
>504
たとえばどんな式を入れたいのですか?
私でもお役に立てればいいけど。
エクセルで ACN って打っても
CAN となってしまいます。
これはエクセルのバグなのでしょうか?
508 :
名無しさん@そうだ選挙にいこう:02/05/15 22:54
>507
今調べてみてわかったよ!
ツール→オートコレクト の中にスペルミスを
正す項目があって、acn は自動的に can になる
ようになってました。
acn → can を選択して、削除するとOKです。
>>508 ほんとうにありがとう!!
1週間なやんでたんで、心が晴れました!
下記のようなケースではどう処理すべきか、
アドバイスをお願いします。
シート1の
A3に○○費、B2に××部、C2に△△部、D2に▽▽部
といった表があります。
この各部の○○費は、日毎あるいは月毎に変動し、ゼロの場合もあります。
シート2のB2には"金額"と入力し、
A行の3列以下に××部、△△部、▽▽部が表示できるようにします。
ここで問題なのですが、××部、△△部、▽▽部と表示させる時に
条件があり、○○費がゼロであった場合、該当する部は表示せず、
その次の部を上詰で表示するようにしたいのです。
(つまり、△△部の○○費がゼロであれば、A3に××部,
A4に▽▽部となるようにしたいのです。)
いろいろ考えてみましたが、いい手が浮かびません。
どうぞ、お知恵をお貸しください。
ちなみに、当方、VBAやマクロの知識は全くございません。
>>510 オートフィルタを掛けて、金額を 0より大きい にするだけじゃねーの?
>>499 なるほど。
基本的にfor構文、do whileで使いまわすっていうのは変わらないんですね
勉強が必要なようなので本でも漁ってきます
レス感謝
514 :
名無しさん@そうだ選挙にいこう:02/05/16 07:47
ものすごい量のシートがあって、そのどこかから外部ファイルへリンク参照が
はられているファイルがあるのですが、どこから貼られているか探したいのに
Excelってシート全体検索が無いので探せません。
なんとかやりようがないっすかねえ。
515 :
名無しさん@そうだ選挙にいこう:02/05/16 09:06
すみません、ご教授お願いします。
要はスケジュール表をつくりたいのですけど、
あるセルにまず、たとえば今日の日付2002/5/16を入れ、
その隣のせるに曜日をいれて
なんらかの、数式(?)を入れて下にコピーすると
ワーっと1日ずつ日付も曜日もずれて表ができるようにできると聞いたのですが
よくわかりません。
その、やり方をお教えいただけますか?
もしくは、なにか、「エクセルでスケジュール表をつくる」
「エクセルで小遣い帳をつくる」といった、
目的にあわせて使い方を説明してくれているサイトがあれば教えてください。
よろしくお願いします。
516 :
名無しさん@そうだ選挙にいこう:02/05/16 12:10
>>515 A1に日付をいれて、B1に「 =TEXT(WEEKDAY(A1),"aaa") 」
セルのA1とB1をドラッグした後、B1右下の■をドラッグしたまま、下げる。
>>514 シートのタブのところで右クリックして〔全てのシートを選択〕
(タブが全部同じ色になる)で、検索したら全検索いきませんか?
入力・修正するときは、シートのタブのところで右クリックして〔作業グループ解除〕
してからにしないと全部のシートに書き込まれてしまいます。
518 :
名無しさん@そうだ選挙にいこう:02/05/16 12:57
>>516 それで良いと思うけど、
B1は=A1として、表示形式をaaaにした方が応用がきくと思う。
519 :
名無しさん@そうだ選挙にいこう:02/05/16 14:56
質問です。
Excelであるテーブルとあるテーブル
の各要素を比較して、一致する部分のみにチェックをつけたい
のですけれど、どのような方法がありますか?
ようは論理和を使って、テーブルの要素を比較したいのです。
520 :
名無しさん@そうだ選挙にいこう:02/05/16 14:57
519です。
テーブルというのは間違ってる表現かもしれません。
ある列とある列の要素を比較したいのです。
よろしくお願いします。
521 :
名無しさん@そうだ選挙にいこう:02/05/16 16:35
あげ
522 :
名無しさん@そうだ選挙にいこう:02/05/16 16:53
教えてください〜
ある範囲の大きい方からn番目の値を求めるにはLARGEという関数がありますが、
1 1 1 2 1 3 1 2 2 3
のような数字の中から、2番目に大きい数字(ここでは2)を求めるにはどうすればいいのでしょう。
よろしくお願いします
一つの表の中で
700以上は赤
675〜699は青
650〜674は緑
400以上は赤
375〜399は青
350〜374は緑
90以上は赤
80〜89は青
70〜79は緑
それ以外は黒
というマクロを組みたいのですが、ひとつの記述でできるものでしょうか?
一応作ってみたのですが、もう少しすっきりさせることができるものでしたら、ご教授願います。
If Cells(col, row) >= 90 Then
Cells(col, row).Font.ColorIndex = 3
Else
If Cells(col, row) >= 80 Then
Cells(col, row).Font.ColorIndex = 5
Else
If Cells(col, row) >= 70 Then
Cells(col, row).Font.ColorIndex = 4
Else
Cells(col, row).Font.ColorIndex = 1
End If
End If
End If
Next
Next
If Cells(col, row) >= 400 Then
Cells(col, row).Font.ColorIndex = 3
Else
If Cells(col, row) >= 375 Then
Cells(col, row).Font.ColorIndex = 5
Else
If Cells(col, row) >= 350 Then
Cells(col, row).Font.ColorIndex = 4
Else
Cells(col, row).Font.ColorIndex = 1
End If
End If
End If
Next
Next
If Cells(col, row) >= 700 Then
Cells(col, row).Font.ColorIndex = 3
Else
If Cells(col, row) >= 675 Then
Cells(col, row).Font.ColorIndex = 5
Else
If Cells(col, row) >= 650 Then
Cells(col, row).Font.ColorIndex = 4
Else
Cells(col, row).Font.ColorIndex = 1
End If
End If
End If
Next
Next
525 :
名無しさん@そうだ選挙にいこう:02/05/16 17:35
セルに関数を入れるマクロを作成しています。
Sheet1のセルが"-"だったら"-"表示し、"-"じゃなかったら
計算結果を返すというものにしたいのですが、
FormulaR1C1 = "=if('Sheet1'!RC=" - "," - ",Sheet2'!RC/" & bunbo & ")"
*bunboはStringの変数です。
これがうまくいきません。if文にする前は大丈夫だったのですが。
""の使い方もしくは最後の")"あたりが間違っているのかと
思いますが、おわかりになる方教えて下さいますでしょうか。
>524
条件は排他みたいだから、
IF〜Elseif〜Else〜Endif
とすべき。
Helpを参照しても分からなかったら、また質問して。
528 :
名無しさん@そうだ選挙にいこう:02/05/16 22:27
>519
=IF(A1=B1,"○","") をC1に入れて下までコピー
ってこんな単純なことは聞いておられないような
気もするけど。。。
>>525 "は、""にする。
"=if(Sheet1!RC="" - "","" - "",Sheet2!RC/" & bunbo & ")"
これって、循環参照してるね。
530 :
名無しさん@そうだ選挙にいこう:02/05/16 23:17
VCで作ったプログラムで、Excelのマクロを起動させたいんですけど
どうやればいいんでしょうか。
プログラム技術板でも聞いてみたんですが、可能ということはわかったんですが
具体的なやり方がいまいちわかりませんでした。
Excelは95を使ってます。
531 :
名無しさん@そうだ選挙にいこう:02/05/16 23:26
>>530 ショートカットキー設定して、オープンした後、そのキー送ったら?
532 :
名無しさん@そうだ選挙にいこう:02/05/16 23:28
列Bのうちセル(B1:B4)を除く全てのセルを選択
というコードはどうやって書くんですか?
一部部分だけ保護解除とかしたいものですから
533 :
名無しさん@そうだ選挙にいこう:02/05/16 23:29
>>526 そうです。そのレスでCaseを頂き、一つの表は完成したのですが、
あのCaseの一文がどのような動きをしているかわからず、応用できませんでした。
たびたびすみません。お世話になります。
>>524 相変わらずのRowとColですな。
>434は参考にもしなかったわけね。
Sub aaa()
Dim Col As Long, Row As Integer
Col = 1
Row = 1
If Not IsNumeric(Cells(Col, Row)) Then Exit Sub
Select Case Cells(Col, Row).Value
Case 90 To 349, 400 To 649, Is >= 700
Cells(Col, Row).Font.ColorIndex = 3
Case 80 To 89, 375 To 399, 675 To 699
Cells(Col, Row).Font.ColorIndex = 5
Case 70 To 79, 350 To 374, 650 To 674
Cells(Col, Row).Font.ColorIndex = 4
Case Else
Cells(Col, Row).Font.ColorIndex = 1
End Select
End Sub
>>532 Range("B5:B65536").Select
>532
RowとColumnはこういう関係。
Sub bbb()
Cells(10, 5).Select
MsgBox ActiveCell.Address(0, 0) & "は、" _
& ActiveCell.Row & "行目の" _
& ActiveCell.Column & "列目"
End Sub
537 :
名無しさん@そうだ選挙にいこう:02/05/17 00:14
VLOOKUPって便利だけど、単価やメーカーなどを、商品番号と商品名どちらからでも引っ張れる方法ってありますか?
番号調べて入力するより商品名を入力する方が速いこともあるもんで・・・。
538 :
名無しさん@そうだ選挙にいこう:02/05/17 00:22
>>537 A1〜D4がこんな表だったとしよう。
商品番号 商品名 メーカー 値段
1 PS Son 10,000
2 XBOX MS 30,000
3 PS2 Son 25,000
G1に =IF(ISNA(VLOOKUP(F1,A2:D4,3,0)),VLOOKUP(F1,B2:D4,2,0),VLOOKUP(F1,A2:D4,3,0))
F1に入力
540 :
名無しさん@そうだ選挙にいこう:02/05/17 00:45
541 :
名無しさん@そうだ選挙にいこう:02/05/17 00:55
543 :
名無しさん@そうだ選挙にいこう:02/05/17 01:07
>>534 いや、参考にしました。いま試作なので、完成時には直します。
たびたびありがとうございます。
Caseの動きも追ってみたのですが、どうしてもうまくいかず、本を立ち読みしてもCaseに関する制御を
詳しく載せている本がなかったものですから・・・・。
本当にありがとうございました。
544 :
名無しさん@そうだ選挙にいこう:02/05/17 09:27
事後報告522
=LARGE(範囲,1)
=LARGE(範囲,COUNTIF(範囲,上のセル)+1)
=LARGE(範囲,COUNTIF(範囲,上のセル)+COUNTIF(範囲,上の上のセル)+1)
ってかんじで処理してみました。
もっといい方法あったら教えて頂け
545 :
名無しさん@そうだ選挙にいこう:02/05/17 10:54
技術計算にて
あるセル(係数)に名前をつけ、別のセルにて
これを名前参照して計算に用いています。
セルの名前を変更したいのですが
やり方が判りません。
(ヘルプを見てもよくわからない)
よろしくご教示下さい。
メッセージボックスを利用して実行中のマクロを強制的に
中止するにはどうしたら良いでしょうか?
結果が出るまでに非常に長い、もしくは途中でループしてしまう可能性のある
マクロの場合、任意に中止する事ができるにしたいのですが
実行する前に確認(中止)するメッセージボックスはいいとして
中止ボタンを付けたメッセージボックスを表示しつつマクロを実行する
方法が判りません。いくつかDoeventについて記述してあるサイトを
見たのですがいずれの方法でも解決しませんでした
ひょっとしてメッセージボックスを表示してる最中にバックグラウンド
でマクロを実行するのは無理なのでしょうか?
547 :
名無しさん@そうだ選挙にいこう:02/05/17 11:51
>>545 セルを選択して、画面左上の名前ボックスに書いてある名前を
変更しれ。
548 :
名無しさん@そうだ選挙にいこう:02/05/17 12:07
マクロを削除したのにファイルを開くとき必ず「マクロあります」ってのがでます
どこかにまだあるのでしょうか?
ツールのマクロのマクロには何も表示されないのですが
どのへんあたりを探したらよいのでしょうか?
549 :
名無しさん@そうだ選挙にいこう:02/05/17 12:20
>>548 PERSONAL.XLS
ウィンドウ→再表示
→PERSONAL.XLSを選んで、そこにあるマクロ削除しれ。
EXCEL2002を使っているのですが、関数がセルにそのまま表示
されてしまいます。ツールから入ってオプションとかいろいろイジッ
てみたんですが、さっぱり解りません、調べ方のヒントでもいいです
から教えてください。
>>529さん
どうもありがとうございました。
ここに載せるために簡略化したので循環参照っぽいですが、
やってみたら上手くいきました!
本当に助かりました。
553 :
名無しさん@そうだ選挙にいこう:02/05/17 15:08
>>547 エクセル2000です。
それだと、変更されないので
非常に困っています。
レスありがとう御座います。
554 :
名無しさん@そうだ選挙にいこう:02/05/17 15:33
すいません、教えてください。。
エクセル97でグラフ作成中です。エングラフの周りの余白を
少なくしてワードに貼り付ける場合、どうしたらよいですか?
とにかくグラフ全体の余白が多すぎるので、お願いします。教えてください。
>>551 数式の前に=を入力してないとか?
そんな単純なことじゃないよね。
556 :
名無しさん@そうだ選挙にいこう:02/05/17 16:13
557 :
名無しさん@そうだ選挙にいこう:02/05/17 16:46
Excel2000では数式バーの横に = が
あったのですが、2002では無いと今
知った阿呆ものです。=を2000のように
出せないものでしょうか?
558 :
名無しさん@そうだ選挙にいこう:02/05/17 16:58
554です。分かりましたので、レスは大丈夫です。
>>557 『fx』押せば自動的に『=』が挿入されます。
560 :
名無しさん@そうだ選挙にいこう:02/05/17 18:15
>>556 レスありがとうございます。
ウーン、変わったり、変わらなかったり。
変更は1度だけ出来て、2度目からは
変わらないような傾向もあります。
困った、困った。
561 :
名無しさん@そうだ選挙にいこう:02/05/17 18:20
>>556 やはり2度目から変更できないようです。
(セルの参照用の名前変更の件)
>>561 Excel97だと 挿入 → 名前 → 定義
563 :
名無しさん@そうだ選挙にいこう:02/05/17 20:31
>>561 ヘルプを見ると「定義」のことが
書いてあるのですが、実際にどうするのか?
読解力がないのでよくわかりません。
よろしくご指導願います。
>>551 ツール>オプション>表示タブ>「数式」のチェックを外す
エクセル2000でも挿入 → 名前 → 定義で設定できる。
ただし古いセル名は削除してね。
568 :
名無しさん@そうだ選挙にいこう:02/05/17 23:47
あまりにも簡単な質問で申し訳ないのですが、
セルに0.27856という値が入っています。
いつもはそれを
セルの書式設定−表示−パーセント(小数点1位)で「27.9%」と表示させているのですが、
それを「27.9」とだけ表示させたいんですが、どうすれば良いのでしょうか?
セルの書式設定をいろいろいじってみましたが、なかなか上手く出来ず今日は寝れなそうです・・・。
569 :
名無しさん@そうだ選挙にいこう:02/05/18 00:20
>>568 計算に使わないんなら100を掛けるっていうのはどう?
>568
出来ないと思われ。
.00.0 なら .27.9 だけど . が邪魔だね。
そのどっかのセルに100を入れてコピー、形式選択貼付けで乗算すれば、
複数セルも一発で置きかえられるので、表示の時はそうするとか。
除算すれば戻せるし。
>>570 手っ取り早いのはVBAで、入力したらvalueが100倍になるようにするくらいかな。
寝れなそうですって言って、全くレスが無い罠。
573 :
名無しさん@そうだ選挙にいこう :02/05/18 14:22
質問です。
契約数が0件のときは0円
契約数が1件〜6件のときは1件につき5000円を加算
契約件数が7件〜無限の場合は1件につき1万円を加算
という計算式がどうしてもできません。
どなたか、お助け下さい。
=if( 契約数 <= 6, 契約数*5000, 契約数*10000 )
>>574 ありがとうございます。
これで月末までに契約件数表が完成できます。
576 :
名無しさん@そうだ選挙にいこう:02/05/18 15:17
>575 もし7件の場合支払い40000円なら、最後は(契約数-6)*10000+30000だぞ
>>534 たびたびごめんなさい。
どうしてもうごきません。
色々いじってみたのですが、どうすれば動くのでしょうか?
範囲指定をしていないのが原因でしょうか?
>577
新規ブックの標準モジュールにこのままコピペして、A1に「400」といれて、マクロを実行
これでも動かない?
>>578 速レスありがとうございます。
動きました!
Col = 1
Row = 1
ここは、セルの番地なんですね。
If Not IsNumeric(Cells(Col, Row)) Then Exit Sub
ここの文の意味がわからないのですが、Numericというのはどういう意味でしょうか?
これを、セル範囲C49からM59まで実行するには、これをループさせればよいのでしょうか?
>>578 ループさせようと思って、For文をくっつけてみたんですけど、うごきませんでした。
どうしたらいいでしょうか?
581 :
名無しさん@そうだ選挙にいこう:02/05/18 16:14
ユーザーフォームで
keypressとmousemoveを同時に行いたいときにはどうしたらよいのでしょうか?
たとえばコマンドボタン1つあるユーザーフォームで
コマンドボタン上をなにかキーを押した状態でマウスが移動したときには色をつけ、
キーを押した状態でも離した状態でもコマンドボタンからマウスが離れたらバックカラーに戻す、
ということをしたいのです。
Private Sub CommandButton1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
With CommandButton1
If (.BackColor <> RGB(255, 0, 0)) Then
.BackColor = RGB(255, 0, 0)
End If
End With
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With CommandButton1
If (.BackColor <> &H8000000F) Then
.BackColor = &H8000000F
End If
End With
End Sub
と自分でやってみましたが、これだとキーを押したままコマンドボタンからマウスが離れたときに色をバックカラーに戻すことができません。
どなたか教えてください。よろしくお願いします。
>579
VBAヘルプは入ってないのか?
入ってなかったらOfficeのCDから追加で入れろ。
VBEのソース画面で IsNumeric を選択して、F1キーを押せば出るだろ。
引数が数値として、評価出来るかを調べ結果を返す。
セルには数値だけが、入力されているとは限らない。
試しに先程のマクロで、A1に「あ」と入れ
If Not IsNumeric(Cells(Col, Row)) Then Exit Sub
を消すかコメントアウトして、実行してみ。エラーが出る。
数値として、評価できれば、 IsNumericはTrueを返す。
もし、Cell(Col,Row)が Not True なら(つまりFalseなら) そのままSubを抜けろ。
>580
勉強するか、メアドを書きな。
>>583 できました!ありがとうございました。大変勉強になりました。
585 :
名無しさん@そうだ選挙にいこう:02/05/18 17:22
複数のセルの合計値でその結果が0の場合、空欄にする設定にしたい
のですが、すみませんが親切な方教えてください。
>>585 IF関数使って、0だったら空欄にするってのをやればよい。
if(「対象のセル」=0,"",「合計を計算する式」)
589 :
名無しさん@そうだ選挙にいこう:02/05/18 18:11
>>585 IFを使うのも悪くはないが、
その結果をさらに計算に使うような場合に不具合が出ないとも限らないので、
表示形式で0の時は""になるようにするのがいいと思う。
590 :
名無しさん@そうだ選挙にいこう:02/05/18 18:12
教えてください。
A列に数値を複数入力(範囲は未定)して、その最終行の1つ下に合計を出したいのですが、
どうすればよいか分かりません。どなたか教えてください。
591 :
名無しさん@そうだ選挙にいこう:02/05/18 18:17
例えばaverage関数は、""と0とで扱いが違う。
""はデータが無いとみなすが、0はデータが有るとみなす。
>>590 合計値を出したいセルに
=SUM(始セル:終セル)
じゃだめ?
593 :
名無しさん@そうだ選挙にいこう:02/05/18 19:31
桁ごとに間隔のある数値の表示にしたいのです(等幅のマス目に分かれるように)
例:\50000→\ 5 0 0 0 0
ユーザー設定のセル書式で\ # # # # #というのを試してみたのですが、
これですと入力した数が5桁の場合でしか思うような表示になりません。
何桁の数でもできるようにする方法(書式設定?)はありますか?
限りがあるようならば、5桁、6桁、7桁の場合だけでも…
594 :
名無しさん@そうだ選挙にいこう:02/05/18 20:27
1000を1k、10000を10kみたいにセル上で表示することは出来ませんか?
>>594 セルの書式設定>表示形式タブ>ユーザー定義で「0,"k"]にする
桁区切りをつけたければ「#,##0,"k"」
596 :
名無しさん@そうだ選挙にいこう:02/05/18 21:30
2ちゃんよりExcelファンクラブの方がレベルが高いと思ってみるテスト
597 :
名無しさん@そうだ選挙にいこう:02/05/18 21:36
>>592 合計値を出したいセルに
=SUM(始セル:終セル)
じゃだめ?
終セルが確定されていなくて、
しかも終セルが増えていく場合に
終セルを入力したらその下に合計が
出るようにしたいのです。
マクロでできるでしょうか?
よろしくお願い致します。
>>597 A1やシート上部に合計を出すようにして
ウインドウ枠を固定するのが一番簡単だと思うけどなぁ。
誰も相談に乗ってくれない・・・(ウツ
601 :
名無しさん@そうだ選挙にいこう:02/05/18 22:29
オートコレクトの設定を初期値に戻すにはどうしたらよいのでしょうか?
602 :
名無しさん@そうだ選挙にいこう:02/05/19 01:27
>>581 Buttonという変数があるのには気が付いていないのか?といってみる。
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With CommandButton1
If Button = xlPrimaryButton Then
If (.BackColor <> &H8000000F) Then
.BackColor = &H8000000F
Else
.BackColor = &HFF&
End If
End If
End With
End Sub
個人的にはCommandButtonがチカチカして嫌いなんだが。
再質問されそうなのであらかじめ言っておくが、
CommandButton上でMouseが動いた場合のみ色を変えたければ、
MouseMoveイベントの主体を変えるか、
X、Yの変数を利用してCommandButtonの位置を判定させること。
603 :
名無しさん@そうだ選挙にいこう:02/05/19 01:35
604 :
名無しさん@そうだ選挙にいこう:02/05/19 03:18
>>597 最終セルの下に合計を出力したあと、
追加入力するときはどのように処理するわけ?
一度合計セルを削除してから、追加?
挿入してから、追加?
いずれにせよ、メンドーじゃない?
ちなみに、VBAで追加するとしたら、こんな感じか?
Sub vbaSum()
Dim y As Long
Dim strX As String
strX = Chr(Selection.Column + 64)
y = Range(strX & 65535).End(xlUp).Row
Range(strX & y + 1).Formula _
= "=sum(" & strX & "1:" & strX & y & ")"
End Sub
追加。
で、Changeイベントを利用して、
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Call vbaSum
Application.EnableEvents = True
End Sub
これで満足?
>602
ありがとうございます。
やってみますです。
607 :
604.605:02/05/19 12:50
有難うございます。
完璧です。
修正が効かない・・・
609 :
名無しさん@そうだ選挙にいこう:02/05/19 13:42
セルの結合は、矩形でなくちゃダメなの?
610 :
名無しさん@そうだ選挙にいこう:02/05/19 15:13
グラフタイトルとかでは一部の文字だけ下付の書式にできたりするけど、
凡例は個別の文字に書式を設定することはできないのでしょうか?
611 :
名無しさん@そうだ選挙にいこう:02/05/19 21:22
すいません教えてください。
エクセルのシートを串刺し集計したいのですが
A表のシートとB表のシートを集計すると
=A表!A1+B表!A1
こういう式になりました。
で、集計のシートでゼロの時は表示を0にしないで空白に
したいのですが、どうしたらいいのでしょうか?
よろしくお願いします。
612 :
名無しさん@そうだ選挙にいこう:02/05/19 21:50
>>611 ツール→オプション→表示→ゼロ値(のチェックをオフ)
ではだめ?
613 :
名無しさん@そうだ選挙にいこう:02/05/19 21:53
あ〜そんな手があったんですか!
てっきり数式でやらなければならないのかと。
ありがとうございます。
こんな時間ですが、どなたか教えて下さい、お願いします。
セルの列の名前が数字になってるのをアルファベットに変えたいのですが
オプション→全般の「R1C1参照形式を使用する」のチェックをはずすと、
「名前の重複」セル参照と同じ名前を定義することはできません
変更前D6→変更後。。。
と表示され進めません。
対処法おおしえください
適当な文字をいれたらなりました!!
すいませんーー
614は無視してくださいーーー
616 :
名無しさん@そうだ選挙にいこう:02/05/20 17:19
ゼロ値のチェックを外すとシート全体に
影響がありますが、部分的にチェックを外す
方法はあるのでしょうか?
今は条件付書式で白文字にしていますが。。。
617 :
名無しさん@そうだ選挙にいこう:02/05/20 21:05
>611
セルの書式設定を使う。
正の数;負の数;ゼロ;文字列
Excel2000であれば、「表示形式を作成する」でヘルプを参照してください。
618 :
名無しさん@そうだ選挙にいこう:02/05/20 23:15
619 :
名無しさん@そうだ選挙にいこう:02/05/20 23:22
>>618です
板汚しすいません
答えをみつけました
CHAR(10)が改行ですね。
お騒がせしました。
620 :
名無しさん@そうだ選挙にいこう:02/05/20 23:24
>>618 =Substitute(対象セル,Char(10),"")
での処理を考えついたんだろうけど、
=Clean(対象セル)
でも良いの、知ってる?
621 :
名無しさん@そうだ選挙にいこう:02/05/20 23:55
CLEAN()
は知りませんでした。
今、ちょっとしらべましたが
印刷できない文字を削除する関数のようですね。
しかしながら
私は、改行を <BR>にしたかったので
置換でなくてはならないのです。
表を、ネットスケープでも読めるHTML TABLEに変換するように
格闘中です。
web ページとして保存
では、IE縛りのようなので・・・・
622 :
名無しさん@そうだ選挙にいこう:02/05/21 01:55
Myhtml.Write ("<TD ")
Select Case Cells(gyo, retu).Interior.ColorIndex
Case Is = 1
Myhtml.Write ("bgcolor = black ")
Case ・・・・
End Select
Myhtml.WriteLine (" > ")
Myhtml.WriteLine (Replace(Cells(gyo, retu), Chr(10), "<BR>"))
Myhtml.WriteLine ("</TD>")
ってなかんじで、セルを<TD>で囲むような
マクロを書いてみました
このとき
セルにハイパーリンクがある場合
(HYPERLINK関数を使っていないみたい。
右クリックからせっていするハイパーリンク。
あまり違いがわかっていないんだけど・・・)
<A href="
http://www.2ch.ne.jp">2ch</A>
を書き出すにはどうしたらいいのでしょうか?
623 :
名無しさん@そうだ選挙にいこう:02/05/21 20:39
フッターにページ数を記入したいのですが、レポートの最後に
添付したいので途中から(たとえば5ページから)連番で打つ
ことはできないのでしょうか?
624 :
SleepingHead:02/05/21 21:09
&[ページ番号]+4
とか。
移動費 55555
宿泊費 44444
宿泊費 99999
宿泊費 22222
移動費 44444
こんなシートがあるのですが、宿泊費と移動費をそれぞれまとめてソートとかかけずに
計算することって出来ますか?
>>625 =SUMIF(A1:A5,"宿泊費",B1:B5)
=SUMIF(A1:A5,"移動費",B1:B5)
627 :
SleepingHead:02/05/21 22:30
SumIf
とか。
628 :
名無しさん@そうだ選挙にいこう:02/05/21 22:32
Power Toys XP の Desktop Managerと
Excel(2002)を併用すると、
画面切替後にExcelの
ツールバーやメニューバーが消えてしまうのは仕様ですか?
対象法をどなたか知りませんか?
×対象法
○対処法
ありがとうございます!!!できました!!!
631 :
名無しさん@そうだ選挙にいこう:02/05/21 22:49
たとえば
A1 =SUM(B1,100)
A2 =SUM(B2,111)
A3 =SUM(B3,123)
A4 =SUM(B4,500)
A5 =SUM(B5,600)
などと書いてあるとき、定数部(引数の2番目)
100
111
123
500
600
をそれぞれ取り出したいときに使う関数なんてありますか?
定数を取り出すというのが不思議。
定数なら、どこか別のセルに置いといて関数がそれを参照すべきではないか。
引数のn番目を取り出したいというのが眼目ならば、ごめんね、私にはわかりません。
>>631 このサンプルでは=A1-B1でいいのでは?
634 :
名無しさん@そうだ選挙にいこう:02/05/21 23:21
変な例を出したのが余計でしたね
すいません。
引数のn番目を取り出したいんです・・・
むりですかねぇ・・・
635 :
名無しさん@そうだ選挙にいこう:02/05/21 23:32
引き数のn番目を文字列として取り出したいのだとすると、結構ややこしいと思うけど、
値として取り出したいのなら、
function get2ndarg(arg1, arg2, arg3)
get2ndarg = arg2
end function
みたいな関数を作って、そのsum()と文字列置き換えしたら。
636 :
名無しさん@そうだ選挙にいこう:02/05/22 02:26
>>634です
レスありがとうございます。
上記の件、地味な方法で解決しました
例の場合だと
列ごと、コピーして
その列に対して
置換(Ctrl + H)
=SUM(*,
-> 空白
置換
)
-> 空白
ってなかんじです。
余談ですが、作業対象ファイルは
今はいない、卒業した人のファイルなんですが
計算式中の、参照変数?(A1とか)を
値に置き換えることができるんでしょうか?
それとも、定数を入力して言ったのだろうか・・・・
637 :
名無しさん@そうだ選挙にいこう:02/05/22 09:05
マクロの自動作成で
つくった、ハイパーリンクの設定のマクロが、下のようになっています。
Range("A1").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"
http://www.2ch.ne.jp/", TextToDisplay:="2ちゃんねる"
たとえば、B1にA1のAddress部分を代入したいとき
どのように書いたらいいのでしょうか?
あまり意味もよくわからず
予測して書いてみた以下の分では、
ぜんぜんだめでした・・・・
Range("B1") = Range("A1").Hyperlinks.address
どうか、お助けください
エクセルの使い方詳しく書かれたバカ中年向けのサイト教えろ。
639 :
名無しさん@そうだ選挙にいこう:02/05/22 12:53
エクセルの使い方詳しく書かれたバカ中年向けのサイト教えろ。
>>637 Range("B1") = Range("A1").Hyperlinks.Item(1).Address
とか
644 :
名無しさん@そうだ選挙にいこう:02/05/22 18:26
本当に申し訳ございません。凄く単純なことだと思うんですけどお願いします。
For m = i To 5
aaa = "Sheet" & CStr(i)
If CStr(Sheet1.Cells(1, 1)) = CStr(aaa.Cells(1, 1)) Then
b=10
End If
Next m
このコードだとaaaには"Sheet1"が入ってしまい、エラーが起きます。
aaaに""がないSheet1を代入することは出来ませんか?
645 :
名無しさん@そうだ選挙にいこう:02/05/22 18:32
ソース間違えまくってました
For m = 1 To 5
aaa = "Sheet" & CStr(m)
If CStr(Sheet1.Cells(1, 1)) = CStr(aaa.Cells(1, 1)) Then
b=10
End If
Next m
です。お願い致します。
funciton 。・゚・(ノД`)・゚・。ウワーン
Excel 2000 を Windows 98 SE で使っています。
ワークシートのセルからユーザ定義関数を
=hoge.xls!FuncHoge(G1:Q2)
とか
=hoge.xls!FuncHoge(G1)
みたいな感じで呼びたいんです。
とりあえず、funciton プロシージャの定義のほうでは
Function FuncHoge(paramRange as Variant) As Integer
みたいにしているんです。
=hoge.xls!FuncHoge(G1)
だと、FuncHoge を呼べるのに、
=hoge.xls!FuncHoge(G1:Q2)
だと、禿げしく怒られちゃう。「#VALUE!」って。
(;´д`).。oO(なんでだろ?)
>>645 Workbooks(aaa).Cells(1,1)
>>646 Functionの処理内容は?
>>645 For m = 1 To 5
If CStr(Sheet1.Cells(1, 1)) = CStr(Sheets(m).Cells(1, 1)) Then
b = 10
End If
Next m
>>647 G1:Q2 の矩形の範囲の value を見に行って平均を出すとか、
インデクスが大きいもののベスト3の平均を出すとか…
そういう複数の数値 (セルの value) に対する演算を
function の中でする、という仕様で実装したいのです。
おながいします
(;´д`).。oO( 汚れつちまった悲しみに )
>637
Sub aaa()
Dim h As Hyperlink, w As Worksheet
Set w = ActiveSheet
For Each h In w.Hyperlinks
Range(h.Range.Address).Offset(0, 1) = h.Address
Next h
End Sub
651 :
名無しさん@そうだ選挙にいこう:02/05/22 22:24
>>649 これは動作しない?
Function FuncHoge(myRange As Range) As Integer
Dim tmp As Integer
tmp = Application.WorksheetFunction.Average(myRange)
FuncHoge = tmp
End Function
ちなみに別ブックの関数呼び出し方法は、Book1.FuncHoge(範囲)だぞ。
「.xls」は不要のハズ
追加質問
tmp(=FuncHoge)がオーバーフローしてるとか?
Integerは-32,768〜32,767の整数型だけだよ
オーバーフローしたときも確か#VALUEとなるはず
653 :
名無しさん@そうだ選挙にいこう :02/05/22 23:29
複数のシートのB2とB3にある複数のセルを1つのシートにまとめることって出来ますか?
計算式が入っていて、コピーしてもうまく行かないし、沢山あるので自力ではできないのです(涙)
654 :
名無しさん@そうだ選挙にいこう:02/05/23 00:14
>>650 さま
お答えいただきありがとうございます。
これで、とりあえず
ハイパーリンクのアドレスを抜き取ることができるようになりました
ありがとうございます。
そこでまた、贅沢な質問なんですが、
たとえば、これを応用させて
C3のハイパーリンクのアドレスを、
Dim myaddress as string
に代入する場合は、どうなりますか?
>654
自分で調べなきゃ
Sub bbb()
Dim h As Hyperlink, ws As Worksheet
Dim myaddress As String
Set ws = ActiveSheet
For Each h In ws.Hyperlinks
If h.Range.Address(0,0) = "C3" Then
myaddress = h.Address
Exit For
End If
Next h
MsgBox myaddress
End Sub
Excelファイルが壊れてしまったようで、読み込めません。開こうとすると、
『その形式のファイルは開けません』と、即座に蹴られてしまいます。
どなたか復活方法をご存知でしたらご教授お願いします。
ファイルが壊れた経緯ですが、該当ファイルはフラッシュメモリ(今どき
珍しいPCカードタイプ)に保存してました。そしてこのPCカードはUSB
接続のPCカードアダプタにてデスクトップPCに接続され、Fドライブと
して認識されてました。
で、先程データをセーブしようとしたところ、突然Fドライブが認識されなく
なり、『該当ドライブが存在しない』と言われ、セーブ出来ませんでした。
本来、ここで落ち着いて別ドライブにセーブ後、行動すれば良かったの
ですが、セーブせずにPCカードアダプタのスイッチのon/off、PCカードの
抜き差しをしているうちにOS自体がフリーズしてしまいました。OS再立ち
上げ後には、Fドライブは普通にアクセス出来るようになったのですが、
該当の.xlsファイルが上記の状態になってしまってました。
なお、同じフォルダにあったテキストファイルは全て無事でした。該当
ファイルもテキストビューワ−では覗くことが出来ますし、コピーもOK
でした。(ファイルとしての整合性は問題無し)
こうなってしまった.xlsファイルを復活させる手段はあるでしょうか?
OSはWin98、Excelは97です。
よろしくご教授お願いします。
>>654 (エクセルトンさん)
ありがとうございます
いわれてみたら、なるほどなぁと思いました
う〜ん
精進あるのみです。
ども
>656
Fドライブに問題のディスクを挿入し、スキャンディスクを掛ける。
運が良ければ、戻る。(MOでなら復元経験あり)
ただし、ファイル名と拡張子がFile001.chk?のように、勝手に変わってしまっていたので、
拡張子をxlsに直してみたら、開けるようになってた。
>>651-652 阿呆な漏れを頃して暮れ!
function のなかで
debug.print myRange
なんつーことをしてコケていたのが
#VALUE! の原因と判明。 と同時に失禁20g。
熱い ♥ をありがd
(;´д`).。oO( We built this city on rock'n'roll )
660 :
名無しさん@そうだ選挙にいこう :02/05/23 10:24
集計で困っています。
合計点数が0点〜6点の場合は 0点を加算
合計点数が7点〜11点の場合は 5点を加算
合計点数が12点〜 の場合は 10点を加算
以上の3つの条件で集計をしているのですが関数が作れずに困っています。
手元の参考書を見ても見当たりませんでした。
どうぞお願い致します。(初めての書き込みなんですがageてもいいのかな?)
661 :
名無しさん@そうだ選挙にいこう:02/05/23 12:41
>660
if文じゃだめなの?
>>660 =合計セル+((合計セル>6)+(合計セル>11))*5
>>661 if関数を使用する・・・まではわかるのですが、情けないことに
数式を作ることが私にはまだできないのです。エクセル初心者なので。
申し訳ないです。
>>662 お手数をおかけしました。
ありがとうございました。
>>662 すごいんですね!
返り値TRUEとTRUEを足したら2になるんですね。
if文で条件作るよりスマートで感心しました。
665 :
名無しさん@そうだ選挙にいこう:02/05/23 23:49
例えば、2〜5列目は動かさないで
その下だけ動かすというのはどうするのですか?
常にその2〜5列目は表示されてるという意味です。
window 固定表示
667 :
名無しさん@そうだ選挙にいこう:02/05/24 00:56
>665
666の補足。
1列目をスクロールアウトして、
2列目以降を表示した状態でWindowを固定表示にするべし。
そうすれば、(1行目は表示されずに)2〜5行目は常に表示されることになる。
668 :
名無しさん@そうだ選挙にいこう:02/05/24 01:34
最小二乗法を使った方程式の出し方、グラフの描き方を教えてください。
切羽詰まってます。
ツール>アドイン>分析ツール
>>669 すいません、もうひとつ。
直線のグラフが描けません。回帰分析ってのでいいんですよね?
>>658 アドバイス有難うございます。しかし、残念ながら復旧出来ませんでした。
WEBで検索したところ、他にも以下の復旧方法が載っていたので試して
みましたが、やはりだめでした。
・Wordで読みこんでExcelにペースト
・外部参照Linkを活用した手法
該当ファイルは諦めることにします。。。
672 :
名無しさん@そうだ選挙にいこう:02/05/24 07:35
複数のシートのB2とB3にある複数のセルを1つのシートにまとめることって出来ますか?
計算式が入っていて、コピーしてもうまく行かないし、沢山あるので自力ではできないのです(涙)
…できますか??
673 :
名無しさん@そうだ選挙にいこう:02/05/24 08:09
>>672 意味していることと違ったらスマンが
B4に
=B2&B3
とかどうでしょう?
674 :
名無しさん@そうだ選挙にいこう:02/05/24 08:12
>>673 あ、ねぼけてよく読んでなかった
sheet2 のA1に
=Sheet1!B2&Sheet1!B3
に訂正
675 :
名無しさん@そうだ選挙にいこう:02/05/24 09:40
エクセル2000のファイルを添付してメール送信する場合、
相手が見るエクセルファイルは相手のバージョンによって
変わりますよねぇ。で、エクセル97以上のバージョンを対応
できるファイルとして、保存する時、ファイルの種類は、
エクセルブックで保存した方がいいのか(2000のまま)、
それとも95〜2000エクセルブックで保存した方がいいのか
どうしたらよいですか?至急どなたか教えてください。
ファイル添付で送る場合、バージョンも記入したほうがよい?
676 :
名無しさん@そうだ選挙にいこう :02/05/24 09:51
>674
シート名がバラバラなのですが、一枚一枚指定してあげなきゃ難しいですか?
ひとつのブック内の全てのシートの指定のセルを抜き出す事って出来ますか??
すいません。。
>>676 =SUM('最初のシート名:最後のシート名'!B2)
た・足されてしまいました…。
複数のシートの指定のセルを一枚に順に並べて抜き出すような…。
679 :
名無しさん@そうだ選挙にいこう:02/05/24 13:39
1行目にシート名があって、そのシート名とシートをリンクさせて数式を作りたいのですが
何か言い方法はありますか?
1行目のシート名を指定すればそのシート内のセルを使えるような。
680 :
名無しさん@そうだ選挙にいこう:02/05/24 13:45
=INDIRECT(CONCATENATE(シート名,…))
681 :
名無しさん@そうだ選挙にいこう:02/05/24 16:29
>672
一応、4つシートがあるとして
1から3のシートのA1、B1のセルの値を
シート4のA1から順にコピーしていくっていうものを作ってみた。
Sub Mycopy()
Dim i As Integer
For i = 1 To 3
Sheets(i).Select
Range("a1:b1").Select
Selection.Copy
Sheets(4).Select
Cells(i, 1).Select
ActiveSheet.Paste
Next i
End Sub
これを上手く改良してくだされ。
算式が組んでる場合は値をとるか算式をとるかにもよるけど。
682 :
名無しさん@そうだ選挙にいこう:02/05/24 18:34
(v+ag/k)e^-kt
(eは自然対数、tはじかん、他は定数)
というグラフを作りたいのですがどうやるのですか。
683 :
名無しさん@そうだ選挙にいこう:02/05/24 21:13
Excelで数字を入力するときに、キーボード上のテンキーを使って入力しているんですが、
「.」のキーを「00」と認識してくれるようなソフトは無いでしょうか?
入力するのはほとんど整数なもので...
>>676 Sub ccc()
Dim ws As Worksheet
Dim LRow As Long, i As Integer
Set ws = Worksheets.Add(before:=Worksheets(1))
LRow = 1
For i = 2 To Worksheets.Count
If Worksheets(i).Name <> ws.Name Then
ws.Range("B" & LRow & ":B" & LRow + 1) = _
Worksheets(i).Range("B2:B3").Value
LRow = ws.Range("B65536").End(xlUp).Row + 1
End If
Next i
End Sub
685 :
名無しさん@そうだ選挙にいこう:02/05/25 00:29
市販の住所録ソフトから、郵便番号一覧を抜き出して、
エクセルで郵便番号一覧テーブル(四国のみ)を作りました。
そこで質問です。
「郵便番号」が、「文字列」例('7740008)のままなのですが、これを
「774-0008」みたいに表示したいのです。
横に、書式設定「000−0000」の列を作り、「値」のみコピーしてみましたが、ダメでした。
ちなみに標準数値を、上記新列に「値」のにコピーすると、うまく「774-0008」と
表示されます。
どなたか知恵をください
「データ」⇒「区切り位置」⇒「完了」で終了しました。
スンマソンなぁ…
687 :
名無しさん@そうだ選挙にいこう:02/05/25 01:14
Function test(a As Integer, b As Integer)
test = a + b
End Function
という関数を PERSONAL.XSLに作成した場合
使うときに
=PERSONAL.XLS!test(A1,A2)
とすれば、使うことができるのですが
これを
=test(A1,A2)
とPERSONAL.XLS!を省略して使えるようにすることはできますか?
>>685 '7740008〜がA列に記入されていると仮定して
B1に「=VALUE(A1)」
と記入後、セルの書式設定>その他>郵便番号を指定し
セルの右下角でマウスカーソルが+状態になったところを下に引っ張ってオートフィルさせる
あらら、自己解決してたのか。しかももっと簡単に・・・鬱
690 :
名無しさん@そうだ選挙にいこう:02/05/25 15:25
>>687 アドインとして保存することで
自己解決しました。
691 :
名無しさん@そうだ選挙にいこう:02/05/25 18:34
エクセルのグラフをワードに貼り付けたんだけど、拡大すると
文字まで拡大されてしまう。
これってこんな使いにくいものなんでしょうか?
>>691 グラフをダブルクリックして、変えたいところ書式設定でフォントサイズを変えたら?
693 :
エクセルマン:02/05/26 13:05
>683
関数だけで処理する方法。
A列を文字書式にする。
B列に=IF(RIGHT(A1,1)=".",LEFT(A1,LEN(A1)-1)&"00",A1)
00を000に変えることもできる。ただしピリオドが二個続くとバグる。
アルファベットだけ抜き出すにはどうすればいいでしょうか?
>>693 文字列ですかぁ?
100100には、どう対応するわけ?
698 :
エクセルマン:02/05/26 14:05
>693
もっとスッキリした関数発見。B列に
=SUBSTITUTE(A1,".","00")
32.と入れると3200
32..と入れると320000
32.56と入れると320056
というか関数をいちいちセルに記入するなら00を記入した方がよろしいかと
>>683 オートコレクトに
修正文字列を「.」、修正後文字列を「00」で登録するってのは?
>>700で追加
文字列の時に「.」を「00」にオートコレクトさせたくなかったら
修正文字列を「0.」、修正後文字列を「000」
修正文字列を「1.」、修正後文字列を「100」
修正文字列を「2.」、修正後文字列を「200」
・
・
・
ってなかんじで0.〜9.まで登録すればいいと思う。
あ、テストしてみたら
>>700のだけで文字列の時はオートコレクトしないようだね・・・また鬱
1564000の数字を結果、1.6と表示する近道を教えてください。
今の時点では、1564000を1000000で割って
書式で小数点1の位まで表示で設定しています。
もっと簡単な方法、関数を使うなどのやり方があったら教えてください。
>>704 1564000がA1に記入されてるとして
=ROUND(A1/10^6,1) とか
コマンドラインオプションは、エクセルにはあるのでしょうか?
AUTO_OPENやコードの追加なしに、現行の、あるマクロを起動と同時に実行させたいのですが
ACCESSのように、/X MACRO1 といった感じで指定はできないのでしょうか?
707 :
名無しさん@そうだ選挙にいこう:02/05/27 17:02
エクセルでこういうことできるのでしょうか。
1月の測定結果
ID 身長 体重
123 150 53
145 152 56
167 156 44
177 158 55
180 165 49
・
・
3月の測定結果
ID 身長 体重
118 164 52
145 152 56
167 156 44
172 160 54
177 158 55
180 165 49
・
・
という2つのファイルで、基本的にはだいたい同じようなメンバーの身長と体重を測定したファイルがあります。
これを、同じIDが同じ行に来るように並べ替えたいのです。
残念ながらメンバーが多少出入りしているので、ただの並べ替えですと、ちぐはぐになってしまいます。
また、メンバー数が5000人以上ありますので、手作業は避けたいところです。
アドバイスをお願いいたします。
なお、エクセルでは無理という場合はソフトを教えて頂けるとありがたいです。
なお、上の表は分かりやすいように身長と体重で書いてますが、実際には全然違う項目のデータを並び換えます。
(某エステ情報流出というあまりにもタイムリーな時期でしたね。。。)
同じIDが同じ行に表示するためには、抹消されたIDを消さなきゃいいだけなんだけど
表計算ソフトを使う限り
抹消IDを削除して尚且つ同じ行に表示させることなんてできない。と思うぞ
709 :
名無しさん@そうだ選挙にいこう:02/05/27 19:12
てゆうか、こういうような表にしたいんでしょ。
データが無ければ空欄にするということで、
ID 1月の身長 1月の体重 3月の身長 3月の体重
118 164 52
123 150 53
145 152 56 152 56
167 156 44 156 44
177 158 55 158 55
180 165 49 165 49
・
・
それだったら、まず全部の月のIDデータをソートして重複除去してID一覧を作り、
次にVLOOKUPで上の表を埋めればいいんじゃないの。
MOUSのexcel2000の勉強を始めようと思っているのですが
家のPCのソフトは97しか入っていません。
他スレで97と2000は激しく違うから買ったほうがよいといわれたのですが、
そんなに内容が変わったんですか?
スレ違いかもしれませんが、すみません
>>710 他スレのアドバイスは信じないのに、ここのレスは信じるわけ?
712 :
名無しさん@そうだ選挙にいこう:02/05/28 08:15
というか、その激しく違うといってるスレで相談するのが最適かと・・・
713 :
名無しさん@そうだ選挙にいこう:02/05/28 09:52
>>710 MOUSとるだけなら97で勉強して本番で2000受験でぜんぜん
問題ないです。あの試験は簡単ですから。
707は名古屋の連続小学校破りではっ
715 :
名無しさん@そうだ選挙にいこう:02/05/28 15:17
マクロでこなのを作りたいんですけど
5月26日 5月27日 5月28日
日曜日 月曜日 火曜日
4 6
3 1
1 2
当日
6
2
0
5月28日の火曜日の下に6〜0を貼り付ける。
これを毎日手作業でやっているので、ボタン1発で出来るようにしたいんですが
だれかよろしくお願いします。
>>715 Sub test()
Dim n As Integer
ActiveSheet.Range("A1").Select
Do While ActiveCell.Offset(0, 0) <> ""
ActiveCell.Offset(0, 1).Select
Loop
With ActiveCell
.Value = Format(Now, "mm月dd日")
.Offset(1, 0).Value = Format(Now, "aaa") & "曜日"
For n = 2 To 4
.Offset(n, 0).Value = ActiveSheet.Cells(n + 6, 1).Value
Next n
End With
End Sub
日付と曜日を手動で入力するのなら10〜11行目を削除するかコメントブロックしてください。
717 :
名無しさん@そうだ選挙にいこう:02/05/28 23:41
一つのセルに複数の行に渡ってデータを入力する事はできますか?
719 :
名無しさん@そうだ選挙にいこう:02/05/29 06:32
「デジタル署名が破棄され」て、マクロが実行できなくなっちゃった…
なんで〜なんで〜
720 :
名無しさん@そうだ選挙にいこう:02/05/29 06:57
>719
セキュリティーレベル下げてもだめ?
>720
レベルを“中”にしたらできました。ありがとう。
「自分で作成したデジタル証明書」は永久に有効ではないってことでしょうか?
722 :
名無しさん@そうだ選挙にいこう:02/05/29 16:07
Excelデータシートで、
姓と名前の列があるんですが、
これをまとめて、姓名の列を一個作りたいです。
そこで、姓と名をグループ化したいんですが、どのような方法が
ありますか。
例
A B
木村 太郎
→
C
木村太郎
みたいな感じです。
723 :
名無しさん@そうだ選挙にいこう:02/05/29 16:15
>>722 =CONCATENATE(A1,B1)
724 :
名無しさん@そうだ選挙にいこう:02/05/29 16:25
CONCATENATE(A1,B1)
っていう命令はどこにうてばいいんでしょうか?
C1 = CONCATENATE(A1,B1)
にしても
C1
には
CONCATENATE(A1,B1)
となるだけで、
木村太郎にはなりません。
725 :
名無しさん@そうだ選挙にいこう:02/05/29 17:32
Excelで作った表が2つあるんですが別々のファイルなので
ひとつのファイルに表をまとめたいんですがそのままコピーして
張り付けることは可能でしょうか?
726 :
名無しさん@そうだ選挙にいこう:02/05/29 17:36
>724
私、今やってみたけどできたよ。(723さんありがとう)
A1 に木村、B1 に太郎、
C1 に723さんの式をそのまま打ちます。
>CONCATENATE(A1,B1)
>となるだけで
って、まさか = を打ち忘れたとか?
727 :
名無しさん@そうだ選挙にいこう:02/05/29 17:53
RND()をつかって作成した数値は、セルの編集等で再計算されてしまいますが、
それを無効に(一度決めた乱数で固定するように)できないでしょうか?
728 :
名無しさん@そうだ選挙にいこう:02/05/29 21:32
>>725 可能。
まず自分でやってみて、だめだったら質問したら。
>>727 ツールメニューのオプションの計算方法を手動にする。
(Windowsだとメニューの項目名が違うかも知れないが。)
729 :
名無しさん@そうだ選挙にいこう:02/05/29 22:06
>>723 物知りですね〜。そんな命令みたこともない
730 :
名無しさん@そうだ選挙にいこう:02/05/29 22:15
731 :
名無しさん@そうだ選挙にいこう:02/05/29 22:33
B1に = A1 + A2
B2に = A1 - A2
B3に = B1/B2
とかいてあるとき
B3の参照先のセルをB3に展開して
B3 = (A1 + A2) /(A1 - A2)
みたいなことは、できますか?
長い式を書くとき、ちょっとづつ書いて
最後展開して
その後に途中式を、消したいなぁと考えています。
皆さん
あの、数式バーで長い式とかも、書いてるんですか?
732 :
名無しさん@そうだ選挙にいこう:02/05/29 22:42
>731
できる。
長い式、昔は書いていたけど(if7コとか)、
後で見直すことを考えると、731の上の式みたく
細かく区切ってあった方が逆に良いと思う。
>727
コピペで「形式を選択して貼り付け」書式にチェックではダメ?
734 :
名無しさん@そうだ選挙にいこう:02/05/29 22:52
>>731 普段はセル番地が記されているコンボボックスが、
数式パレット使用中は関数ボックスになるんだが・・・。
ネストも簡単にできるぞ。知らなかったなら使ってみろ。
知っていて書いてたなら関係ないレスだが。
だが、あまりにもネストが深すぎると、
エラーチェックが大変だからやめたが良いと言ってみる。
>>728 ありがとうございました。 無事にできました。
後から気付いたのですが、RND()じゃなくてRAND()でした。
あぁ恥ずかしい。
APACHE+PERL(もしくはPHP)のサーバでXLSファイルを作りたいのですが
どのようにすればよいのでしょうか?
具体的にはサーバにテンプレート化した列数固定のXLSファイルを置き、
リクエストに応じてサーバのDBから生成したデータをテンプレートに
追加したい、という感じです。
CSVファイルは当然作れますが、オートフィルタとかつけたいんです。
よろしくおながいします。
737 :
教えてクン52号:02/05/30 02:07
エクセル2000を使ってるんですが、「2e22」など小文字の「e」が混ざると
「2E+22」みたく勝手に変換されるのは、どーにかならないのでしょうか?
>>737 '2e22のように頭に「'」をつけて記入するか
あらかじめセルの書式設定で文字列に設定してから記入する
739 :
教えてクン52号:02/05/30 03:55
>>738 さん
レスありがとうございます。
じゃあ、「2e22」って文字列を含むCSVファイルをエクセルで読み込む場合は
どーしようもないって事ですか・・・
CSVファイル自体をテキストエディタで開いて「'」を入れてからエクセルで
読み込む・・・あぅ、鬱だ・・・
>>739 CSVファイルの拡張子をTXTに換えてからExcelで開いて
テキストファイルウィザードで2e22のある列等を文字列に設定したら?
741 :
名無しさん@そうだ選挙にいこう:02/05/30 15:49
助けてください。
EXCELファイルを立ち上げると
他のファイルへの自動りんくが設定されていると言われます。
そこで、いいえをクリックして、編集後、ファイルを立ち上げると
ファイルが立ち上がらなくなります。
どうしたらいいすか?
なんかヒントお願いします。
>>716 なんとか思いどうりのができました。
ありがとうございました。
743 :
名無しさん@そうだ選挙にいこう:02/05/30 16:15
744 :
名無しさん@そうだ選挙にいこう:02/05/30 16:56
あげ
リンクの問題
は関係ないかもしれません。
どうも、そのファイル固有の問題なのかなあ?
とりあえず、このファイルを修正して保存して
立ち上げると、たちあがらなくなるのです。
マクロ等は使用していないです。
746 :
名無しさん@そうだ選挙にいこう:02/05/30 18:03
編集したら立ち上がらなくなるんだな?
それまでは立ち上がるっと。
そいつはどーなってるんだろうか?
俺はわからねーや。
ほかのやつにきいてちょ
747 :
名無しさん@そうだ選挙にいこう:02/05/30 18:41
俺もわからねえや。
もともとのファイルが壊れてるってことはないかなあ?
あっでも最初は開くんだよな。
?????
まあ、ほかのひとにあたってみてよ
748 :
名無しさん@そうだ選挙にいこう:02/05/30 18:51
ExcelVBAって、Accessみたく完全にコード見えないようにアプリ化できちゃいますか?
できるが、やる必要があるのか?
750 :
名無しさん@そうだ選挙にいこう:02/05/30 20:08
751 :
名無しさん@そうだ選挙にいこう:02/05/30 21:25
age
>>741 やたらと回答を要求しているが、そのファイルを見ない以上
回答者も何も出来ないのじゃないのか?
現状じゃ、そのファイルが壊れたんじゃないのかという回答しかつかないと思うのだが。
他人に見せても良いファイルなら、何処かにウプしてみたら?
正直、今の説明だけじゃ、全くわからない。
>>750 しつこいね。
編集 - リンクの設定
リンク先のパスを見て、検索しリンクを断つとか。
754 :
教えてクン52号:02/05/30 22:29
>>740さん
レスありがとうございます。
えっと、その方法むりでした。
勝手に変換しないように設定するところがあった気がしたんですが、
そのような回答がないって事は記憶違いだったみたいです。
どうもお騒がせしました。
755 :
名無しさん@そうだ選挙にいこう:02/05/30 22:42
>>753 仕事なもんで、絶対解決しないとダメ&
upできないっす。
で、
>リンク先のパスを見て、検索しリンクを断つとか。
はやったんですが、そのリンクを絶つための行動をした後
それを上書き保存すると、また
ファイルが立ち上がらなくなります。
ファイルが壊れているとすると、かなりいたいです。
>>755 セルを全選択してコピー、新規ブックのシートに貼り付けして保存したら?
758 :
名無しさん@そうだ選挙にいこう:02/05/30 23:05
>>757 それもこころみましたが、なぜか、そうしても、
新しくできたファイルでは、
同じ現象が起きるのです。
かなり意味不明の状態で自分には手が終えません。
>>758 これは?
やった。
あれは?
やった。
じゃ埒あかない。まず、自分でやったことをあげろや。
760 :
名無しさん@そうだ選挙にいこう:02/05/30 23:09
ちょっとづつ分けてコピペして
問題箇所を浮き上がらせてみるとか
さすがに、最小単位のセルを1つだけコピーしても開かないってことなら
君のパソコンかエクセルがおかしいとか・・・
他の人のパソコンで、編集してみるとか・・・・
761 :
名無しさん@そうだ選挙にいこう:02/05/30 23:12
>>760 >他の人のパソコンで、編集してみるとか・・・・
それはやりました。
>ちょっとづつ分けてコピペして
>問題箇所を浮き上がらせてみるとか
>さすがに、最小単位のセルを1つだけコピーしても開かないってことなら
>君のパソコンかエクセルがおかしいとか・・・
そうですね。今からこれをやってみます。
できました!
解決法は、
>リンク先のパスを見て、検索しリンクを断つ
という事を試みたあとで、
セルを全部、新しいbookにコピペしていくという方法
をとりました。
これだとなんとか、
上書き保存により
ファイルが立ち上がらなくなると
いう現象を回避できました。
ありがとうです。
763 :
名無しさん@そうだ選挙にいこう:02/05/30 23:30
エクセルでグラフを書くときにマイナス側とプラス側で
目盛間隔を変えることはできないでしょうか?
764 :
名無しさん@そうだ選挙にいこう:02/05/30 23:45
IF文つかって、データ自体を変えちゃうとか
{もし値が、マイナスなら10分の1にする}って感じで
んで、その修正データをグラフにするとか・・・
マイナスのY軸のテキストは上からテキストボックスとかでごまかしちゃうとか・・・
765 :
教えてクン52号:02/05/31 00:17
>>756 さん
あぅ、小一時間問い詰められてしまう・・・
出来ました。
開く段階で文字列にするって事だったんですね・・・
どうもお騒がせしました。
766 :
名無しさん@そうだ選挙にいこう:02/05/31 00:27
あ、あの、下らなすぎて恥ずかしいんですが、自分で調べても
いまいち分からないことがあるんです。
ヘルプや入門書に「〜を返す」っていう言い方が良く出てくるんですが、
それってどういう意味なんでしょうか?
>>766 辞書ひけと言いたくなるが、
Excelのヘルプや入門書に出てくる「〜を返す」は、
要求に応じて作業して、結果を出すとかでいいんじゃないの?
「値を返す」とかだろうからさ。
>>768 (;´д`).。oO( 簡単じゃ )
Apache 入れてる鯖に Excel をインストールしておく。
771 :
名無しさん@そうだ選挙にいこう:02/05/31 08:57
772 :
名無しさん@そうだ選挙にいこう:02/05/31 12:18
773 :
名無しさん@そうだ選挙にいこう:02/05/31 12:59
>771
ヲイヲイ。。
Apache 入れてる鯖に Excel をインストールして、.xlsのファイル名
でファイルを生成すればいいだけじゃん。
774 :
名無しさん@そうだ選挙にいこう:02/05/31 14:59
一列に上から、「3、2、5、1」と数字が入っているとします。
これの順序を逆に、つまり上から「1、5、2、3」とする方法はありますか。
775 :
名無しさん@そうだ選挙にいこう:02/05/31 15:26
>>774 その作業が一回きりのものなら、
隣の列に1, 2, 3...と連番を作成し、
その列と一緒に逆順に並び替え
776 :
名無しさん@そうだ選挙にいこう:02/05/31 15:39
>>775 思いもつきませんでした。どうも有り難うございました。
誤爆しました。
こちらでと言うことで、初心者板からきました。
Excel2000です。VBAで入力フォームを作成しました。
シート1のB列にフォームより数字が入り、その数値を参照するように
シート2にVLOOKUP関数が入れてありますが、返しがN/Aのエラーになります。
シート1B列に見かけ上は数字が入りますが、
数値として扱ってくれていません。セルの書式設定はいろいろ試しましたが
だめでした。VBAのフォントやIMEの設定もやってみましたがだめでした。
どのようにすれば良いのでしょうか?
お願いします
>>773 まだよくわかってません。
サーバサイドでファイルを自動生成するのにEXCELのインストールが関係あるの
ですか?また具体的に、例えばPERLやPHPでどのようにXLSを生成するのか
教えていただけませんか?本当にわからないんです。
780 :
おねがいします:02/05/31 18:26
Excel2000でVBAについてなんですけどテキストボックスが多数(120)ある時に
テキストボックス1で右を押したらテキストボックス2に移動するようにしたいんですけど
下のやり方だとこれを120個書かなくてはいけないので困っています。
簡素化する方法はありますか?
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyRight Then
TextBox2.Activate
End If
End Sub
ちなみにVBAってTABINDEXってないんですか?
781 :
名無しさん@そうだ選挙にいこう:02/05/31 18:36
エクセルを使っていながら120個のテキストボックスをおくのって
なんとも不毛な感じがしませんか?
782 :
おねがいします:02/05/31 18:46
確かにそうですね。自分のしていることが馬鹿らしくなりました。
素直に腐るほどあるテキストを使おうと思います。
783 :
ななしさん:02/05/31 19:43
エクセル2000で、データと最も誤差の少ない関数のグラフを
求めたいんだけどどうすればいいですか??
グラフ(C)→近似曲線の追加(R)ってやればいいらしいんだけど、
近似曲線の追加(R)の字の色が消えてて使えません。
784 :
名無しさん@そうだ選挙にいこう:02/05/31 19:44
>>779 Excelは別にいらないですよ。マンドクセーから
フツーにCSV作って拡張子(ファイル名)を*.xlsにするですよ。
そうすればクライアントサイドで該当ファイルを開くときに
Excelで開いてくれるですよ。きちんとCSV形式にのっとっていれば
ちゃんと開くですよ。
>>773が何いってんのかは漏れもわからん。ハァ?って感じですよ。
>>773が言ってるのは、エクセルをインストールすれば
「手動」で.xlsファイルが作れるよって事だと思われ。
多分ネタっしょ。きっとネタっしょ。絶対ネタっしょ。
ネタである事を信じて(藁
どなたか教えて下さい。
エクセルのセルに例えば20020531という数値を2002/5/31という日付
に変更する方法はないでしょうか?
>>784-785 ネタであってほしいね。我ながら(w
リクエストしてる人はクライアントサイドでデータ加工させたい
のではなく、、サーバーサイドでエクセルのオートフィルター等を
使っていじくったデータをクライアントに送りたいんじゃないの?
ま、エクセルをインストールせずエクセルの機能を動かす
方法知ってるならそれをおしえてさしあげてちょ。
単にフィルターかけるだけならエクセルがなくてもできるけどさ。
789 :
名無しさん@そうだ選挙にいこう:02/05/31 22:31
>787
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
790 :
名無しさん@そうだ選挙にいこう:02/05/31 22:40
ユーザフォームで、テキストボックスの初期値をセル参照して与える事は可能でしょうか?
>>790 プロパティのlinkdcellに参照したいセル番号を入れとく。
792 :
名無しさん@そうだ選挙にいこう:02/05/31 23:43
>>783 メニューを選ぶ前に、そのグラフを選択しているか?
それから、
>最も誤差の少ない関数のグラフ
と言っているようでは、近似曲線というものの意味があまり分かっていないようだが
大丈夫か?
>>791 ご回答ありがとうございました。
実は( シート上に配置するコントロールフォームでなく )
VBAのユーザフォーム上でのテキストボックスだったので
プロパティに"LinkedCell"という項目はありませんでした。
( シート上に配置するコントロールフォームにはありました )
VBAのユーザフォームでも似たようなものがないか探したところ
"ControlSource"という項目があり、うまくセルを参照できました。
ありがとうございました。
(;´д`).。oO( 僭称かyp )
漏れこそ名波。
>>788 あのさ、例の人はさぁ、Apache だとか、
>具体的にはサーバにテンプレート化した列数固定のXLSファイルを置き、
とか、
>CSVファイルは当然作れますが、オートフィルタとかつけたいんです。
なんてところまで要件を定義できているんだぜ。
わざわざ httpd から .xls ファイルを湧かすっつーのも
キモイっちゃぁキモイけど、せっかく一所懸命やってる御仁に
わざわざ CSV 吐かせようって魂胆は、どうしたんかさぁ?
795 :
のっとられた773。。。:02/06/01 00:25
>>794 >わざわざ CSV 吐かせようって魂胆は、どうしたんかさぁ?
簡単だし。。
エクセル側のPERSONAL.xlsかなんかに処理したいVBA既述しておいて
吐いたファイルをopen→(必要ならkey送信)→closeでいいんじゃないの
>>789 789さん、ありがとうございます。
ちょっと、感動でした。
>>792 レスありがとうございます。
まずはデータをそのままプロットしてグラフつくり、
それを選択してからって事でいいですか??
あと、近似曲線の意味は良く分かっていないかもしれません。
とりあえず、エクセルに最小二乗法をやらせたいの。
798 :
名無しさん@そうだ選挙にいこう:02/06/01 03:28
シート上にボタンを置いて、それをクリックしたら値の設定変更フォームを表示し、
各種変数を設定できるようにしたいと考えています。
とりあえず形は出来て、いざ実行してみると
設定した変数が保持されなくて、思い通りにいきません。
ヘルプを見ると変数には有効期間があって…と書いていますが、
何とかうまく処理できないでしょうか?
799 :
名無しさん@そうだ選挙にいこう:02/06/01 06:02
>>794 > わざわざ httpd から .xls ファイルを湧かすっつーのも
> キモイっちゃぁキモイけど、
(゚Д゚)ハァ?
800 :
名無しさん@そうだ選挙にいこう:02/06/01 12:58
>>736 perlならWin32::OLEモジュールていうのがあるからそれ使えばOLEで
Excel制御できるよー。ただしサーバOSがWin系でExcelがインストロールされてる
環境が必要。
それ以外には
ttp://www-6.ibm.com/jp/developerworks/linux/011130/j_l-pexcel.html こんなの作ってくれてる人もいるから利用すれ。すごいね
いわゆるVBAに詳しくてそっちならガンガン書けるっていうならいっそ
ASP導入サーバ用意してそこでOfficeアプリの処理を集中させちゃうと
ほとんどVBAと同じコードで処理できるよ。
ていうかExcelの質問じゃなくてサーバー側の質問だよこれ。
WEBプログラミング板の方で聞いてみたら?
良スレなのにハズカスィ回答みてらんない(;´Д`)ワカラネエナラカクナヨ・・・。
>>800 プログラミング板の質問だったのですね。どうもすいません。
でも、やっと期待していた回答をいただけて嬉しいです。
これで思っていた機能が実装できそうです。ありがとう!
>>798 どういう処理か解からんけど、シートに書いとくのが手っ取り早い
テスト:シート名Sheet1があること、UserFormにTextBoxが4つあること。
Private Sub UserForm_Initialize()
ActiveCell.Activate
For i = 1 To 4
Me.Controls("TextBox" & i) = Worksheets("Sheet1").Range("IV" & i)
Next i
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ActiveCell.Activate
For i = 1 To 4
Worksheets("Sheet1").Range("IV" & i) = Me.Controls("TextBox" & i)
Next i
End Sub
803 :
名無しさん@そうだ選挙にいこう:02/06/01 15:09
あるシートとあるシートに
それぞれ名前が格納されています。
例えばシート1の1列に
A
B
C
D
シート2の1列に
A
C
D
E
と名前が記録されていたとします、
この両方の列、どちらにも名前が入っている
人(ここでは、A,C,D)に印(両方加入等)
をつけていきたいのですが、このように
列と列を比較する方法ってどういうのが
あるでしょうか?
>>803 データが、Sheet1のA1:A4 と Sheet2のA1:A4 だとして、Sheet1の B1 に
=MATCH(A1,Sheet2!$A$1:$A$4,0)
後は、B4までコピー
あれば、Indexが、なければ #N/A が返ります。
805 :
名無しさん@そうだ選挙にいこう:02/06/01 15:19
>>802 ご回答ありがとうございます。
説明不足でした、すいません。
やりたい事を具体的に説明します。
セル上に"設定変更"ボタンを置いて、これをクリックしたら設定変更フォームが表示され、
そのフォーム上のテキストボックスに値を入力すると、変数 n ( 計算回数 )にその値をセットするようにしました。
そして、セル上の"計算開始"ボタンを押すと、設定した n 回だけ計算するようにしたいのです。
しかし、設定変更フォームでの一連の動作が終わった時点で変数の有効期間(?)が切れてしまうらしく、
計算開始ボタンを押す時には、既に n の値が初期化されてしまう事があります。
これを回避するにはどうすればよいでしょうか?
また、そんな事しなくてもこうすれば良いのでは、というご意見がありましたらお聞かせ下さい。
よろしくお願いします。
807 :
名無しさん@そうだ選挙にいこう:02/06/01 15:35
あるシートやらあるデータやらってよー、おまいら人に教えてもら
いながらやってる程度の処理が社外秘な訳ねーんだから、人に聞く
んだったらちゃんとコードとかデータくらいコピれや、ヴォケが。
808 :
名無しさん@そうだ選挙にいこう:02/06/01 15:39
エクセル2000を使っています。
横長の表があるのですが、印刷すると下半分以上の余白が
できてしまうので、その下の余白に次のページのデータを印刷
したいのですが、印字することは可能ですか?
また、同様に縦長のデータも印刷したいのです。
(ワードの段組のようなイメージです。)
よろしくお願い致します。
809 :
◆kmM5.acQ :02/06/01 15:44
1uの材料から紛失した製品の紛失数を30個としたとき、
1u当たりの紛失数を出すにはどうすればいいでしょうか?
例、
C5には紛失数38個、
D5には平米数2.87u
E5には1u当たりの紛失数を出したいのです。
>>806 だから、例で上げたように n の値をどっかのセルに書いておく。
計算開始Sub はそのセルの値を使って n 回やるんだよ。
あととは、計算開始Subで毎回聞く。
Sub test()
Dim Result As Long, i As Long
Result = Application.InputBox("回数を入れろ", "回数", Type:=1)
For i = 1 To Result
Range("A" & i) = i
Next i
End Sub
811 :
◆kmM5.acQ :02/06/01 15:46
初心者なので、皆目見当がつきません。
どこのセルになにをどうやってどうするのか分かりません。
例であげた内容で教えてください。
812 :
名無しさん@そうだ選挙にいこう:02/06/01 15:48
>>809 言ってる事がチョト意味不明だが、
E5 = C5 / D5
じゃダメなのか?
813 :
◆kmM5.acQ :02/06/01 15:50
できました!ありがとうございました。
>>812さん
814 :
名無しさん@そうだ選挙にいこう:02/06/01 15:52
ネタ?
815 :
◆kmM5.acQ :02/06/01 16:03
ネタではないんです。今日始めて関数を使いました。
さらに教えて頂きたいのですが、
月ごとに、1u当たりの紛失数は出せました。
これをE列の下で12月分の平均を出したいんですが、
どうすればいいでしょう?
E5からE16までは12月分あり、
ちょうどE18に平均値を出したいのです。
>>810 丁寧に解説して頂いてありがとうございました。
うまく出来ました。
817 :
名無しさん@そうだ選挙にいこう:02/06/01 16:17
E18に
=AVERAGE(E5:E16)
と入れればいいんだが
あまりにも、何も知らないなら
本とか買って最低限のことは自分で調べたほうがいいと思うよ
スレタイトルが、総合相談だから。
まぁ、何を聞いてもいいんだろうけど
今みたいに、ひとつづつ聞きながら
仕事するより、
効率的だと思うよ。
818 :
名無しさん@そうだ選挙にいこう:02/06/01 16:20
E5=1月分紛失数 E6=2月分紛失数 .... E16=12月分紛失数 って事?
であれば、平均値を返す関数 AVARAGE() っていうのがあるから
E18 = AVERAGE( E5 : E16 )
でよし。HELP使ってね。
819 :
◆kmM5.acQ :02/06/01 16:29
>>817さん
すいません。
本は持ってるんですが、基礎編なんですが、
それでもこんな簡単なことは載っていないんです。
またお聞きしますがよろしくおねがいします。
820 :
名無しさん@そうだ選挙にいこう:02/06/01 16:38
>>819 他の人にも言えるんだけどさ、ヘルプ使おうよ。
AVARAGEなんて、そのものずばり「平均」でひいたら先頭に出てくるでしょ?
聞いたら楽かも知んないけど(ヘルプのが早いけどね)それじゃあ覚えないよ。
意地悪じゃなくて、親切心で言ってるから起こらないでね。
821 :
◆kmM5.acQ :02/06/01 16:42
また壁にぶつかりました。
#VALUE!とはどういう意味でしょうか?
822 :
名無しさん@そうだ選挙にいこう:02/06/01 16:42
しかしながら
>>809の質問に関しては
エクセルのヘルプにはのってないな(割り算の仕方がわからなかったというならいいのだが・・・)
もはや、常識がないとしかいいようがない。
悪いがネタかと思ってしまったよ。
823 :
名無しさん@そうだ選挙にいこう:02/06/01 16:50
>>822 その程度がわからないならワード+計算機でも使ってなさいってこった。
824 :
812=818=820:02/06/01 16:54
>>822 確かに最初は「割り算て知ってる?」て書こうかとオモタヨ。
>>821 だからヘルプ見た?
825 :
名無しさん@そうだ選挙にいこう:02/06/01 17:01
能力以上の仕事は引き受けないようにしましょう。
826 :
名無しさん@そうだ選挙にいこう:02/06/01 17:09
>>821 #VALUE!
と、表示されているセルには
何を記入してるの?
827 :
名無しさん@そうだ選挙にいこう:02/06/01 18:23
ゆとり教育の成果ということだな
828 :
名無しさん@そうだ選挙にいこう:02/06/01 18:59
◆kmM5.acQ
本読め。基礎編と関数編読め。馬鹿すぎる。
・
・
・
・
・
・
・
・
・
グラフ上にこういった点があり、近似線をひこうとおもいます。
最後から数えて2つ分を省いた点のみで引きたいのですが、方法ありますでしょうか?
>829 ズル技。2つ同じデータ列を用意して、両方ともグラフの点スタイルを
同じにする。で、片方のデータ列から入れたくないデータを除いてそっちで
近似線を引く。異常値を除いて近似線を引きたいときに使ってる。(片方の
点を「なし」にしても可)。
正式な方法があったら俺も教えてホスィ。
>830
レスサンクス。僕もとりあえずそうやって凌いだのですが、
数が増えたとき面倒だなぁと思って質問させていただきました。
どうも無いようですね。
832 :
名無しさん@そうだ選挙にいこう:02/06/01 21:38
>>829 正式というか、本筋というか、
近似曲線には、その種類毎に理論に基づいた計算式があって、
EXCELはそれを当てはめているだけだから、
少し違った処理をしたい時は、自分でその計算をすればいい。
その計算式も、線形近似(および多項式)ならTREND、指数近似ならGROWTH、と関数として用意されている。
833 :
名無しさん@そうだ選挙にいこう:02/06/01 23:39
あるシートのM3が
文字#N/Aと等しいといった場合に
非会員とP3に打つというように命令
する式はどのようにすればいいでしょうか?
834 :
名無しさん@そうだ選挙にいこう:02/06/01 23:41
追加です。
そして、もし#N/A
で無い場合は会員とするようにしたいです。
よろしくお願いします
836 :
教えてください:02/06/02 00:52
シート1で
たとえば、A1のセルに得意先コードを126と入力すれば、
自動的にその得意先コードの会社名が出るようにするには、
シート2とどういう関連付けをすればいいんでしょうか?
837 :
名無しさん@そうだ選挙にいこう:02/06/02 01:21
>>836 ヘルプでVLOOKUPの項目を読みたまへ
2chはくそだがココの回答者だけはえらいと思う
839 :
教えてください:02/06/02 01:52
>>837 やってみたんですが、分かりませんでした。
おねがいします、教えてください。
>>839 Sheet2のA2〜B20に元データがあるとして、(A1はCD、B1は会社名)
CD 会社名
126 A社
127 B社
128 C社
・
・
Sheet1のB1に =VLOOKUP(A1,Sheet2!$A$2:$B$20,2,0)
Sheet1のA1に 126
841 :
教えてください:02/06/02 02:07
>>840 ありがとうございます。
これで、月曜に提出する書類が完成できます。
お金を払ってでも、知りたいことでした。
本当にどうもありがとうございました。
>>840さんではないが
>>841 #N/Aエラーが出るようだったら↓のようにしてね
=IF(ISERROR(VLOOKUP(A1,Sheet2!$A$2:$B$20,2,0)),"",VLOOKUP(A1,Sheet2!$A$2:$B$20,2))
ユーザーフォームのフレームorマルチページ内に、
ワークシートに記入してある表をそのまま表示させ
たいのですが、どうコード記述すればいいのかわか
りません。
よろしくお願いします。
エクセルを使っていながらユーザーフォームのフレームorマルチページ内に、
ワークシートに記入してある表をそのまま表示させるのって
なんとも不毛な感じがしませんか?
Excel で 1 万くらいのセルに値を設定しなきゃならないので、
マクロを書いて設定しました。
マクロ実行後、値がセットされたのを確認して、マクロを削除したの
ですが、.xls を開くときに「マクロを含んでいます」というメッセージ
が出てしまいます。
一応、メニュー[ツール]-[マクロ]-[セキュリティ] で「低」のレベルに
設定すればメッセージは出なくなるのですが、セキュリティの設定を
特に変えないで、メッセージが出なくなる方法はありますか?
一応、Excel 2000 です。
>>845 Alt+F11→Module1を右クリック→Module1の解放
847 :
名無しさん@そうだ選挙にいこう:02/06/03 17:37
845
シートごとコピーして新しいブックに貼り付ければ回避できます。
>>846 なるほど。Module1 が残っているためにメッセージが出る、ということですか。
>>847 ?エディタで開いて直接書き換えるということですか?
(xyzzy って hexl-mode ってないんだっけ?)
>>848 あ、そういう方法もありましたね。
メッセージが出ないようになりました。
ありがとうございました。
850 :
名無しさん@そうだ選挙にいこう:02/06/03 20:06
VBエディタだろ
851 :
名無しさん@そうだ選挙にいこう:02/06/03 20:59
某Webサイトで以下のようなデータがTABLE内にあったと
します。
| 1 | 2 | 3 | 4 |
|5 | 6 | 7 | 8 |
| 9 | 10| 11| 12|
このデータを Excel に貼り付けようとすると、以下の
ように貼り付けされます。
1
2
3
4
・
・
以下略
これをWebサイトと同様のリストの形体で貼り付け
るにはどのようにしたら良いのでしょうか?
852 :
名無しさん@そうだ選挙にいこう:02/06/03 21:33
>>851 一回テキストで保存してから、インポートかなあ。
853 :
名無しさん@そうだ選挙にいこう:02/06/03 22:56
たとえば、下のマクロを
test.vbsという感じで保存して
(エクセルが立ち上がってないときに)
そのファイルをクリックすると、
test.xlsにAを記入する。というようなことをさせることは
できますか?
Sub test()
Workbooks.Open "C:\test.xls"
Worksheets("Sheet1").Cells(1, 1) = "A"
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
>>853 試してないけど
Set oXL = CreateObject("Excel.Application")
Set oBK = oXL.Workbooks.Open("C:\test.xls")
oXL.Visible = True
oBK.Worksheets("Sheet1").Cells(1, 1) = "A"
oBK.Close True
oXL.Quit
とこんな感じでできると思う
ちなみにvbsは先頭から実行されるので、この場合Sub 〜 End Subは不用
855 :
名無しさん@そうだ選挙にいこう:02/06/03 23:17
>>851 Excel2000以上ならWebクエリで取り込むとか・・・
外してそう(w
>>853 できる。
Googleで「VBScript」「Excel」「WSH」で検索してみろ。
856 :
名無しさん@そうだ選挙にいこう:02/06/03 23:20
>>854 ありがとー
エクセルの枠を超えてもう一階層上での話になるわけですね。
勉強になりました。
857 :
名無しさん@そうだ選挙にいこう:02/06/03 23:22
>> 855
検索するにもキーワードがうかばず
困っとりました。
これから検索してスキルアップしていきます。
情報ありがと
XPにW98用のオフィスは使えますか?
859 :
名無しさん@そうだ選挙にいこう:02/06/04 00:05
そういえば、Win2000にOffice97入れると
ファイルを開いたときにウザいメッセージが出る場合がある。
*.xlsの関連付けが変になっているだけなので、レジストリ1箇所イジれば直るけど。
861 :
名無しさん@そうだ選挙にいこう:02/06/04 10:22
すいません、面接でエクセルが操作出来る人という条件の所に
明日いくのですが、エクセルなんて使ったことありません
一応事前情報で、簡単な名簿作りを実際にやらされるんですが、
エクセルとかアクセスの使い方をレクチャーしているホムペとか
ありませんか?
本を買うにも無職期間が長かったので結構厳しいんです。
Softは兄の持っているパソコンを借りてOfficeXPで操作します。
よろしくお願いします。
862 :
名無しさん@そうだ選挙にいこう:02/06/04 10:39
>>861 趣味でやっているのとは違い、通常業務でEXCELが使用できるというのは
VBAを理解して簡易な定型処理を行ったり、システムを組めるレベルのこ
とをさすので、もう遅い。
863 :
名無しさん@そうだ選挙にいこう:02/06/04 10:41
>>862 いえ、例題を教えてもらったのですが、非常に簡単な
表作りが課題なのです。
10名の月間営業成績の表です。
それを50音別、平均、最高、最低を表示させるだけなんです。
それすら出来ないんですが・・・。
EXCEL2000で、年齢を求める関数=DATEDIF(E9,TODAY(),"Y")を、打ち込むと年齢が表示されず、
1900/〜/〜と、日付が表示されます。(E9=生年月日)
何か基本的なことをまちがっているのでしょうか?
よろしく、お願いします。
865 :
名無しさん@そうだ選挙にいこう:02/06/04 10:55
866 :
名無しさん@そうだ選挙にいこう:02/06/04 10:56
>>865 意味わかりません・・・
一人ではどうにもならないので教えて頂こうと思って
訪ねているのですが。
867 :
名無しさん@そうだ選挙にいこう:02/06/04 11:09
>>863 それを50音別、平均、最高、最低を表示させるだけなんです。
それぞれヘルプひいてみ。
868 :
名無しさん@そうだ選挙にいこう:02/06/04 11:16
>>867 だからエクセルさわったこと無いので初歩から解説してるような
サイトありませんか?とお聞きしているのですが。
>>864 その数式を記入しているセルの書式設定を「標準」にすれ
EXCEL2000で、年齢を求める関数=DATEDIF(E9,TODAY(),"Y")を、打ち込むと年齢が表示されず、
1900/〜/〜と、日付が表示されます。(E9=生年月日)
何か基本的なことをまちがっているのでしょうか?
よろしく、お願いします。
名無しさん@そうだ選挙にいこうさん、ありがとうございます!!
解決しました!!
感謝です。
874 :
名無しさん@そうだ選挙にいこう:02/06/04 12:19
>>873 ありがとう。 聞いた甲斐ががありました。
875 :
名無しさん@そうだ選挙にいこう:02/06/04 14:24
>>855 Webクエリでなんとか出来そう。
ThanX
876 :
名無しさん@そうだ選挙にいこう:02/06/04 17:18
すいません、数値を入れた行、列で、その数値から
最大、最小を共に表示するというのはどうやるのでしょうか?
3・4・2・6・8・10・21
こう合った場合、 最大値欄に21を、最小値欄に3を表示する
ようにするにはどうすればいいのでしょうか?
>>876 ん?最小値は2だけど・・・
3,4,2,6,10,21のデータがA1〜G1に入っているとして
最大値が =MAX(A1:G1)
最小値が =MIN(A1:G1)
878 :
名無しさん@そうだ選挙にいこう:02/06/04 18:05
MIN
MAX
879 :
名無しさん@そうだ選挙にいこう:02/06/04 18:56
data(1 To 100)という配列変数を用意し、各要素に違う値をセットしました。
それを入力信号として後の計算を行うようにしたのですが、
1から100まで順に計算、というのを繰り返していると法則性が出てしまい、
望んでいる結果が得られません。
そこで、ランダムにdataの要素番号を選び出すようにしたいのですが、
100回選んで必ず全部のパターンを取り出したいのです。
要するに重複する事無く100回の処理で100パターンの入力信号をランダムに取り出したいのです。
普通にランダムに取り出して、その値が既に出ていたらもう一度選び直す…
という風にしていたのでは、後半は重複が続いてなかなか値が定まらず、困っています。
分かり辛くて恐縮ですが、良い方法があればご教授下さい。
お願いします。
880 :
名無しさん@そうだ選挙にいこう:02/06/04 19:41
>>877 ありがとうございました。やっとできました。
>879
excelの問題というよりアルゴリズムの問題だよね。
いろいろやり方はあると思うけど単純な例としては
配列から値を取り出したらその分前に詰めて乱数の
範囲も狭めていくとか。
>>881 ご回答ありがとうございます。
> excelの問題というよりアルゴリズムの問題だよね。
確かにそうでした。 質問する場所を選ぶべきでした、失礼しました!
にも関わらず、例を挙げて頂いてありがとうございます。
教えて頂いた方法でやってみたいと思います。
883 :
名無しさん@そうだ選挙にいこう:02/06/04 21:19
>>879 解決したようだけど
参考(にならんな・・・)までに、以前、似たようなことをしたことがあるぞ
For i = 1 To 100
data(i) = i
rnddata(i) = ""
Next i
For t = 1 To 100
tmp = Int(Rnd * 100) + 1
If rnddata(tmp) <> "" Then
Do Until rnddata(tmp) = ""
tmp = Int(Rnd() * 100) + 1
Loop
End If
rnddata(tmp) = data(t)
Next t
みたいに力技でやった経験あり・・・
アルゴリズムって知的な響きだね
漏れは、いつも力技・・・
いいもんいいもん、化学屋だもん
動きゃいいんだもん・・・
>>883 ご回答ありがとうございます。
その方法は試した方法ですが、Data()の要素数が増えれば増えるほど
計算回数が増加して大変になりますよね。
今作成中のシートを元にして、他の入力パターンにも適用していきたいので、
拡張性のある方法という事で
>>881さんの方法を使おうと思います。
>>881さん、
>>883さん、
皆さんありがとうございました。
885 :
名無しさん@そうだ選挙にいこう:02/06/04 21:50
EXCEL2002でセルに8−17と入力したいのですが、
8月17日に勝手になってしまいます。
どうすれば、8−17と入力できるようになりますか?
既出でしたらすみません。
886 :
名無しさん@そうだ選挙にいこう:02/06/04 21:59
'8-17
888 :
名無しさん@そうだ選挙にいこう:02/06/04 22:03
>>887 ありがとうございます。
設定を文字列にしたら
そのまま入力できました。
889 :
名無しさん@そうだ選挙にいこう:02/06/04 22:36
簡単な質問ですみません。
いくつかのエクセルファイルをマクロを使って集計した表があります。
ただ人様が作ったファイルなので、
どこのセルにどこのファイルからの値が入ってるのかを、簡単に調べる方法ってありますでしょうか?
今のところ1つ1つのセルの式を見て、メモってるのですが、
いかんせん、大量に有るので時間が掛かってしまうんです・・・。
よろしくお願いします。
890 :
名無しさん@そうだ選挙にいこう:02/06/04 23:36
>889
Sonohitoni Kikunoga
Ichibann Hayai?
891 :
名無しさん@そうだ選挙にいこう:02/06/04 23:40
ただ式が見たいなら
どっかにファイルコピーして
= を空白に置換するとか・・・
なんか、使ったこと無いけど
ワークシート分析とか、使うのかな?
>>879 そのやり方だと、計算量はnの2乗のオーダーになるよねぇ。
毎回「1番〜100番」から一つを選ぶのではなく、
最初に一回で「1番〜100番」というのを並べ替えてしまえばよい。
まず、並べ替えるために、別個に配列(リストの配列)を作る。
1列目:「1番〜100番」
2列目:なにかランダムな数を入れる。(乱数を100回算出する。) それぞれ4桁なら十分。
つぎに、2列目の値(4桁とかのデタラメな数)をキーとしてソートする。
すると、一列目(1〜100) が、ほぼランダムに並びます。
この一列目を、最初のほうから順に、「要素番号」として使っていけばよい。
これでオシマイ。
>>889 ・ワークシート分析ツールバーの使用
・ツール→オプション→表示→数式の後、印刷
・・・とココマデ書いてから気づいた。
>マクロを使って集計した表?
それなら、VBEの中までチェックする必要がある気がする・・・。
>>889 Excel画面とVBE画面を並べて表示し、デバック−ステップイン
後はF8キー
みなさん、ありがとうございます。
ワークシート分析ではないんです。
実績表を作成していて、合併するところがあったりで毎年微妙にレイアウトが崩れるんです。
4地区に別れていて、それぞれの担当者が実績の数字を入力するという形になってます。
また実績表作成担当者も毎年変わるため、新担当者が
「ここのこの実績は、去年の担当者はどのファイルのどの実績を持って来ているのだろうか?」
と確認しているようなんです。
896 :
名無しさん@そうだ選挙にいこう:02/06/05 00:14
>>895 で、マクロは関係ないの?
単なる外部ブックのリンク?
それとも、手入力?(それなら絶対わからん!)
いずれにせよ、もうちょっと情報くれ
じ、実は大元を作った人が異動でいなくなってしまったため、良く分からないんですよ・・・。
「集計報告」と言う4地区共通のファイルに、それぞれの担当者が実績を手入力し(Aファイル)、
Aファイルにすべて実績が入力されたら、その実績を別のファイル(Cファイル)に入り(リンク貼り付けしてあります)、
さらに前年との比較をするため、前年同月実績(Bファイル)もリンク貼り付けしてあると言うものなんです。
つまり、Cファイルが会議資料等に使われる実績表となり、
A,Bファイルは、それを作るための基礎数値と言う事になります。
単にリンク貼り付けだけなら、何て事はないと思うのですが、
実績表(Cファイル)を開くたびに「マクロを有効」などと出てくるものですから、
何か特別なマクロでも組んでいたりするのかとも思いまして・・・。
わかりづらくてすみません。
>>897 なぜ「リンク」ではなく「リンク貼付」と断言できるかは敢えて聞かないとして(w
基本的にリンク貼付とマクロは関係ない。
問題は、マクロで何をしているか。
マクロを集計処理に使っていない保証はない。
VBAが分からないのなら、そのコードをUPしてみたら?
899 :
名無しさん@そうだ選挙にいこう:02/06/05 01:05
なんか、ややこしいのはCファイルだけなの?
ならば、AファイルとBファイルを値として扱って
いっそのこと新しくDファイルという Cファイルの代替品を作ってしまってはどうだろうか?
900 :
名無しさん@そうだ選挙にいこう:02/06/05 01:07
>>889 です
Cファイルの代替品、っていってもCファイルが何をしてるのがわからないっていってるんだっけ?
わからないのに、適当なこといってスマソ
色々想像しても仕方ないから、一つの方法として・・・
1)とりあえずAファイルとBファイルを切り取ってCファイルに貼り付ける。
2)全てカット&ペーストできれば、Cファイル起動時にはリンク警告Msgはでなくなる
3)その後、ワークシート分析を使う。
4)マクロが集計処理に影響しているかどうかは、別のPCでCファイルのみを使ってみて、
実行時エラー等が出なければOKと判断する。
という方針でどう?
みなさんありがとうございます。
試行錯誤しながら、いろいろやってみます。
夜遅くまでありがとうございました。
>>903の書き込みは889よりです。
昨日は家でやってたんですが、今は職場に来てやってるので・・・申し訳ございません。
質問があります。どなたか教えて下さい。
1% 20
25% 210
60% 750
100% 1500
となっていて、30%はいくつ、70%はいくつと計算すればそれぞれ287.2と937.5と
わかるのですが、関数をつかって直ぐにわかる方法があったら教えて下さい。
あと、別シートのA1:A100に1%〜100%と1%単位ではいっていて、同じくB1:B100に
それぞれの値を示す方法もありましたら教えて下さい。よろしくお願いします。
906 :
名無しさん@そうだ選挙にいこう:02/06/05 15:43
>905 数値の組(x0,y0)=(0.01,20),(x1,y1)=(0.25,210),(x2,y2)=(0.6,750),(x3,y3)=(1.0,1500)
とするとxを与えると、こんな計算をしているのでしょうか?
例えば x0<x<=x1のとき、y=(y1-y0)/(x1-x0)*(x-x0)+y0
これでよければセルにif文よりマクロのfunction文でやった方がいいでしょう。
ただ、下記の例ではx=0.7は937.5ですが、0.3だと287.14...にしかなりません。
'******ここから******
function test(t as double) as double
'使い方:セルに=test(0.35)、=test(A3)等と入力する。
'xがx(0)〜x(3)の範囲ないなら内挿計算、それ以外は外挿計算する
'分母が0のエラーチェックはしてません。
dim x(4) as double,y(4) as double, ans as double
dim i as integer
'適宜変更
x(0)=0.01:x(1)=0.25:x(2)=0.60:x(3)=1#
y(0)=20#:y(1)=210#:y(2)=750#:y(3)=1500#
'両端はとりあえず外挿
if t<x(0) then ans=(y(1)-y(0))/(x(1)-x(0))*(t-x(0))+y(0)
if t>=x(3) then ans=(y(3)-y(2))/(x(3)-x(2))*(t-x(2))+y(2)
'内挿計算 x0<x1<x2...<xnと仮定してます。分母が0のときはエラー。
for i=0 to 2
if (x(i)<=t) and (t<x(i+1)) then
ans=(y(i+1)-y(i))/(x(i+1)-x(i))*(t-x(i))+y(i)
end if
next i
test=ans '代入
end function
'******ここまで******
907 :
名無しさん@そうだ選挙にいこう:02/06/05 16:13
>>905 線形補完ということでいいのか?
=TREND()に両端の値を入れれば出る。
どの2点を使うかは、VLOOKUPで探せばいい。
908 :
名無しさん@そうだ選挙にいこう:02/06/05 18:58
セルに値が入力してあって、それ以上そのセルに書き込めない(セル内容が変わらない)ようにするには
どうしたらいいですか?
>>908 1.Ctrl+A→右クリック>セルの書式設定>保護タブで
「ロック」のチェックを外し>OK
2.保護したいセルを選択状態にし、右クリック>セルの書式設定>保護タブで
「ロック」にチェックを入れ>OK
3.ツール>保護>シートの保護>データにチェックを入れ>OK
1.→2.→3.の順で実行
910 :
名無しさん@そうだ選挙にいこう:02/06/05 21:37
>909 シートの一部だけそれ以上そのセルに書き込めない(セル内容が変わらない)ようにするには
どうしたらいいですか? シート全体ではないんです・・・
912 :
名無しさん@そうだ選挙にいこう:02/06/05 23:00
ちょっとエクセル質問
最初のセルは指定された範囲の中の1番大きい数値、
2番目のセルは指定された範囲の中の2番大きい数値、
3番目・・・・
・
・
って関数はどれ?
914 :
名無しさん@そうだ選挙にいこう:02/06/06 00:22
>>912 1番目のセル=A1
2番目のセル=A2
・
・
・
N番目のセル=AN
として、
=large(指定された範囲,row())
915 :
名無しさん@そうだ選挙にいこう:02/06/06 11:12
質問させてください。
ヘッダ、フッダに & を入れたいのですが
どうすればいいのでしょうか?
916 :
名無しさん@そうだ選挙にいこう:02/06/06 11:19
別板で放置されましたのでこちらへ書き込みます。
Excel にて株価チャートのグラフを作成した場合、データはそれぞれ
始値・高値・安値・終値にてローソク足を作成しますが、これに
5日移動平均線・25日移動平均線を追加すると、元のローソク足が
変更されてしまいます。
ローソク足を変更せずに移動平均線を折れ線グラフで追加するには
どのようにしたら良いでしょうか?
よろしくお願いいたします。
917 :
名無しさん@そうだ選挙にいこう:02/06/06 11:52
>>915 &&とする。たとえばB&&Bと入力するとB&Bと表示される。
>>916 うちでは変更されたりしないけど。どういう状況?
918 :
名無しさん@そうだ選挙にいこう:02/06/06 12:12
>>916 新規に4本値で株価チャート作成後、新たにデータを追加した後の状態のことかな?
漏れの場合は次の様にやってる。
・新たなデータもY軸が第1軸になってるので対象のデータ系列(例えば5)を指定して
プロパティから第2軸をY軸になるよう変更。線種等も必要あれば変更。
・移動平均線等であれば1軸と2軸の目盛り設定を同じにしておくと便利。
919 :
名無しさん@そうだ選挙にいこう :02/06/06 15:05
教えてくださいまし
[形式を選択して貼り付け] - [値] とはしないで
普通にセル範囲をコピペしても値だけが貼り付くようにはできない?
つーか通常の編集レベルでは他の形式の貼り付けをできなくしちゃいたい
無論マクロは使わないでね
920 :
名無しさん@そうだ選挙にいこう:02/06/06 15:13
>>919 ツールバー⇒ユーザー設定⇒編集にある
「値の貼り付け」ボタンをツールバーに貼り付けてそれ使って。
それ以外はマクロ使わなきゃできない。
いやなら自分でExcel作れ
>>920 んなボタン初めて知った!よい情報をありがとう
ユーザーにはこれでも使ってもらって
聞き分けなさそならマクロで制限するわ
計算式を何かの拍子で消してしまわないようにするには
どうしたら良いのでしょうか?
初歩的な質問ですみません。
923 :
名無しさん@そうだ選挙にいこう:02/06/06 16:51
>>922 おまえいい加減にしろよ!
ほんの少し前のレスにあんだろが!
その程度を調べられないばかりか、過去ログも読まない。
最低野郎だな、お前。
初歩的な質問どころか、人として初歩的なことができていない。
救い様のない女又だ。
まあ、こういうカスはこんな事言ったって他のスレなりBBSなり
に行って、同じ事聞くんだろうがな。
924 :
名無しさん@そうだ選挙にいこう:02/06/06 18:09
>>922 気にするんじゃないヨー
ちょっと923さん言い方きついけど、言ってることは
間違っているわけじゃないから。
入力可能なセルを範囲指定して、右クリック→書式
を選び、配置だったかどこだったかに「ロック」という
項目があってチェックが入っているからそのチェックを
外しておきます、まず。
その後に、メニューバーのツールだったかな、そこに
保護というのがあるので、それで保護を有効にします。
そうすると、ロックを外しておいたセル以外はすべて
保護されるので、不用意に式は消せません。
保護を解除したい時もツールの保護から。
925 :
名無しさん@そうだ選挙にいこう:02/06/06 18:11
>924 訂正。
>入力可能なセルを範囲指定
ではなく、
入力、削除を可能にしておきたいセルを範囲指定
です。
926 :
名無しさん@そうだ選挙にいこう:02/06/06 18:12
>>922 909を読んで、実行してみた?
人に手間を取らせるのだから、自分はその数倍手間をかけてください。
927 :
名無しさん@そうだ選挙にいこう:02/06/06 18:32
連番をマウスでドラッグして作って行の挿入や削除をすると、
連番が穴あき状態になり、計算式(=x1+1)にすると、
挿入した行には連番が振られずに、また削除すると
削除した行の下が #REF! というエラーになってしまいます。
行の挿入や削除をしても自動的に連番が振られるように
するには、どうしたらいいのでしょうか?
928 :
名無しさん@そうだ選挙にいこう:02/06/06 19:25
>>927 A1=CELL("row",A1)として、以下数式をコピーするとその行番号が表示されます。
行番号と数をずらしたい時は、適宜な数iを用いて、A1=CELL("row",A1)+i 。
ただし、行を削除しても連番は自動的に修復されますが、
挿入した時はその分飛びますので、その分だけ数式コピーは手動でしなければ…です。
これでも使えますか?
929 :
名無しさん@そうだ選挙にいこう:02/06/06 19:36
>>928 なるほど。できました。
確かに挿入した場合は、その分空白になりますが、
コピーしたセルの挿入を行うとそこはまた自動的に
連番になりますね。
助かりました。どうもありがとうございます。
>>918 ThanXXXXX!!!
思い通りに出来たYO
918たんが相場で良い目みれるように・・・ (ナムー
セル範囲を変数や関数で表すにはどうしたら良いのでしょうか?
例えば A1:C3 とかを x="A" y="1" という条件だとして
xy:C3 みたいに表したいのですが。
932 :
名無しさん@そうだ選挙にいこう:02/06/07 10:48
セルの縦書きの改行を
左から右にする方法はありますか?
933 :
名無しさん@そうだ選挙にいこう:02/06/07 12:21
>>931 =indirect() か =offset()
>>933 indirectでできますた。ありがとうございます
935 :
名無しさん@そうだ選挙にいこう:02/06/07 17:34
column関数で数字が帰ってくるんだけど、これをアルファベットの列番号に
するにはどうしたらいいんでしょう?
#charで変換だとZを超えたAA以降がキツイ・・・出来ないことないと思うけど
>>935 ヘルプでcolumnの関連項目を見る。
937 :
名無しさん@そうだ選挙にいこう:02/06/07 23:12
VBAはじめようと思ったら、早速つまってしまいました…。
セルのクリックしたとき、っていうイベントが無いではないですか。
右クリックとかダブルクリックはそれっぽいのがあるのですが、
たんにA1を左クリックしたとき、ってのはできないのでしょうか。
>>937 Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
MsgBox Target.Address
End Sub
939 :
名無しさん@そうだ選挙にいこう:02/06/08 07:14
>>938 それだと右クリックもひろってしまう罠。
>>937の答えはわかりませんが、
そのセルの上にコマンドボタンを置くのじゃだめなのか。
セルの左クリックのときのみに実行させたい処理って何?
940 :
名無しさん@そうだ選挙にいこう:02/06/08 14:31
エクセル2000です
いつも新規作成で、新しいブックだして、シートにデータ入力しても
セルの書式が「通貨」になるんです。
解除の仕方ありますか?教えてください。
宜しくお願いいたします。
941 :
名無しさん@そうだ選挙にいこう:02/06/08 15:36
新規ブックを作成した時、メニューから<書式−スタイル>を選択して
スタイルの設定を確認してください。
もし、標準以外が選択されていたら、
Office または Excel をセットアップしたフォルダにある [XLStart] フォルダに
『Book.xlt』というファイルを削除してみてください。
>>939 938ではないが・・・
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Const Mouse_LBUTTON = &H1&
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case GetAsyncKeyState(Mouse_LBUTTON) And 1
Case Is <> 0
MsgBox Selection.Address
Case Else
End Select
End Sub
MsgBoxをクリックすると次の右クリック時に暴発するなど、
完全とはほど遠いものだが、一応こんなのもあるということで。
>>937 ヘルプ、読めてるかい?
VBAのヘルプは、ふつーのExcel のヘルプとは別のファイルだから。
>>943 「右クリックとかダブルクリックはそれっぽいのが」とあるので、
VBAヘルプを見ていると思われ
945 :
名無しさん:02/06/09 12:56
質問させてください。
A列のセルがアクティブのときにだけ、
あるマクロが再生できるようにしたいのですが、
どのようにすれば良いでしょうか?
理想としては、
5行目以下のA列のセルをダブルクリックすると、
ダイアログが実行されて、
そのダイアログで選択したデータが、
ダブルクリックした行のB列C列…に入力される
というマクロが作りたいです。
>>937 >たんにA1を左クリックしたとき、ってのはできないのでしょうか。
これはA1をセレクトした時。にすれば良いと思うが。
セルを選択したときのイベントにしておき、セルのアドレスにより
処理方法を分岐さすことで出来るのでは。
>>945 945と同じだがダブルクリックのイベントを作っておき。
セルのアドレスがA5以上の時にダイアログが出るようにしておく。
>>945 ダブルクリックでユーザーフォームを表示はこんな感じ
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 And Target.Row > 4 Then
UserForm1.Show
End If
End Sub
B列、C列にデータを入れるには
ユーザーフォームのそれぞれのコントロールのChange(↓はコンボボックスの例)で
Private Sub ComboBox1_Change()
ActiveCell.Offset(0, 1).Value = Me.ComboBox1.Value
End Sub
Private Sub ComboBox2_Change()
ActiveCell.Offset(0, 2).Value = Me.ComboBox2.Value
End Sub
ってな感じにすれば
949 :
名無しさん@そうだ選挙にいこう:02/06/09 15:34
A〜G列までのデータが数千行あります。
これをマクロを使ってテキストファイルとして出力したいのです。
Cだとファイルを開いてfprintfで出力していってますが
エクセルVBAではどのようにすればいいでしょうか?
>>949 ファイルを開いて Write
または
CreateObject とか
Open "C:\WINDOWS\デスクトップ\C言語新型\data2.txt" For Append As #1
Do Until iy > saika
aaa = Cells(iy, ix)
bbb = Cells(iy, ix + 1)
ccc = Cells(iy, ix + 2)
ddd = Cells(iy, ix + 3)
eee = Cells(iy, ix + 4)
fff = Cells(iy, ix + 5)
ggg = Cells(iy, ix + 6)
Print #1, aaa, bbb, ccc, ddd, eee, fff, ggg
iy = iy + 1
Loop
Close #1
検索して調べた方法なのですが
これだと間がタブ区切りにならないのです。
タブで区切る方法はありますでしょうか。
>>951 シート全体のテキスト保存になっちゃうけど
こんなんじゃだめ?
Sub test()
With ActiveWorkbook
.SaveAs Filename:="test.txt", FileFormat:=xlText
End With
End Sub
>>951 てか、文字列を自分で編集すんのよ。
strOut = aaa & vbTab & bbb & vbTab & ccc & vbTab & ...
って感じ。な。
エクセルを使ったソフトで、表を分割拡大印刷できるフリーソフト
があると聞いたんですが、どこにかるかご存知ありませんか?
たとえば、通常に印刷するとA4に収まる表を、A3用紙2枚分に拡大して、分割して
印刷してくれるというようなソフトです。
以前ベクターにあったという話を聞いて探したんですけれど、力及ばずでした。
ご存知でしたら、よろしくお願いします。
955 :
名無しさん@そうだ選挙にいこう:02/06/10 07:28
956 :
名無しさん@そうだ選挙にいこう:02/06/10 10:27
PCへのメールに添付のPocket Excel(pxl)をOffice2000Excelで読ませる
方法を教えてください。
よろしくお願いします。
957 :
名無しさん@そうだ選挙にいこう :02/06/10 11:17
エクセルで作ったファイルを開いて印刷プレビューを
選ぶと、必ずアプリケーションエラーが出ます。
エラーログを見るとこうなってました。どうしたら
直せるのでしょうか?ご教授お願いします。
アプリケーション例外が発生しました:
アプリケーション: (pid=1104)
発生時間: 2002/06/10 @ 10:44:43.174
例外番号: c0000005 (アクセス違反)
Excel初心者です。質問があります。
A1:D1のどれか一つのセルに値が入っており、
A1に何か入っていたら E1が A
B1に何か入っていたら E1が B
C1に何か入っていたら E1が C
D1に何か入っていたら E1が D
A1:D1のどれか2つのセルに値が入ってたり、又は何も入って無かったら
E1が空白になるようにしたいのですがやり方がわかりません。
どなたかご親切な方お助け下さい。
959 :
名無しさん@そうだ選挙にいこう:02/06/10 11:42
全部の条件をE1に詰め込むと、かなり長くなるね。
A1に何か入っていたら、は
=IF(NOT(ISBLANK(A1)), ...
なので、これを使って自分で工夫したらどうかな。
960 :
名無しさん@そうだ選挙にいこう:02/06/10 11:55
すいません。教えてください。
ワードで言うところの「拡張書式の囲い文字」ってエクセルでも
できるんでしょうか?
たとえば、「有・無」と入力してあるセルの有や無の部分に
○をつけたいんです。
すいませんがご教授お願いします。
>>955 はい、それです!!でか衛門です。ありがとうございました。
それにしてもはやいですね。さすが2ch。助かります。
本当に、どうもありがとうございました。
963 :
名無しさん@そうだ選挙にいこう:02/06/10 12:43
すいません。質問します。
いま売り上げた商品を日付ごとに記入しているんですが、
別のシートに同じ商品ごとに行すべてを自動的にコピーする
方法を教えてください。お願いします。
964 :
名無しさん@そうだ選挙にいこう:02/06/10 12:43
>>961 ワードをコピペしたらこんなんなっちゃいました(涙)
○有・○有
なにかいい方法ありませんでしょうか?
965 :
名無しさん@そうだ選挙にいこう:02/06/10 12:52
Windows板でこちらを紹介してもらいました。
複数のワークシートがあるエクセルのブックを、まとめて2ページ/1枚で
印刷したいのですが「ブック全体」で印刷すると、シートごとに1ページ
刷りになったり2ページ刷りで出てきたりするものとがあります(シート
ごとのページ数とは無関係)。なんとかまとめて2ページで印刷する方法
はないものでしょうか。
環境はWin2k, Excel2k, プリンタはLAN経由で別のWin2kマシンにつないだ
CANON LBP-870を使ってます。
>>964 ワードで作った囲い文字をコピーしてから
エクセルで 形式を選択して貼り付け>「図」を選択だよ
967 :
名無しさん@そうだ選挙にいこう:02/06/10 12:53
>963
この板の中にある、初心者な質問スレの >358 に
同じ質問の答えがあるよ。
集計が必要ならばsumif関数もいるかも知れないけど。
968 :
名無しさん@そうだ選挙にいこう:02/06/10 13:11
>>966 セルの中の文字として使いたいんです。図やオブジェクトとしてでは
なく。
>>968 有限会社の㊒ならあるけど○囲い文字の無は無いから外字でも作らない限り無理
でも外字だと外字をインストールしたパソコンでしか表示できないし意味無い。
>>958 E1のセルにすべての計算式を記入するのは煩雑でややこしい。
中間結果を出しそれを根拠に最終結果を出す方が判りやすいし簡単。
E列とF列を中間結果の場所とし最終結果をG列とする。
E1の計算式
=IF(ISBLANK(A1),IF(ISBLANK(D1),FALSE,TRUE),IF(NOT(ISBLANK(D1)),FALSE,TRUE))
F1の計算式
=IF(NOT(ISBLANK(A1)),"A",IF(NOT(ISBLANK(B1)),"B",IF(NOT(ISBLANK(C1)),"C","D")))
G1の計算式
=IF(E1=FALSE,"",F1)
で良いのではと思うが。やってみて。
しかしB1とC1にしかデータが入っていない場合。とか
A1とB1にデータが入っている場合とかが考えられるが
設計を最初から練り直してはどうかな。
おっと最終結果はG1に入る。
E列とF列は非表示にする方が表がきれいで整う。
復活してたのか...
>>958 これじゃダメ?
=IF(COUNTA(A1:D1)=1,IF(ISBLANK(A1),IF(ISBLANK(B1),IF(ISBLANK(C1),D1,C1),B1),A1),"")
973 :
名無しさん@そうだ選挙にいこう:02/06/11 01:55
質問してそれっきりの人がずいぶんいるな
974 :
名無しさん@そうだ選挙にいこう:02/06/11 02:02
初心者ですが、質問させてください。
エクセルで例えば1980年から2000年までのデータを縦に並べたとします。
そこから1980、1985、・・・、2000年というように5年おきのデータを抜き出して並べたい時には
どのような方法をとればよろしいのでしょうか?
>>974 例えば
1)行頭に列を挿入
2)A1に1、A2に2、A3に3、A4に4、A5に5を入れる
3)A1〜A5までを選択
4)A5セルの右下角でマウスポインタが+状態になったところで
Ctrlを押しながらマウスを左クリックしたまま下に引っ張る。すると12345が繰り返されているはず。
5)A1を選択し データ>フィルタ>オートフィルタを実行
6)A1に▼が出来てるはずだからそこをクリックし抽出したい番号を選択
あとはその抽出結果をコピーして他のシートに貼り付けるなりすればよろし
追加:オートフィルタするときはほんとは1行目に項目を記入すれば一番いいんだけどね。
>>967 初心者な質問スレを見ましたが、それだと毎回作り変えないといけなくないですか?
毎月月末に、どの商品が、どこに、どれだけ売り上げたかを出したいのです。
日付ごとに入力する分は、月初めに全部消してしまいます。
書き方が悪くて申し訳ありません。ぜひよろしくお願いします。
978 :
名無しさん@そうだ選挙にいこう:02/06/11 13:30
>977
え? 日付ごとに入力する分、消してしまうのですか。
それだとVBAを使って値複写をしておかないといけませんね。
すみません、私VBAはやったことなくて。
ところで、月初めになぜ消さなくてはいけないのでしょうか?
量が多すぎるから?
もしデータが残っていれば、集計とリンク貼り付けだけで
自動ですべて書き換わるのに。
時間の計算ってどうやるんですか?
大量の時間表示(それぞれ時刻が違う)のすべてに5時間を加えたいんです・・・
+(1/24)*5
突然ですいませんが、質問したいことがあります。
ちゃんとデータを表示できるランキングの作り方教えて欲しい
ということです。
今、サッカーのリーグ表を作っているところで「得点王ランキング」を作成中です
個々のチームごとのシート(選手のデータ全て記入)を作ったので、その中にある
「得点欄」を参照して、自動でSHEET1(リーグの途中経過)に得点王と選手名が表
示されるように考えています。
しっかりしたデータのランキングを作れるって方、教えてください。
よろしくお願します。
※最初作ったものは、同じ得点が2人以上いると2人目からの選手名がどうやっても
表示されませんでした・・。
み な さ ん エ ク セ ル は 表 計 算 ソ フ ト で す よ
目 的 に 適 し た ソ フ ト を 使 い ま し ょ う
985 :
名無しさん@そうだ選挙にいこう:02/06/11 16:40
>>975 >>976 オートフィルタをうまく使えばよかったのですね。
うまくいきました!
稚拙な質問に対してどうもありがとうございました。
EXCELの97、2000、XPでの関数で相違点て何がある?
こんどVBAでプログラムくむことになったんだが・・・
注意しないといけないことあったら教えてくれ
よろしくお願いいたします。
Excel2000でシェイプをつかったVBAを作成したのですが、
Excel95、97、でも稼動するかわかりません。
どなたかこれらのバージョンの違いによる、機能の相違を検証したサイトを
ご存知ではないでしょうか?
>>986 Excelのバージョンが違うと、全く別物と思った方がいい。
どのレベルでVBAを組むのか分からないし、
何をするのかも分からないから解答しようがない。
個人的には2000とXPでは余り違いがないと思うが・・・。
989 :
名無しさん@そうだ選挙にいこう:02/06/11 20:34
>>982 ワークシート関数だけだと難しい。
いちばん簡単なのは選手のデータを1枚のシートにまとめて
得点で並べ替え。はいおしまい。
つまりは1枚のシートにまとめる方法がわかればいい。
別のシートに上位X名表示したきゃ並べ替えた後にコピーするなり
INDEX関数使うなりしてみれば
>>986 989のレス見て気づいた点が一つ。
2K&XPはワークシート関数が
Application.WorksheetFunction.Max(arg1,arg2...)
と言う形で使えるけど、97は
Application.Max(arg1,arg2...)
じゃないとダメとか。
ところで、次のスレ誰か立てないの?
991 :
名無しさん@そうだ選挙にいこう:02/06/11 20:54
-------↓ちっともお勉強にも屁にもならない板発見 !!↓----------
×
http://pc.2ch.net/hard/←チンカス板 or クズの集まり×
↑こいつらの中にスパムやってる奴いるぜ。
なんせ、↑こいつらキチガイ集団だからな。
>>990 昼間のうちに埋まりそうだったから、
夜のうちに立てといた。
みなさん、ありがとうございました。
スレを参考にして納得するまで作ってみようと思います。
995 :
名無しさん@そうだ選挙にいこう:02/06/12 02:39
-------Yahooオークション悪質者 報告書------------------
Yahoo! JAPAN ID : shigechin001(35)
オークションページ
http://rating.auctions.yahoo.co.jp/jp/show/rating?userID=shigechin001& ××××過去評価抜粋 ××××
評価: 非常に悪い 出品者です。評価者は takebon621 (173)
必見!!Norton InternetSecurity2002クロスアップグレード(登録可能・送料無料) (12月 14日 23時 45分)
落札者は「 非常に悪い 」と出品者を評価しました。
コメント:都合の悪い事は、一切載せておらずおまけに、綺麗なものと判断させるようなコメントでした。CD−ROMには、
大きなキズ、欠けている所があり、梱包も雑で非常に状態の悪い物でした。おまけに、落札時にあった、キャンペーン用の
ステッカーがはがされていました。この方の・(1月 7日 23時 54分) (最新)
返答:これで気は済みましたか?メールでのやり取りをさせていただきましたが、そちらの言われる事はむちゃくちゃです。
もう少し、筋の通る話をしてください。 (1月 8日 0時 8分)
評価: 非常に悪い 出品者です。評価者は cilver90 (-1)
激安!!デジカメNinja 新品・未開封 (11月 2日 23時 39分)
落札者は「 悪い 」と出品者を評価しました。
コメント:説明は、もっと、解りやすく丁寧に応対してください。 (11月 11日 13時 59分)
返答:誤解を招くような説明文にはしておりません。きちんと、ソフトであること、商品名もはっきり明記していること、写真もきちんと載せていること、
常識で分かる価格。それでどうしてデジカメ本体と間違われるのですか?他にどういう説明を求められられるのですか?それで間違っ・
(11月 11日 23時 47分)
返答:間違って落札されて逆恨みするとは非常に人間性を疑います。今までの取引の中で一番最低でした。今後他の方に迷惑をかけないよう
お願いしたいところです。 (11月 11日 23時 50分)
落札者は「 非常に悪い 」と出品者を評価しました。
コメント:逆恨みした覚えもありませんし、電話では、確認後、謝ったはずですが、まして、今後の事をそちらに言われる
筋合いは無いと思います。 (11月 12日 5時 7分) (最新)
返答:では、最初の悪いという評価はどういう意味ですか?私はきちんと対応しましたし、こちらの何に非があったといわれるのですか?
それが逆恨みというものではないでしょうか?もう少し筋が通る話をして下さい。 (11月 12日 12時 28分)
返答:それと、あなたからの謝罪はありませんでしたよ。あなたはただ、こちらの確認ミスです。と言われただけ。
実際謝罪されたのはあなたのご主人さんです。これ以上私を怒らせないで下さい。 (11月 12日 12時 31分)
『解説』
この人物 shigechin001(35)は複数YahooIDを作成して、入札価格の吊り上げ自作自演行為や他人の出品を意図的に妨害している
悪質な人物である。 Yahooオークションを利用する際は十分に注意が必要な人物である。
Yahoo! JAPAN ID : shigechin001(35)もコイツが所有している複数のYahoo! JAPAN IDの1つであると思われる。
コイツの過去オークション評価を見ても容易に悪質な人間性が分かる。 要注意。
996