falseの疑問や悩み - ナレッジリーフ@知識の葉

Yahoo!知恵袋疑問や悩みを検索

知恵袋Q&Aで悩みを解決!

-PR-
  • スマートデバイス、PC、家電 > Office系ソフトウェア > Excel
  • Wed, 16 Oct 2019
  • 質問No. 8920452

解決
済み
Q falseの疑問や質問

  • 閲覧数6
  • 質問総数374

AfalseのQ&A回答一覧

    Yahoo!知恵袋

    • 投稿日時 - Wed, 16 Oct 2019 15:23:10
    • 閲覧数 6
    質問

    エクセルマクロについて教えていただきたいです。

    フォルダ内の全てのブックからデーターを転記先シートにコピーしたいです。 フォルダの中にブックが100くらい入ってます

    ブックにはそれぞれ複数のシートが入っています。
    その全てのシートから必要なデーターをコピーしてひとつのシートにまとめたいです。

    コピーしたいデーターは

    転記先シートのA列に セルR3
    転記先シートのB列に セルD3
    転記先シートのC列に セルD7
    転記先シートのD列に セルAU8

    です。

    なおかつ、セルR3とセルAU8は計算式が入っているのでセルの値のみコ...
    アンサー
    回答

    簡単なサンプルです。
    転記先のシートがアクティブになっている前提です。

    Sub Sample()
    Const PathName = "C:hgehoge" '対象のフォルダを指定(最後に必ず を入れる)
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim TenkiSaki As Worksheet
    Dim Filename As String
    Dim r As Long

    Set TenkiSaki = ActiveSheet '転記先のワークシート
    r = 1
    Filename = Dir(PathName & "*.xls?")
    Application.ScreenUpdating = False
    Do Until Filename = ""
    Set wb = Workbooks.Open(PathName & Filename)
    For Each ws In wb.Worksheets
    TenkiSaki.Range("A" & r).Value = ws.Range("R3").Value
    TenkiSaki.Range("B" & r).Value = ws.Range("D3").Value
    TenkiSaki.Range("C" & r).Value = ws.Range("D7").Value
    TenkiSaki.Range("D" & r).Value = ws.Range("AU8").Value
    TenkiSaki.Range("E" & r).Value = Filename
    TenkiSaki.Range("F" & r).Value = ws.Name
    r = r + 1
    Next
    wb.Close False
    Filename = Dir()
    Loop
    Application.ScreenUpdating = True
    End Sub
    スマートデバイス、PC、家電 > Office系ソフトウェア > Excel
    詳しくはこちら
    • 同意数2(17-15)
    • 回答数1
    • 投稿日時 - Wed, 16 Oct 2019 14:39:42
    • 閲覧数 4
    質問

    蒙求の 前漢 成帝 班倢伃から始まり賜黄金百斤までの書き下し文と現代語訳を教えて頂きたいです! 蒙求の 前漢 成帝 班倢伃から始まり賜黄金百斤までの書き下し文と現代語訳を教えて頂きたいです!
    アンサー
    回答

    《班女辞輦》
    前漢成帝班倢伃、越騎校尉、況之女。 帝游後庭、嘗欲同輦載。 辭曰「觀古圖畫賢聖之君、皆有名臣在側。 三代末主、廼有嬖妾。 今欲同輦、得無近似之乎。」上善其言而止。 太后聞之喜曰「古有樊姬、今有班倢伃。」後趙飛燕譖告許皇后與倢伃挾媚道、祝詛後宮詈及主上。 考問倢伃、對曰「妾聞死生有命、富貴在天。 修正尚未蒙福、為邪欲以何望。 使鬼神有知不受不臣之愬。如其無知、愬之何益。故不為也。」上善其對憐憫之、贈黃金百斤。

    前漢成帝の班倢伃(しょうよ)は、越騎校尉の班況の娘である。 かつて帝が後宮の庭に遊んだ時、輦(れん、人の引く手車)に同乗しようとした。 倢伃は辞退して言った「古い絵画の聖賢の君主を見ますと、皆、名臣が傍に在ります。 夏殷周の三代の末の暗愚な君主を見ますと、これは皆側に愛妾を侍らしています。 今、手車に同乗することを求めるのは、これに近似することはないでしょうか?」上はこの言葉を善しとして(同乗を)止めた。 太后はこれを聞いて喜んで言った「古には樊姬(はんき)がいたが(諫言したが)、今は班倢伃がいる(帝を諫めてくれる)。」後に趙飛燕が許皇后と倢伃挾が媚道(呪詛)を行い祝詛は後宮だけでなく主上まで罵っていると讒訴(いつわりの訴え)した。 倢伃を訊問すると、答えた「私は『死生は運命であり、富貴も天命である』と聞いています。正しい道を修めても、未だ幸福を授かるわけではありません。まして邪まな欲を抱いて何を望めましょうか? もし鬼神が訴えを知ることがあるとしても不忠の訴えを受けることがあるでしょうか?(受けないでしょう)もし鬼神が訴えを知ることが無いなら、これを訴えても何の利益があるでしょうか?(ないでしょう)ですから(鬼神に訴えることなど)致しません。」帝はその答えを善しとして、彼女を憐んで、黃金百斤を贈った。

    書き下し文は、こちらの286頁を参照してください。
    https://books.google.co.jp/books?id=CJi3VZC_0EUC&pg=PP173&dq=%E8%92%99%E6%B1%82%E3%80%80%E8%9B%87&hl=ja&sa=X&ved=0ahUKEwi30LSik5viAhUJ8rwKHe9SACEQuwUIKjAA#v=onepage&q=%E7%8F%AD%E5%A5%B3&f=false
    教養と学問、サイエンス > 芸術、文学、哲学 > 文学、古典
    詳しくはこちら
    • 同意数6(17-11)
    • 回答数1
    • 投稿日時 - Wed, 16 Oct 2019 09:45:21
    • 閲覧数 22
    質問

    Excel VBAについての質問です。 Excel VBAについての質問です。 以下のようなマクロを作りたいです。

    2つのブック、「AA」と「BB」があります。
    ブック「AA」から、転記するブック「BB」を選択して転記をし、名前を付けて保存する。という流れを8回行うものです。

    具体的には
    ブック「AA」のB17:B20を「BB」のシート(”CC”)のA9:A11に、ブック「AA」のB6のセルの値を「BB」のシート(”DD”)のD30のセルに転記して、「AA」のB4&B5の名前を付けてブックを保存して閉じるというものを「AA」の列をB...
    アンサー
    回答

    こんな感じでしょうか。
    ブックAAの転記元シートの情報がないので、転記元のシートが開いている状態で実行するものとしています。

    Sub Sample()
    Dim ws As Worksheet
    Dim wb As Workbook
    Dim c As Integer

    '転記元のシート
    Set ws = ActiveSheet

    'B列(2列目)からI列(9列目)まで繰り返す
    For c = 2 To 9

    'ブックBBを開く(実際のブックBBのファイル名をパス付で指定します)
    Set wb = Workbooks.Open("ブックBB.xlsx")

    With ws
    '値をコピー
    wb.Worksheets("CC").Range("A9:A11").Value = .Range(.Cells(17, c), .Cells(20, c)).Value
    wb.Worksheets("DD").Range("D30").Value = ws.Cells(6, c).Value

    '名前を付けて保存
    wb.SaveAs .Cells(4, c).Value & .Cells(5, c).Value
    '閉じる
    wb.Close False
    End With
    Next
    End Sub
    スマートデバイス、PC、家電 > Office系ソフトウェア > Excel
    詳しくはこちら
    • 同意数14(18-4)
    • 回答数1
    • 投稿日時 - Wed, 16 Oct 2019 06:01:54
    • 閲覧数 10
    質問

    EXCEL VBAでデータ登録と登録したデータを呼び出すVBAを下記のように行っているのですが、数式まで一緒に登録されてしまいます。そのため呼び出す時に登録したデータがエラーで返ってきます。 コピーのように値のみを格納DATAに登録して、データ呼出で値のみを呼び出すようにしたいのですが、下記のマクロをどのように修正すれば良いでしょうか?

    教えてください。

    Sub 実績数値データ登録()
    ActiveSheet.Unprotect
    Dim no As Integer
    If Sheets("実績").Range("W5") = "" Then
    MsgBox "Noが入力されていません"
    Exit Sub
    ...
    アンサー
    回答

    Sub 実績数値データ登録()
    ActiveSheet.Unprotect
    Dim no As Integer
    If Sheets("実績").Range("W5") = "" Then
    MsgBox "Noが入力されていません"
    Exit Sub
    End If
    Application.ScreenUpdating = False
    no = Sheets("実績").Range("W5")
    Sheets("格納DATA").Cells(7, no + 5).Resize(100) = Sheets("実績").Range("S10:S109").Value
    pplication.ScreenUpdating = True
    Range("W5").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    End Sub

    Sub 実績データ修正呼出()
    ActiveSheet.Unprotect
    Dim no As Integer
    If Sheets("実績").Range("W5") = "" Then
    MsgBox "Noが入力されていません"
    Exit Sub
    End If
    Application.ScreenUpdating = False
    no = Sheets("実績").Range("W5")
    Sheets("実績").Range("S10").Resize(100) = Sheets("格納DATA").Range("E7:E106").Offset(, no).Value
    Application.ScreenUpdating = True
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    End Sub



    と修正、
    ※S10:S109は100個のセルです。
    コンピュータテクノロジー > プログラミング > Visual Basic
    詳しくはこちら
    • 同意数-4(14-18)
    • 回答数2
    • 投稿日時 - Tue, 15 Oct 2019 22:25:41
    • 閲覧数 55
    質問

    【至急】500枚差し上げます!

    ツールに関する質問です。

    フォルダ内にある複数のメモ帳から、ある特定の文字列の間のテキストだけを抽出してリストアップしたいです。

    イメージとして は、サクラエディタでフォルダ内のファイルをgrep検索するような形なのですが、ある特定の文字列の間だけを抽出する方法が見当たりませんでした。

    そこでvbaなどを使って、上記条件を満たすツールを作成したいです。

    ただしvba初心者なこともあり、いくら試しても複数ファイルの結果をまとめることが出来ず、、現在途方に暮れている状...
    アンサー
    回答

    めんどくさい。
    最初に上げたプログラムを保存しておいてくれれば両方手に入ったのに。
    また、両方必要なら、最初からそう書いて下さい。そうすればそのように作ったのに。
    今回、新しい機能を付けました。B4にTrueを入れれば、開始ワード・終了ワードが出力されます。False を入れれば出力されません。
    '
    Option Explicit
    '
    Sub Macro1()
    '
        Dim REnd As Long
        Dim ROut As Long
        Dim RInp As Long
    '
        REnd = 4
        Range("A5:B" & Rows.Count).ClearContents
        SubFile [B1], REnd
        ROut = REnd + 1
    '
        For RInp = 5 To REnd
            FileInput Cells(RInp, "A"), ROut
        Next RInp
        Rows("5:" & REnd).Delete
    End Sub
    '
    Sub SubFile(Path As String, Row As Long)
    '
        Dim FileName As Variant
    '
        FileName = Dir(Path & "*.txt")
    '
        While FileName <> ""
            Row = Row + 1
            Cells(Row, "A") = Path & "" & FileName
            FileName = Dir
        Wend
    '
        For Each FileName In CreateObject("Scripting.FileSystemObject"). _
            GetFolder(Path).SubFolders
            SubFile FileName.Path, Row
        Next FileName
    End Sub
    '
    Sub FileInput(FileName As String, ROut As Long)
    '
        Dim FileData As String
        Dim OutFlg As Boolean
    '
        Open FileName For Input As #1
    '
        While Not EOF(1) And InStr(FileData, [B2]) = 0
            Line Input #1, FileData
        Wend
    '
        If Not EOF(1) Then
            ROut = ROut + 1
            Cells(ROut, "A") = FileName
    '
            If [B4] Then
                Cells(ROut, "B") = FileData
                ROut = ROut + 1
            End If
        End If
    '
        While Not EOF(1) And Not OutFlg
            Line Input #1, FileData
            OutFlg = InStr(FileData, [B3]) > 0
    '
            If Not OutFlg Or [B4] Then
                Cells(ROut, "B") = FileData
                ROut = ROut + 1
            End If
        Wend
        Close
    End Sub
    コンピュータテクノロジー > プログラミング > Visual Basic
    詳しくはこちら
    • 同意数-2(18-20)
    • 回答数2
    • 投稿日時 - Tue, 15 Oct 2019 22:02:30
    • 閲覧数 39
    質問

    エクセル2010で画像を貼り付けるマクロについて教えて下さい。
    ネットでいろいろ検索して、やりたい事に近いマクロを見つけたのですが、
    ど素人で他を参考にしてやっているのですが、全然わからなく改造
    することが 出来なく困っております。

    改造内容
    ①画像(縦横比率維持)を結合セルのセンターに配置したい
    ②Set org = Range("G11:J25")の結合セルは左へ90度回転させたい

    以下が改造したいマクロです。
    お助け下さい。宜しくお願いします。

    Sub Macro2()
    Const foldnm = "C:aaa"
    Dim org As Range
    Set ...
    アンサー
    回答

    Pictures.Insertだとリンク貼り付けになってしまうのでAddPictureにしました。

    Sub Sample()
    Const foldnm = "C:aaa"
    Dim r As Integer
    Dim rng As Range
    Dim shp As Shape
    ActiveSheet.Pictures.Delete
    For r = 2 To 3
    If r = 2 Then
    Set rng = Range("B11:E25")
    Else
    Set rng = Range("G11:J25")
    End If
    With rng
    Set shp = ActiveSheet.Shapes.AddPicture(foldnm & Range("B" & r) & ".jpg", _
    LinkToFile:=False, SaveWithDocument:=True, Left:=.Left, Top:=.Top, Width:=0, Height:=0)
    shp.ScaleHeight 1, True
    shp.ScaleWidth 1, True
    shp.LockAspectRatio = True
    shp.Width = .Width
    If shp.Height <= .Height Then
    shp.Top = .Top + (.Height - shp.Height) / 2
    Else
    shp.Height = .Height
    shp.Left = .Left + (.Width - shp.Width) / 2
    End If
    If r = 3 Then
    shp.Rotation = -90
    End If
    End With
    Next r
    End Sub
    コンピュータテクノロジー > プログラミング > Visual Basic
    詳しくはこちら
    • 同意数-4(7-11)
    • 回答数1
    • 投稿日時 - Tue, 15 Oct 2019 09:15:30
    • 閲覧数 11
    質問

    「S.ラング,解析入門,岩波書店」という本の目次を教えてください。

    ネットで検索したのですが目次は見当たらず、本の代金も高いため、概ねどのような内容を網羅しているのか知りたい次第です。
    アンサー
    回答

    知恵を使おう。

    OPAC で調べたら以下の2冊が元ネタらしい。

    https://books.google.co.jp/books?id=vyDUBwAAQBAJ&printsec=frontcover&dq=inauthor:%22Serge+Lang%22&hl=ja&sa=X&ved=0ahUKEwjtpqTm6YvlAhWGAYgKHWVVCsoQ6AEIMzAB#v=onepage&q&f=false



    https://books.google.co.jp/books?id=A-MlBQAAQBAJ&printsec=frontcover&dq=inauthor:%22Serge+Lang%22&hl=ja&sa=X&ved=0ahUKEwiM1eDQ6ovlAhVRIIgKHejzChQ4ChDoAQhCMAM#v=onepage&q&f=false

    ところで
    目次見て何が書いてあるか分かるなら、買う必要ないわな。
    エンターテインメントと趣味 > 本、雑誌
    詳しくはこちら
    • 同意数4(7-3)
    • 回答数1
    • 投稿日時 - Mon, 14 Oct 2019 22:25:51
    • 閲覧数 13
    質問

    visual studioで電卓を作っているのですが、=で足すなどの答えを出した後にボタンで数字を押すとテキストボックスに答えの数字が残ったまま数字が続いてしまいます。 visual studioで電卓を作っているのですが、=で足すなどの答えを出した後にボタンで数字を押すとテキストボックスに答えの数字が残ったまま数字が続いてしまいます。 どうすれば、=で出した答えを消してからボタンを押すと数字が打てるようになりますか?
    アンサー
    回答

    フラグかモードか変数を作り、演算結果の場合Answer=trueとし、入力イベント時にAnswer==trueならテキストボックスをクリアし、Answer=falseにし、それから文字をテキストボックスに追加。
    コンピュータテクノロジー > プログラミング > Java
    詳しくはこちら
    • 同意数-8(7-15)
    • 回答数2
    • 投稿日時 - Mon, 14 Oct 2019 09:25:27
    • 閲覧数 18
    質問

    excelのマクロVBAについて教えてください。

    csvファイルを読み込むVBAを作成しようとしています。 (1) よみこむファイル名は test.csv
    (2) 読み込むときに、新しいシート(シート名 = ファイル名(拡張子無し))を作成させて、
    ここに読み込みたい。

    何とかネットをみて、下のところまではきたのですが、
    この"新しいシート名"っというところに、シート名 = ファイル名(拡張子無し)
    を代入?するようなことができれば…とも思ったのですが…

    ====
    Sub 取込例2()

    Dim NewWorkSheet As Worksheet
    Set NewWorkSheet...
    アンサー
    回答

    「ReadCSV.ReadCSV」は「ReadCSV」と言う標準モジュールの中の「ReadCSV」と言う自作関数の事で、VBAの標準関数ではありません。
    自作関数を使わない場合です。


    Sub 取込例2()
    Dim OutputWorksheet As String
    Dim FilePath As String
    OutputWorksheet = "新しいシート名"
    FilePath = ThisWorkbook.Path & "testdata.csv"
    Workbooks.Open FilePath
    ActiveSheet.Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) '一番右側にシートを追加
    'ActiveSheet.Move Before:=ThisWorkbook.Sheets(1) '一番左側にシートを追加
    End Sub





    または

    Sub 取込例2()
    Dim NewWorkSheet As Worksheet
    Set NewWorkSheet = Worksheets.Add(After:=Sheets(Sheets.Count)) '一番右側にシートを追加
    'Set NewWorkSheet = Worksheets.Add(Before:=Sheets(1)) '一番左側にシートを追加
    NewWorkSheet.Name = "新しいシート名"
    With NewWorkSheet.QueryTables.Add(Connection:="TEXT;" & ThisWorkbook.Path & "testdata.csv", Destination:=Range("A1"))
    .AdjustColumnWidth = False
    .TextFileParseType = xlDelimited
    .TextFileCommaDelimiter = True
    .Refresh BackgroundQuery:=False
    .Delete
    End With
    End Sub





    上の中で、一番左側にシートを追加するのか一番右側にシートを追加するのかの両方の場合のプログラムが入っています。
    今は一番右になっています。
    スマートデバイス、PC、家電 > Office系ソフトウェア > Excel
    詳しくはこちら
    • 同意数3(7-4)
    • 回答数2
    • 投稿日時 - Mon, 14 Oct 2019 09:02:38
    • 閲覧数 20
    質問

    VBA初心者です。 ユーザーフォーム上でCheckBox1,TextBox4があり、
    CheckBox1にチェックが入ったときに、TextBox4に数字を入れ
    CheckBox1にチェックを入れない時は、アスタリスクで表示し
    クリックできないようにしたいです。

    初心者で申し訳ありませんが、ご教示お願いいたします。
    アンサー
    回答

    こんな感じ。

    Private Sub CheckBox1_Click()
    With TextBox4
    If CheckBox1.Value Then
    .Enabled = True
    .Value = "0"
    Else
    .Enabled = False
    .Value = "*"
    End If
    End With
    End Sub
    コンピュータテクノロジー > プログラミング > Visual Basic
    詳しくはこちら
    • 同意数9(13-4)
    • 回答数1
    -PR-
    -PR-
    1 2 3 4 5 6 7 8 9 10  次へ [38]
    -PR-
    -PR-
    -PR-
    ページ先頭へ