第一次需要帮助的程序员 [英] First time programmer needing help

查看:68
本文介绍了第一次需要帮助的程序员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下是我正在寻找的内容:为以下情况编写程序的简单建议

Here's what I'm looking for: simple advice as to write a program for the following situation

我有一个工作表1列AE

I have a worksheet1 columns A-E

我想将第1行AE工作表1复制到第1行AE工作表2

I want to copy row 1 columns A-E worksheet1 to row 1 columns A-E worksheet2

然后我想比较第2行A工作表1到第1行A工作表2和
如果匹配

then I want to compare row 2 column A worksheet1 to row 1 column A worksheet2 and if matched

然后将第2行E工作表1放在第1行E工作表2 IF

then put row 2 column E worksheet1 in place of row 1 column E worksheet2 IF

行  2 coumn E工作表1大于第1行coulumn E工作表2否则

row 2 coumn E Worksheet1 is greater than row 1 coulumn E worksheet2 otherwise

复制row2 coulmns AE工作表1到第2行AE工作表2

copy row2 coulmns A-E worksheet1 to row2 columns A-E worksheet2

然后继续为工作表1的行结束

then continue to end of rows for worksheet1

视觉上:

1       A       B     C      d     E

1       A       B     C      D     E

     牛奶      2      3     4     5

      milk      2      3     4     5

     鸡蛋     12    13    14    15

      Eggs     12    13    14    15

    面包    22    33    44    55

     Bread    22    33    44    55

   牛奶          2     3     4     60

    Milk          2     3     4     60

因此,最终看起来像:

1       A       B     C      d     E

1       A       B     C      D     E

     牛奶      2      3     4      60

      milk      2      3     4     60

     鸡蛋     12    13    14    15

      Eggs     12    13    14    15

    面包    22    33    44    55

     Bread    22    33    44    55

 

推荐答案

Sub Macro1()

Dim myR As Long

Dim myC As Range

With Sheets("Sheet1")

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

 .Range("F1:F" & myR).FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"

 .Range("G1").FormulaArray = "=RC[-1]=MAX(IF(R1C1:R" & myR & "C1=RC[-6],R1C6:R" & myR & "C6))"

 .Range("G1").AutoFill Destination:=.Range("G1:G" & myR)

 For Each myC In .Range("G1:G" & myR)

  If myC.Value Then myC.Offset(0, -6).Resize(1, 5).Copy _

   Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp)(2)

 Next myC

 .Range("F1:G" & myR).Clear

End With

End Sub

试试看。我假设你的工作表名称是Sheet1和Sheet2。

Try that. I have assumed that your sheet names are Sheet1 and Sheet2.

 


这篇关于第一次需要帮助的程序员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆