お世話になります。
Office365 エクセル(MAC使用です。)で、例えばInsert rowsして、連続して行追加するにはどのようにしたらよいでしょうか?

通常のエクセル(Windows)でf4キーでする作業です。onlineではない通常のExcel for MacだとCommand+Yで出来るとのことですがOnlineではこのショートカットは使えませんでした。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

(´・ω・`)…Office 365(製品版)と、Excel Onlineは別物ですからねえ。



Online版はいくつも制限があります。
 ブラウザーと Excel でのブックの使用の相違点
 https://support.office.com/ja-jp/article/%E3%83% …
で確認してください。

”ブラウザーとデスクトップで異なる機能” の ”[元に戻す] と [やり直し]”
 ブックが複数のユーザーによって同時に編集される場合、別のユーザーが変更を行ってすぐに [元に戻す] コマンドと [やり直し] コマンドをブラウザー ウィンドウで使用することはできません。

この[やり直し]コマンドが「Command+Y」になります。

結論としては…
 残念ながらそのショートカットは使えません
…になります。

・・・
で、やり方、
挿入したい行数だけ行を選択してから「Insert rows」。
3行目から5行挿入して、2行目をそこへ挿入するなら、
3行目から7行目までを選択して「Insert rows」を実行。
2行目をコピーして、3行目から7行目までを選択して「Paste」を実行。
これで3行目から7行目まで2行目の内容を丸ごとコピーできます。

制限があるのです。工夫しましょう。
    • good
    • 1
この回答へのお礼

Thank you

ありがとうございます。大変助かりました。

お礼日時:2017/04/18 18:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

QVBA (Row とRowsの違いについて)

いつもお世話になっております。

VBA初心者ですが、RowとRowsの違いについて今一つ分かりません。
添付ファイルのように、A2:A25まで数字を入れた表を作って、今ある知識で行数をカウントするコードをいくつか書いてみました。

test1:A2から始まる表を構成するトータル行数を返す。
test2:??
test3:A2から始まる表の最終行番号を返す。
test4:test1と同じ
test5:???

(1)test2、5は同じ内容のコードになると思いますが・・結果の『2』は何を意味しているのか分かりません。
(2)RowとRowsの違いは簡単に言うとどういう事でしょうか?

まとまりの無い文章で申し訳ありませんが、よろしくお願いいたします。

Sub test1()
Cells(2, 2).Value = Cells(2, 1).CurrentRegion.Rows.Count
End Sub

Sub test2()
Cells(2, 3).Value = Cells(2, 1).CurrentRegion.Row
End Sub

Sub test3()
Cells(2, 4).Value = Cells(2, 1).End(xlDown).Row
End Sub

Sub test4()
Cells(2, 5).Value = Range(Cells(2, 1), Cells(2, 1).End(xlDown)).Rows.Count
End Sub

Sub test5()
Cells(2, 6).Value = Range(Cells(2, 1), Cells(2, 1).End(xlDown)).Row
End Sub

いつもお世話になっております。

VBA初心者ですが、RowとRowsの違いについて今一つ分かりません。
添付ファイルのように、A2:A25まで数字を入れた表を作って、今ある知識で行数をカウントするコードをいくつか書いてみました。

test1:A2から始まる表を構成するトータル行数を返す。
test2:??
test3:A2から始まる表の最終行番号を返す。
test4:test1と同じ
test5:???

(1)test2、5は同じ内容のコードになると思いますが・・結果の『2』は何を意味しているのか分かりません。
(2)RowとRowsの違いは簡単...続きを読む

Aベストアンサー

Range.Row プロパティをヘルプで調べると、「対象セル範囲の最初の領域の先頭行の番号を返します」と書いてあります。「最初の領域」というのは、例えば union(range("b2:d4"),range("f3:h5")) のような複数の領域を合わせた領域のうち、合わせる前の最初の領域ということです。つまりこの領域の Row プロパティである union(range("b2:d4"),range("f3:h5")).Row は、「b2」の「2」を返すこととなります。

上のプロパティが返すのは行番号という Long 型の数値であって、行というオブジェクトではありません。しかし一方では、行というオブジェクトを Row オブジェクトと呼ぶので、初級者の方には紛らわしいと感じられるかもしれません。VBA が上手になってくれば、当たり前のことなのですがね。

オブジェクトの集まりをコレクションと言います。コレクションも 1 つのオブジェクトです。

あるコレクションが全て同じ種類のオブジェクトだけでできているという場合は、原則としては、要素となっているオブジェクト名の複数形をそのコレクションの名前にします(ただし名前が単数・複数の関係になっていない親子のオブジェクトも存在します)。つまり Row オブジェクトだけでできているコレクションは、Rows オブジェクトあるいは Rows コレクションと呼びます。

他に、Workbook オブジェクトと Workbooks コレクション、Shape オブジェクトと Shapes コレクション等々も、同様な関係です。

Range.Rows プロパティは、その Range に含まれる全ての行の集まり、即ち、その Range での Rows オブジェクトを返すプロパティです。

Range.Row は 2 などの「値」を返しますが、Range.Rows は行という「オブジェクト(への参照)」を返すのですね。

Rows オブジェクトの要素である各 Row オブジェクトは、インデックス(番号)によって特定されます。つまり、ある Range に含まれる 1 番目、2 番目、3 番目、…の Row オブジェクトは、コレクションに番号を付けて、Range.Rows(1)、Range.Rows(2)、Range.Rows(3)、…というプロパティにより、返されます。複数形のオブジェクト名にインデックスを付けることで、単数のオブジェクトを表すことになります。

Range.Row プロパティをヘルプで調べると、「対象セル範囲の最初の領域の先頭行の番号を返します」と書いてあります。「最初の領域」というのは、例えば union(range("b2:d4"),range("f3:h5")) のような複数の領域を合わせた領域のうち、合わせる前の最初の領域ということです。つまりこの領域の Row プロパティである union(range("b2:d4"),range("f3:h5")).Row は、「b2」の「2」を返すこととなります。

上のプロパティが返すのは行番号という Long 型の数値であって、行というオブジェクトではありません。し...続きを読む

QOffice365 でフィル機能を使って 同一データの入力をするには(macです)

MacでOffice365のエクセルを使っています。

フィルで同一データを入力したいのですが、セルの右下に出る+を下にドラッグすると連続データになってしまいます。同一データを入力したいのですがOptionの選択画面もでてきません。

どのようにしたらよいでしょうか。

Aベストアンサー

Mac は使った事ないですが
今までWindowsで使ってきたMicrosoft Office の Excel はみな同様だったので
たぶんMacのも同じかと思いますが、

ドラッグ前に<Ctrl>を押しておくと
同一 ←→ 連続 が逆になります。

または1
2個のセルにそれぞれ値を入力してからその2セルを使ってオートフィルすると
その差と同じルールの連続データをフィルしてくれる機能があるのですが、
これを逆手に使い
2セルに同じ値を入力してからこれを行うと同一データでフィルできます。

こたつから左手を出したくない時など有用。

または2
元のセルを選択しコピー、
フィル先予定の全セルを選択しペーストすれば全セルが同じ値で埋まります。

https://www.sony.jp/support/vaio/guide/excel/002.html

QエクセルVBAで、INSERT文を生成

エクセルのデータよりDBにINSERTするためのINSERT文を生成するマクロを作っています。
INSERT文生成のVBAはできたのですが、少し仕様がいつもと違い困っております。皆様のお知恵を拝借できればと思っております。

【仕様】
1.1行ずつセルに文字列があるかどうかチェックする
2.セルに文字列が入ってる場合、例えば"z_1"が入ってる場合、一番左端のセル(A列)に記載されているID、例えば"001"、とともにinsert文を生成。
→ INSERT INTO TBL名 id,code VALUES ('001','z_1')
3.1行には複数文字列が入っている場合があるので、文字列がある限りinsert文を生成。
4.文字列がないと判明した場合、次の行へ移動。

【具体例】
A1のセルにID:001
1行目の行、C1のセルに"z_1"、F1のセルに"j_5"、M1のセルに"c_3"などといった文字列があります。
この行のセルを一個ずつチェックして文字列があると、A1のIDを参照して、
INSERT INTO TBL名 id,code VALUES ('001','z_1')
などといったインサート文を生成。
文字列がある限りINSERT文を生成します。

お知恵を拝借できれば幸いです。

エクセルのデータよりDBにINSERTするためのINSERT文を生成するマクロを作っています。
INSERT文生成のVBAはできたのですが、少し仕様がいつもと違い困っております。皆様のお知恵を拝借できればと思っております。

【仕様】
1.1行ずつセルに文字列があるかどうかチェックする
2.セルに文字列が入ってる場合、例えば"z_1"が入ってる場合、一番左端のセル(A列)に記載されているID、例えば"001"、とともにinsert文を生成。
→ INSERT INTO TBL名 id,code VALUES ('001','z_1')
3.1行には複数文字列が入ってい...続きを読む

Aベストアンサー

Functionで結果を返したいなら、配列を返さないとできませんね。
insert関数で配列を返すようにして、呼び出す関数でINSERT文を出力していく
サンプルを書いてみました。

「INSERT文出力」っていうシートがあること、IDがA列、文字列がB列から始まっていることを前提とします。
B列から文字列を読み始めて、C,D..と文字列があるだけA列のIDと結合し、INSERT文を
INSERT文出力シートに出力するようにしました。

Sub test() '上位の関数
Dim SQL As Variant
Dim i As Long
Dim j As Long
Dim Row As Long

Const InputSheet As String = "INSERT文出力" '出力シート名

Row = 1
Worksheets(InputSheet).Range("A" & Row) = ActiveSheet.Name
Row = Row + 1

For i = 1 To Range("A65536").End(xlUp).Row
SQL = insert(i)

Worksheets(InputSheet).Range("A" & Row) = i & "行目"
Row = Row + 1

For j = 1 To UBound(SQL)
Worksheets(InputSheet).Range("A" & Row) = SQL(j)
Row = Row + 1
Next j
Next i

Worksheets(InputSheet).Activate
End Sub

'配列を返すように変更
Function insert(i) As Variant

Dim strSQL() As Variant
Dim nCol As Integer
Dim nColEnd As Integer

Const FirstCol As Integer = 2 'ID:xxxが書かれている列番号

'右端の列番号を格納
nColEnd = Cells(i, 256).End(xlToLeft).Column
'配列を切る
If nColEnd < FirstCol Then
ReDim strSQL(1)
Else
ReDim strSQL(1 To nColEnd - FirstCol + 1)
End If

For nCol = FirstCol To FirstCol + UBound(strSQL) - 1
'insert into id,code values( 欲しい文と違えば修正すること
insertsql = "insert into " & Cells(i, 1) & "," & Cells(i, nCol) & " values("

If Cells(i, nCol) <> "" Then
'insert into id,code values('id','code'); 欲しい文と違えば修正すること
strSQL(nCol - FirstCol + 1) = insertsql & "'" & Cells(i, 1) & "','" & Cells(i, nCol) & "');"
Else
'insert into id,code values(NULL);
strSQL(nCol - FirstCol + 1) = insertsql & "NULL" & ");"
End If
Next nCol

insert = strSQL
End Function

Functionで結果を返したいなら、配列を返さないとできませんね。
insert関数で配列を返すようにして、呼び出す関数でINSERT文を出力していく
サンプルを書いてみました。

「INSERT文出力」っていうシートがあること、IDがA列、文字列がB列から始まっていることを前提とします。
B列から文字列を読み始めて、C,D..と文字列があるだけA列のIDと結合し、INSERT文を
INSERT文出力シートに出力するようにしました。

Sub test() '上位の関数
Dim SQL As Variant
Dim i As Long
Dim j As Long
...続きを読む

Qエクセルで365×24の表を8760×1に並び替えたいです

 エクセルで、下のような365×24の表で
   A  B  C  ・・X
1  ● ● ●   ●          
2  ● ● ●   ●
3  ● ● ●   ●       
・               
365  ● ● ●   ●           

で、これを8,760×1の表に簡単に変換したいのですがやり方がわかりません。少なかったらコピーして行と列を入れ替えるで、やってもいいのですが今回はこれが、かなりの量があり手作業だと時間がかかりすぎ、実用的ではありません。ですので、この作業を簡単に出来る方法を探しております。どうぞ宜しくお願いします。
 なお、こちらはオフィス2000、2002を使用しております。

Aベストアンサー

 まずCSVファイルに書き出します。すると次のようになっているでしょう。

●,●,●,●,●
●,●,●,●,●
●,●,●,●,●

 それで、縦一列ですので、「カンマ」をすべて「改行」に置換します。ワープロソフト、またはテキストエディタを使います。
 すると、次のようになります。
 これを再度、Excelで読み込みます。以上です。















QExcel for mac 2011 日付の連動

Excel for mac 2011でセルに日付を入力すると、別シートのセルに、その入力した日付に該当するセルに数値が入力されるように連動させることはできますか?
受注の内容を一覧にした表(仮に「受注表」とします)と、月間の入金を一覧にした表(仮に「月間表」とします)とを連動させたいと思っています。受注の内容を一覧にした表には受注がありしだいその日付を「受注日」の列に上から順に入力していきます。ですので、毎日の分はなくもちろん日付は飛び飛びとなります。それとは別に、最初から1日から31日までのセルが作られている「月間表」のちょうどその日付の箇所に、「受注表」に入力した日付を判断して、金額が入力されるようにできればと思っているのですがムリでしょうか。
例えば、「受注票」のB6に受注した日付の11月20日を入力して、その売上金額の5000円をB7に入力したとします。すると、「月間表」の11月20日のセルに5000円と連動して入力されるようにしたいのです。どなたかご教授願います。

Aベストアンサー

No.2・3です。

>12月以降はまた、この式を12月用のシートに入力していかなければいけないのですか?

に関して・・・
前回の画像のSheet2をそのまま利用してもよいのであれば
数式は変えなくても大丈夫です。
その代り、Sheet2のA列日付を12月のシリアル値にする必要がありますので、

No.2の画像の配置通りとして、
Sheet2のA5セル(セルの表示形式はユーザー定義から d としておきます)に
=IF(MONTH(DATE(A$1,A$2,ROW(A1)))=A$2,DATE(A$1,A$2,ROW(A1)),"")
という数式を入れ31日分(A35セルまで)数式をコピーしておきます。

これでA1の年・A2の月 の数値を入れ替えるだけでその月のシリアル値になりますので、
B列の数式はそのままで大丈夫です。

※ 月ごとにSheetが違う場合は各SheetのA列をその月のシリアル値にする必要があります。
尚、B列の数式は全く一緒でOKです。m(_ _)m


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報