[[20150827130949]] 『★Sheet内での文字入力の方法教えてください!』(アゲインスト) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『★Sheet内での文字入力の方法教えてください!』(アゲインスト)

お世話になります。

エクセルまたはLibre officeについて

*この関数なのですが

EndRow = Cells(Rows.Count, 1).End(xlUp).Row + 1

Range("A" & EndRow) = Sheets("Sheet1").Range("A2")

1、1つのSheetの中に複数の項目(複数の売上データ)がある場合

上の場合はどのように関数を変更したら宜しいのでしょうか?

例えば、異なる売上表がsheet1の中に2つある場合です。

この場合、「どちらの表」も一行目から下に続けて入力していきたいので上の関数だと適用できません。

よろしくお願い致します。

< 使用 アプリ:エクセルとlibre office、使用 OS:Windows7 >


 直接の回答ではありませんが・・・。

 最近「関数」という言葉を使うのが流行りなのかな?

 別のサイトでもリンクしたものですが参考まで。

 VBA基礎用語 プロパティ、関数、メソッド、ステートメント
http://excwlvba.blogspot.jp/2013/06/blog-post_17.html
(カリーニン) 2015/08/27(木) 13:20

 こういうことですか?

 Activesheet.Range("A" & Cells.Rows.Count).End(XlUp).Offset(1).Value = Sheets("Sheet1").Range("A2").Value
(カリーニン) 2015/08/27(木) 13:24

カリーニン様

ご回答ありがとうございます。

これはできるのですが、複数の表を一括で編集したいのです。

*例えば、異なる売上表(売上表1)と(売上表2)が「sheet1」の中に2つあるとします。

1、ボタン1を押したら (売上1)の入力されている行の下から次々と1行ずつ↓へ入力する方法。

(入力するデータはある程度決まっておりますので別のシートに残しておくかと思います)

2、ボタン2を押したら (売上2)の入力されている行の下から次々と1行ずつ↓へ入力する方法。

この場合、「どちらの表」も一行目から下に続けて入力していきたいので

先ほどのスクリプトのみだと作動しません。

効率の良い方法をご教授くださいませ。

(アゲインスト) 2015/08/27(木) 13:58


 列番号を変えて必要な分だけつくるだけですよ。
 必要な雛形は提示したつもりです。
(カリーニン) 2015/08/27(木) 14:13

横に作成していくのではなく

例えば 

表1

A2: aaa

ここから下へ入力する機能

   ・
   ・
   ・
   ・

表2

A10: bbb

ここから下へ入力する機能
   ・
   ・
   ・
   ・

1つ目がA2からの項目がございます。

2つ目がA10からの項目があります。

これらは別々の表です。

縦に入力していくのに A2とA10に何かしら文字があると

A10の次のセルからしか追加されません。

これを別々で自動入力していきたいです。

BASIC ランタイムエラー.
'1'

列番号 AをA10 と変えると上記のエラーになります。

初心者なもので全くわかりませんでした。

ご教授ください。

(アゲインスト) 2015/08/27(木) 14:53


 ↓のように変えてみてください。

 .Range("A" & Cells.Rows.Count).
 ↓
 .Range("A2")

  または

 .Range("A10")

 XlUp
 ↓
 XlDown

 >BASIC ランタイムエラー. 
 >'1' 

 これについてはコード全体を見ないと何とも言えません。
(カリーニン) 2015/08/27(木) 15:12

 >BASIC ランタイムエラー. 

 これ、もしかしてエクセルVBAではなくLibre officeが発しているエラー
 メッセージですか?
 そうでしたら当方は環境がないので原因はわかりません。

 私のコードはエクセルVBA用のものです。
(カリーニン) 2015/08/27(木) 15:18

(カリーニン)さん

このように変えてみたのですが最初は一度動きましたが

今は何も反映されません。

エラーもでないです。

libreでも動くことは以前から確認しております。

Sub Main

 Activesheet.Range("A2").End(XlDown).Offset(1).Value = Sheets("Sheet18").Range("A2").Value

 Activesheet.Range("A10").End(XlDown).Offset(1).Value = Sheets("Sheet18").Range("A2").Value

End Sub
(アゲインスト) 2015/08/27(木) 15:47


 再掲です。

 >これ、もしかしてエクセルVBAではなくLibre officeが発しているエラー
 >メッセージですか?
 >そうでしたら当方は環境がないので原因はわかりません。
(カリーニン) 2015/08/27(木) 15:49

わかりました。

ありがとうございます。

libreでもエクセルvbaが動くので試してみます。

(アゲインスト) 2015/08/27(木) 15:59


'売上表1が売上表2に重ならないよう要注意
Sub 売上表1ボタン() 'ボタン1に登録
書き込み 2 ''開始行数
End Sub
Sub 売上表2ボタン() 'ボタン2に登録
書き込み 10 '開始行数
End Sub
Sub 書き込み(arg As Long)
Do
If IsEmpty(Cells(arg, 1)) Then
Cells(arg, 1) = Sheets("sheet2").Range("A2"): Exit Do
Else
arg = arg + 1
End If
Loop
End Sub
(mm) 2015/08/27(木) 17:16

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.