pkh4989 の回答履歴

全497件中41~60件表示
  • 数字でピラミッドを出力させるには・・・。

    どうしても解決できないので、アドバイスなどいただけたらと思います。 For...NextのLoopを使って数字でピラミッド(二等辺三角形)を描く、 という問題です。 たとえばInputとして「7」を入れた場合:       1      121     12321    1234321   123454321  12345654321 1234567654321 と出力させたいのですが・・・試行錯誤しても、 まったく解決に至りません・・・。 もしわかる方がいらっしゃったら、ご回答お願いいたします。

  • EXCEL フォルダだけを検索したい

    EXCEL2003を使っています。 開いているファイルと同じフォルダ内に「テストフォルダ」があるかどうかを調べ、存在した場合に削除したいのですが、以下のような書き方ではフォルダだけでなくファイルも検索してしまうようです。 フォルダだけを検索するにはどうしたらいいでしょうか? FSOでできることは分かっていますが、以下の方法で試してみたいのです。どうぞ宜しくお願い致します。 Sub test() my_path = ActiveWorkbook.Path & "\" f_name = Dir(my_path, 16) Do Until f_name = "" If f_name = "テストフォルダ" Then RmDir "テストフォルダ" End If f_name = Dir() Loop End Sub

  • セル内改行ではない、通常の改行

    セル内改行"cher(10)"ではなく、単純な改行はどう記述すれば宜しいのでしょうか? 1行目から始まって、最後の行の下にデータをもってきたいのですが。 ActiveSheet.Range("A1").Select Selection.End(xlDown).Select の後にどう記述すればいいのかわかりません。 ご教示いただければ幸いです。 宜しくお願い致します。

  • エクセルを開いたとき常に同じセルを選択したい

    Excel2007を使っています。複数シートがあり、膨大な量のデータが入っているのですが、シートを切り替えたときに、常に(例)C6のセルがアクティブになるように設定することは出来ますか? 簡単な方法があれば教えて下さい。マクロでもかまいません。 検索方法が悪いのか、この手の質問を見つけることが出来なかったので、よろしくお願いいたします。

  • エクセルVBAでの画像ファイル名取得他

    VBAについての質問です。 http://hp.vector.co.jp/authors/VA033788/kowaza.html#0158 上記をベースに、なんとかVBAを下記のように書き換えました。 Sub LoadPictures3() Dim Fnames As Variant Dim Fn As Variant Dim i As Integer Dim Pic As Picture Dim R As Range Dim R2 As Range Dim Pc As Integer Fnames = Application.GetOpenFilename("図(*.jpg;*.gif),*.jpg;*.gif", MultiSelect:=True) If TypeName(Fnames) = "Boolean" Then Exit Sub Application.ScreenUpdating = False '一枚目の貼付け位置 Set R = Range("B5") Set R2 = R.Offset(35) Pc = 0 For i = 1 To UBound(Fnames) Set Pic = ActiveSheet.Pictures.Insert(Fnames(i)) Select Case (i - 1) Mod 4 + 1 Case 1 Pc = Pc + 1 If Pc >= 2 Then ActiveSheet.HPageBreaks.Add R2 End If With R Pic.Left = .Left Pic.Top = .Top Pic.Width = 300 Pic.Height = 225 End With Case 2 With R.Offset(0, 6) '一枚目に対する二枚目の相対位置 Pic.Left = .Left Pic.Top = .Top Pic.Width = 300 Pic.Height = 225 End With Case 3 With R.Offset(18, 0) Pic.Left = .Left Pic.Top = .Top Pic.Width = 300 Pic.Height = 225 End With Case 4 With R.Offset(18, 6) Pic.Left = .Left Pic.Top = .Top Pic.Width = 300 Pic.Height = 225 End With '次ページの相対位置 Set R = R.Offset(39) End Select Next Application.ScreenUpdating = True End Sub ここで、画像の上の位置(B5のセル位置の画像の場合、B4)に 元々の画像ファイル名を取得し、表記させたいのですが 調べた所、multiselect:=Trueで複数ファイルを選択するときに 画像名が図1、図2に変わっているようで、どうしていいかわかりません。 後、画像を300×225の「変倍」画像にしたいのですが どのようにすれば可能でしょうか? 全くVBAの知識がなく、上のURLを参考に、単語を調べつつ書き換えている状態で、変数やらなんやらの指定・書き方等わかりません。 どなたかご教授願います。

  • Excelのエラー欄を空白にしたいのですが‥

    10分毎の測定値の平均をとり、その平均値をグラフ化する作業を行っているのですが、測定値が全て0の部分の平均値が#DIV/0!と表示されます。そうすると、グラフにしたとき点が0のところに出てきてしまいます。できれば、一発で#DIV/0!と表示される部分を空白にしたいのですが、何か良い方法がありましたら教えていただきたいです。宜しくお願い致します。

  • EXCELの表を参照して値を返す方法

    例えば下記のような表があるとします。 表1(シート1)  A列  B列  ~10  A 11~20  B 21~30  C 31~50  D  ・  ・  ・ 151~  Z 表2(シート2) 45   X 21   X 133   X Xの箇所に表1のA列を参照してB列の値(AとかC)を返す方法はないでしょうか?IF文を使った場合7レベルまではできるのですが、それ以上のネストは無理なようです。ちなみに表1は30分類(行)ほどあります。 よろしくお願いします。  

  • 数値色分けで(VBA)問題が発生しました再度教えて下さい。

    いつもお世話になります。 先日VBAの記述の件でアドバイスを頂き運用していましたが、困った問題が発生しましたので再度質問を致します。 それは、エクセルで約20の数値を色分けすると言うものでした。 下記記述を教えて頂きました。 Sub Macro1() For Each c In Selection Select Case c.Value Case "010" c.Interior.ColorIndex = 3 Case "020" c.Interior.ColorIndex = 4 問題は、途中未記入の行があれば識別出来ないと言う問題です。 例は NO 数値 色分け 1 010 赤 2  020 青 3       4 132     と言うように途中行に数値が無いと変化しません。 お手数ですが方法があれば教えて下さい。 又、数値が無い行は色無しに出来る方法があれば教えて下さい。

  • Excelのユーザーフォームでの操作について

    Excelのユーザーフォームで textbox1とtextbox2に入力した数値の合計をtextbox3へ表示させたくTextBox2_Change()に a = textbox1.value b = textbox2.value textbox3.value = a + b としたのですが、textbox1に5、textbox2に6と入力した場合、56となってしまいます。どのようにしたら合計を表示させられるのでしょうか。よろしく御願いします。

  • 数値色分けで(VBA)問題が発生しました再度教えて下さい。

    いつもお世話になります。 先日VBAの記述の件でアドバイスを頂き運用していましたが、困った問題が発生しましたので再度質問を致します。 それは、エクセルで約20の数値を色分けすると言うものでした。 下記記述を教えて頂きました。 Sub Macro1() For Each c In Selection Select Case c.Value Case "010" c.Interior.ColorIndex = 3 Case "020" c.Interior.ColorIndex = 4 問題は、途中未記入の行があれば識別出来ないと言う問題です。 例は NO 数値 色分け 1 010 赤 2  020 青 3       4 132     と言うように途中行に数値が無いと変化しません。 お手数ですが方法があれば教えて下さい。 又、数値が無い行は色無しに出来る方法があれば教えて下さい。

  • Excelについての質問です。

    エクセルについての質問なのですが、 A列の数値だけをB列から選び出して、そこから更に選び出したBと同じ行にあるCをDに代入したいのですが、どのようにすればよいでしょうか?    A   B   C   D 1  0.1  0.1  5 2  0.5  0.3  10 3  1.2  0.4  20 4  2.3  0.5  40 5  3.7  0.7  80 6  4.7  1.0  160 7  5.9  1.2  320 わかりにくい表ですが、この場合 A1の「0.1」、B列で「0.1」といえばB1になります。それをBと同じ行のC1の数値「5」をD1に代入。 A2の「0.5」、B列で「0.5」といえばB4になります。それをBと同じ行のC4の数値「40」をD2に代入。 A3の「1.2」、B列で「1.2」といえばB7になります。それをBと同じ行のC7の数値「320」をD3に代入。    D 1  5 2  40 3  320 4  ・ 5  ・ 6  ・ という結果にしたいのですが・・・。 これは可能なのでしょうか? わかりづらい質問ですが、宜しくお願いします。

  • 【Excel VBA】データを集計する数式を入力するマクロ

    Excel2003を使用しています。   A列   B列   C列   D列   E列   F列 1      9/1                    20000 2      9/2              1000 3      9/10              5000 : : 10           9月計        ※1    ※2    11 12 13     10/1                   10000 14     10/10             2000 15     10/14                   4000 : : 20           10月計       ※3    ※4 上記のデータでいうと、 ※1(E10セル) =SUM(E1:E9) ※2(F10セル) =SUM(F1:F9) ※3(E20セル) =SUM(E13:E19) ※4(F20セル) =SUM(F13:F19) という内容の数式を入力するマクロを作成したく、数式を入力したいセルをアクティブにして、ボタン等に登録したマクロを実行すると数式が入力されるようにしたいと考えていますが、その際、集計範囲の最下行は、アクティブセルの1行上までになりますが、最上行をどのようにして取得すればよいかがわかりません。 (実際のデータは、もっと行数も入力されているデータ数も多いです) また、他にもこんな方法があるとか、こうしたほうが簡単とかあれば、教えていただけると勉強にもなりますので助かります。 うまく説明できなくて申し訳ありませんが、よろしくお願いします。

  • Excelについての質問です。

    エクセルについての質問なのですが、 A列の数値だけをB列から選び出して、そこから更に選び出したBと同じ行にあるCをDに代入したいのですが、どのようにすればよいでしょうか?    A   B   C   D 1  0.1  0.1  5 2  0.5  0.3  10 3  1.2  0.4  20 4  2.3  0.5  40 5  3.7  0.7  80 6  4.7  1.0  160 7  5.9  1.2  320 わかりにくい表ですが、この場合 A1の「0.1」、B列で「0.1」といえばB1になります。それをBと同じ行のC1の数値「5」をD1に代入。 A2の「0.5」、B列で「0.5」といえばB4になります。それをBと同じ行のC4の数値「40」をD2に代入。 A3の「1.2」、B列で「1.2」といえばB7になります。それをBと同じ行のC7の数値「320」をD3に代入。    D 1  5 2  40 3  320 4  ・ 5  ・ 6  ・ という結果にしたいのですが・・・。 これは可能なのでしょうか? わかりづらい質問ですが、宜しくお願いします。

  • エクセルで、非表示にしたいのです。

    A列に質問欄があります。 B列に回答欄があります。 たとえば、B1が空白の場合、A1とB1を非表示?削除 をしたいのです。 このエクセルはワードに貼り付けして、回答は差し込み印刷をします。 どのようにすればいいのでしょうか。。。 エクセルは初級者なので難しいことはなるべく避けてしたいと思っています。 すみませんがよろしくお願いします。

  • VBAを使って名前をつけて保存をしたい(3)

    Sub 名前を付けて保存()   Dim wSeq  As String   Dim wStr  As String   Dim Flnm  As String   Dim wFlnm  As String   Dim sI   As Integer   Dim eI   As Integer   Dim wDir  As String   Dim ER   As Boolean   '   Sheets("データー").Select   Range("C3").Select   ActiveWorkbook.Save      wDir = "\\Jooo\センタ\AA\CC\"   Flnm = wDir & Format(Date, "【mmdd】") & ".xls"   wFlnm = Flnm   If Flnm = "False" Then     Exit Sub   End If   '   wSeq = 0   wSeq = Get_Seq(wDir, ER)   If ER Then     wStr = ""   Else     wStr = "(" & wSeq & ")"   End If   Flnm = Left(wFlnm, Len(wFlnm) - 4) & wStr & ".xls"   ActiveWorkbook.SaveAs Filename:=Flnm   Call Put_Seq(wDir, wSeq) End Sub '連番取得 Function Get_Seq(wDir As String, ER As Boolean) As Integer   Dim n As Long   Dim Seq As Integer   '   ER = False   Seq = 0   On Error GoTo ExitER   n = FreeFile   Open wDir & "連番.dat" For Input As #n   Input #n, Seq   Close #n   Get_Seq = Seq + 1   Exit Function ExitER:   ER = True   Seq = 1   On Error GoTo 0 End Function '連番保存 Function Put_Seq(wDir As String, wSeq As String)   Dim n As Long   n = FreeFile   Open wDir & "連番.dat" For Output As #n   Print #n, wSeq   Close #n End Function 先日回答者の方から上記を教えてもらったんですが、実行すると指定したフォルダに本日の日付+連番の名称でどんどん保存されるんですが (例:一回目実行→【1028】,二回目実行→【1028】(1),三回目実行→【1028】(2),四回目実行→【1029】(3),五回目実行→【1029】(4),※四回目以降は明日に実行した場合です),日付が変わった場合連番を最初からカウントするようにしたいのですが(例の【1029】(3)を【1029】に,【1029】(4)を【1029】(1)というふうに)どの様に上記を変更したらいいでしょうか?

  • Excelについての質問です。

    エクセルについての質問なのですが、 A列の数値だけをB列から選び出して、そこから更に選び出したBと同じ行にあるCをDに代入したいのですが、どのようにすればよいでしょうか?    A   B   C   D 1  0.1  0.1  5 2  0.5  0.3  10 3  1.2  0.4  20 4  2.3  0.5  40 5  3.7  0.7  80 6  4.7  1.0  160 7  5.9  1.2  320 わかりにくい表ですが、この場合 A1の「0.1」、B列で「0.1」といえばB1になります。それをBと同じ行のC1の数値「5」をD1に代入。 A2の「0.5」、B列で「0.5」といえばB4になります。それをBと同じ行のC4の数値「40」をD2に代入。 A3の「1.2」、B列で「1.2」といえばB7になります。それをBと同じ行のC7の数値「320」をD3に代入。    D 1  5 2  40 3  320 4  ・ 5  ・ 6  ・ という結果にしたいのですが・・・。 これは可能なのでしょうか? わかりづらい質問ですが、宜しくお願いします。

  • vbsのif文について

    vbsでプログラムを作成しているのですが、if文の使い方が良くわからないので教えてください。以下のような構造のものを作成したいです。 例)JAVA if(i==0){   if(i==1){   } }else{ }

  • 苦手分野の・・・マスターできるように

    苦手分野の課題を出していただける方いませんか? LoopとFor文が苦手でどうしてもマスターしたいのでよかったら答え合わせ的なこともしてくれて間違いも指摘してくれる方、よろしくおねがいします。 課題は2007バージョンと2003バージョンいただけるとありがたいです。 暇なときでいいのでここからご指導、ご教授お願いします。

  • Excel2003 マクロをご教授ください!

    いつもお世話になっております。 ここで 様々な方にご教授いただいて Excelのマクロを反映させられたのですが マクロを貼り付けた後で列を削除したり、各種編集をしていたら 今まで動作していたマクロが動作しなくなってしまいました。 以下 前文を記しますが 動作しないのは 下のマクロです。 Private Sub Worksheet_Change(ByVal Target As Range) Dim rOne As Range Dim intNo As Integer If Target.Column <> "15" Then Exit Sub For Each rOne In Target intNo = Val(StrConv(rOne.Value, vbNarrow)) Select Case (intNo) Case 1 Range("p" & rOne.Row).Select Case 2 Range("x" & rOne.Row).Select Case 3 Range("z" & rOne.Row).Select Case Else End Select Next rOne If Intersect(Target, Range("L3:L3001")) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub Application.ScreenUpdating = False Application.EnableEvents = False With Target.Offset(0, 1).Validation .Delete .Add Type:=xlValidateInputOnly .IMEMode = xlIMEModeHiragana End With If Target Like "###-####" Then Target.Offset(0, 1).Select SendKeys Target.Value SendKeys "{ }" SendKeys "{ENTER}" End If Application.EnableEvents = True Application.ScreenUpdating = True End Sub 上のマクロ(セルを飛ばす)は正常に動作してくれるのですが 下のマクロで郵便番号を自動的に隣のセル(M列)に反映してくれなくなってしまいました。 M列のとなり(たしかN列だったと思うのですが)を削除したあたりから この郵便番号マクロが動作しなくなってしまいました。 どこか おかしな所はないか見ていただけますでしょうか。 宜しくお願い致します。

  • Excel2003 マクロをご教授ください!

    いつもお世話になっております。 ここで 様々な方にご教授いただいて Excelのマクロを反映させられたのですが マクロを貼り付けた後で列を削除したり、各種編集をしていたら 今まで動作していたマクロが動作しなくなってしまいました。 以下 前文を記しますが 動作しないのは 下のマクロです。 Private Sub Worksheet_Change(ByVal Target As Range) Dim rOne As Range Dim intNo As Integer If Target.Column <> "15" Then Exit Sub For Each rOne In Target intNo = Val(StrConv(rOne.Value, vbNarrow)) Select Case (intNo) Case 1 Range("p" & rOne.Row).Select Case 2 Range("x" & rOne.Row).Select Case 3 Range("z" & rOne.Row).Select Case Else End Select Next rOne If Intersect(Target, Range("L3:L3001")) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub Application.ScreenUpdating = False Application.EnableEvents = False With Target.Offset(0, 1).Validation .Delete .Add Type:=xlValidateInputOnly .IMEMode = xlIMEModeHiragana End With If Target Like "###-####" Then Target.Offset(0, 1).Select SendKeys Target.Value SendKeys "{ }" SendKeys "{ENTER}" End If Application.EnableEvents = True Application.ScreenUpdating = True End Sub 上のマクロ(セルを飛ばす)は正常に動作してくれるのですが 下のマクロで郵便番号を自動的に隣のセル(M列)に反映してくれなくなってしまいました。 M列のとなり(たしかN列だったと思うのですが)を削除したあたりから この郵便番号マクロが動作しなくなってしまいました。 どこか おかしな所はないか見ていただけますでしょうか。 宜しくお願い致します。