精华内容
下载资源
问答
  • C#读取Excel单元格内容并赋值给text一个简单demo C#读取Excel单元格内容并赋值给text一个简单demo C#读取Excel单元格内容并赋值给text一个简单demo
  • excel单元格赋值时报错 经过以上三种情况不难看出cells行索引和列索引为0的时候会报错,i是从0开始所以引发异常,解决方案索引从1开始 转载于:https://www.cnblogs.com/ngy7/p/5582814.html...

    对excel单元格赋值时报错

    经过以上三种情况不难看出cells行索引和列索引为0的时候会报错,i是从0开始所以引发异常,解决方案索引从1开始

    转载于:https://www.cnblogs.com/ngy7/p/5582814.html

    展开全文
  • 利用Value属性给单元格赋值 For Each---Next循环 使用For Each---Next循环的注意事项 利用Value属性给单元格区域赋值 单元格( Range)对象的Address属性 示例: 如图所示,该表为某公司员工的工资表。现公司...

    目录

    示例:

    利用Value属性给单元格赋值

    For Each---Next循环

    使用For Each---Next循环的注意事项

    利用Value属性给单元格区域赋值

    单元格( Range)对象的Address属性


    示例:

        如图所示,该表为某公司员工的工资表。现公司政策调整,需要将所有员工的补贴统一为200元,该如何用VBA实现?

    员工编号 姓名 基本工资 补贴
    0006 程建华 2875 0
    0009 李国敏 3050 0
    0016 袁志刚 3523 0
    0017 周汉林 2890 0
    0018 骈永富 2850 0
    0020 孙玉梅 2580 0
    0023 陈亚菁 3460 0
    0026 康小芸 1800 0
    0028 刘晨 5318 0
    0042 齐光 5425 60
    0052 于健惠 4320 0
    0060 王文群 1875 0
    0066 曾国安 4726 0
    0072 刘志峰 1850 0
    0080 刘玉录 1385 0
    0114 俞卫广 6700 0
    0125 杨建军 2700 0
    0209 曲波 3215 0
    0215 林革壮 1565 0
    0233 李卫卿 6213 0
    0247 申玲 1230 0
    0260 孙正发 1950 200
    0265 毛传阳 3500 0
    0288 张元端 2465 0
    0293 朱凌波 3420 0
    0314 张宏 2310 0
    0327 郦锡文 1912 0
    0328 张占斌 1800 0
    0334 曹阳 2632 0
    0352 周书敬 4200 0
    0370 姚胜 5300 500
    0371 郭建 1571 0
    0374 高波 6200 50
    0377 卢卫 3200 0
    0391 赵秀池 2450 0
    0399 罗卉宁 1800 0
    Option Explicit
    
    Sub 批量设置补贴()
        '设置计数变量
        Dim RowN As Long
        
        '利用For循环
        For RowN = 2 To 37
            '以下两个语句任选一句
            Cells(RowN, "D").Value = 200
            'Range("D" & RowN).Value = 200
        Next
    End Sub
    

    利用Value属性给单元格赋值

        Value属性是单元格的默认属性,无论是Range对象还是Cells对象,都可以使用Value属性进行赋值。当需要修改单元格的值时,可以在Value属性中写入某个值。Value属性可以接受任何非对象的基本数据类型。当需要给单元格区域批量赋值时,通常采用循环结构给单元格赋值。
        由于能够准确得知单元格范围,本例中采用了For---Next循环对某一列的单元格区域进行赋值。若需要对某个多行多列的矩形区域进行赋值,如B2:D37,可以采用如下嵌套的循环结构:

    Sub 批量设置补贴2()
        Dim RowN As Long
        Dim ColN As Long
        
        For RowN = 2 To 37
            For ColN = 2 To 4
                Cells(RowN, ColN).Value = 100
            Next
        Next
    End Sub

        此时,由于列数也在产生变化,而通常采用Cells对象给单元格赋值。在大部分情况下,由于行号和列号均能进行数字化,因而Cells对象使用频率要超过Range对象。

    For Each---Next循环

    For Each---Next循环可以用来访问某个集合中所有的元素,其语法格式为

    For Each element In group
        [statements]
        [Exit For]
        [statements]
    Next [element]

        其中,参数element表示集合中某个元素的变量,group表示某个集合。group所表示的集合可以是单元格区域、工作表集合、工作簿集合、数组集合等。在使用该循环结构时,element所表示的变量的类型必须与group集合中的元素类型一致。

    Sub 批量设置补贴2()
        '设置单元格变量
        Dim Rng As Range
        
        For Each Rng In Range("D2:D37")
            Rng.Value = 200
        Next
    End Sub

    使用For Each---Next循环的注意事项

        使用For Each---Next循环可以极大地方便开发者对对象进行批量的操作,但在使用中应注意以下两点。

    • 表示元素的对象应显式声明,并且避免使用Variant对象。
    • 当需要进行属性更改时,即使是默认属性,该属性也不能省略。

        如果出现上述错误,则VBA程序会对开发者的实际意图进行误判,而造成结果的错误。比如以下程序将不会修改任何一个单元格。

    Sub 此程序不会修改任何单元格()
        '设置单元格变量
        Dim Rng As Variant
        
        For Each Rng In Range("D2:D37")
            Rng.Value = 200
        Next
    End Sub

    利用Value属性给单元格区域赋值

        当引用单元格区域的Value属性时,则表示该区域所有单元格的Value属性,因而通过此简单的赋值语句可以实现批量赋值。
        同样,能够使用该方法进行批量修改的单元格属性有:NumberFormat属性、NumberFormatLocal属性、Font属性(字体)、Interior属性(填充)和Border属性等。绝大部分能够通过工作表中批量操作的属性,均能够用VBA访问其相应的属性来进行批量修改。

    Sub 批量设置补贴3()
        Range("D2:D37").Value = 200
    End Sub

    单元格( Range)对象的Address属性

        Address属性是Range对象一个非常有用的属性。通过该属性,可以获取各种形式的单元格地址,其语法如下:   

    Range.Address(RowAbsolute,ColumnAbsolute,ReferenceStyle,External,RelativeTo)

        其中,Range为一个单元格或单元格区域对象。
        参数RowAbsolute为逻辑值,当其为True时,表示行以绝对引用返回,反之表示相对引用
        参数ColumnAbsolute为逻辑值,当其为True时,表示列以绝对引用返回,反之表示相对引用。
        参数ReferenceStyle表示引用的形式,默认为xIA1(A1引用方式),也可设置为xIR1C1(R1C1引用方式)。
        参数External为逻辑值,当其为True时,表示以外部引用的方式返回单元格地址,其中包括工作簿、工作表的引用。其默认值为False时,表示仅返回单元格的地址。
        参数RelativeTo适用于R1C1引用时的相对引用,则此时该参数需要设置一个单元格对象,表示其相对引用的起始位置。
     

    展开全文
  • 可以获取数据,我们也需要可以修改或者赋值给指定的单元格,需要指定行、列以及要给的赋值 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading....

     可以获取数据,我们也需要可以修改或者赋值给指定的单元格,需要指定行、列以及要给的赋值

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Microsoft.Office.Interop.Excel;
    using System.Diagnostics;
    using System.Reflection;
    
    namespace ConsoleApplication3
    {
        class EditExcel
        {
            #region  给Excel指定单元赋值
            /// <summary>
            /// 给Excel指定单元赋值
            /// </summary>
            /// <param name="ExcelName"></param>
            public void SetCellValue(string ExcelName)
            {
                Application App = new Application();
                //获取缺少的object类型值
                object missing = Missing.Value;
                //打开指定的Excel文件
                Workbook openwb = App.Workbooks.Open(ExcelName, missing, missing, missing, missing,
                    missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                //获取选选择的工作表
                Worksheet ws = ((Worksheet)openwb.Worksheets["Sheet1"]);
                Console.WriteLine("请输入你行号:");
                int x = Convert.ToInt16(Console.ReadLine());
                Console.WriteLine("请输入你列号:");
                int y = Convert.ToInt16(Console.ReadLine());
                Console.WriteLine("请输入要设置的值:");
                string value = Console.ReadLine();
                ws.Cells[x, y] = value;
                Console.WriteLine("设置成功!");
                Console.ReadLine();
                App.DisplayAlerts = false;//不现实提示对话框
                openwb.Save();//保存工作表
                App.Visible = true;//显示Excel
                openwb.Close(false, missing, missing);//关闭工作表
                App.Quit();
            }
            #endregion
    
        }
    }
    

    欢迎关注本人的公众号:编程手札,文章也会在公众号更新

    展开全文
  • 下面是组件的回调函数,很简单: ...在回调函数里给单元格赋值,死活成功不了。。。。 报这个错 { 方法‘value’作用于对象'Range'时失败 } 读取时倒是没什么问题,折腾2个小时了总也搞不定,求大神指点
  • 单元格赋值示例-------------------示例一Sub test1()Worksheets("Sheet1").Range("A5").Value = 22MsgBox "工作表Sheet1内单元格A5中的值为" _& Worksheets("Sheet1").Range("A5").ValueEnd...

    单元格赋值示例
    -------------------

    示例一
    Sub test1()
    Worksheets("Sheet1").Range("A5").Value = 22
    MsgBox "工作表Sheet1内单元格A5中的值为" _
    & Worksheets("Sheet1").Range("A5").Value
    End Sub

    示例二
    Sub test2()
    Worksheets("Sheet1").Range("A1").Value = _
    Worksheets("Sheet1").Range("A5").Value
    MsgBox "现在A1单元格中的值也为" & _
    Worksheets("Sheet1").Range("A5").Value
    End Sub

    示例三
    Sub test3()
    MsgBox "用公式填充单元格,本例为随机数公式"
    Range("A1:H8").Formula = "=Rand()"
    End Sub

    示例四
    Sub test4()
    Worksheets(1).Cells(1, 1).Value = 24
    MsgBox "现在单元格A1的值为24"
    End Sub

    示例五
    Sub test5()
    MsgBox "给单元格设置公式,求B2至B5单元格区域之和"
    ActiveSheet.Cells(2, 1).Formula = "=Sum(B1:B5)"
    End Sub

    示例六
    Sub test6()
    MsgBox "设置单元格C5中的公式."
    Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=Rand()"
    End Sub

    单元格引用示例
    -------------------

    Sub Random()
    Dim myRange As Range
    '设置对单元格区域的引用
    Set myRange = Worksheets("Sheet1").Range("A1:D5")
    '对Range对象进行操作
    myRange.Formula = "=RAND()"
    myRange.Font.Bold = True
    End Sub
    示例说明:可以设置Range对象变量来引用单元格区域,然后对该变量所代表的单元格区域进行操作。

    清除单元格示例
    -------------------

    示例一
    清除单元格中的内容(ClearContents方法)
    Sub testClearContents()
    MsgBox "清除指定单元格区域中的内容"
    Worksheets(1).Range("A1:H8").ClearContents
    End Sub

    示例二
    清除单元格中的格式(ClearFormats方法)
    Sub testClearFormats()
    MsgBox "清除指定单元格区域中的格式"
    Worksheets(1).Range("A1:H8").ClearFormats
    End Sub

    示例三
    清除单元格中的批注(ClearComments方法)
    Sub testClearComments()
    MsgBox "清除指定单元格区域中的批注"
    Worksheets(1).Range("A1:H8").ClearComments
    End Sub

    示例四
    清除单元格中的全部,包括内容、格式和批注(Clear方法)
    Sub testClear()
    MsgBox "彻底清除指定单元格区域"
    Worksheets(1).Range("A1:H8").Clear
    End Sub

    其他示例
    -------------------
    Range和Cells的用法
    Sub test()
    '设置单元格区域A1:J10的边框线条样式
    With Worksheets(1)
    .Range(.Cells(1, 1), _
    .Cells(10, 10)).Borders.LineStyle = xlThick
    End With
    End Sub
    示例说明:可用 Range(cell1, cell2) 返回一个 Range 对象,其中cell1和cell2为指定起始和终止位置的Range对象。

    选取单元格区域(Select方法)
    Sub testSelect()
    '选取单元格区域A1:D5
    Worksheets("Sheet1").Range("A1:D5").Select
    End Sub

    基于所选区域偏离至另一区域(Offset属性)
    Sub testOffset()
    Worksheets("Sheet1").Activate
    Selection.Offset(3, 1).Select
    End Sub
    示例说明:可用Offset(row, column)(其中row和column为行偏移量和列偏移量)返回相对于另一区域在指定偏移量处的区域。如上例选定位于当前选定区域左上角单元格的向下三行且向右一列处单元格区域。

    选取距当前单元格指定行数和列数的单元格
    Sub ActiveCellOffice()
    MsgBox "显示距当前单元格第3列、第2行的单元格中的值"
    MsgBox ActiveCell.Offset(3, 2).Value
    End Sub

    调整区域的大小(Resize属性)
    Sub ResizeRange()
    Dim numRows As Integer, numcolumns As Integer
    Worksheets("Sheet1").Activate
    numRows = Selection.Rows.Count
    numcolumns = Selection.Columns.Count
    Selection.Resize(numRows + 1, numcolumns + 1).Select
    End Sub
    示例说明:本示例调整所选区域的大小,使之增加一行一列。

    选取多个区域(Union方法)
    Sub testUnion()
    Dim rng1 As Range, rng2 As Range, myMultiAreaRange As Range
    Worksheets("sheet1").Activate
    Set rng1 = Range("A1:B2")
    Set rng2 = Range("C3:D4")
    Set myMultiAreaRange = Union(rng1, rng2)
    myMultiAreaRange.Select
    End Sub
    示例说明:可用 Union(range1, range2, ...) 返回多块区域,即该区域由两个或多个连续的单元格区域所组成。如上例创建由单元格区域A1:B2和C3:D4组合定义的对象,然后选定该定义区域。

    激活已选区域中的单元格
    Sub ActivateRange()
    MsgBox "选取单元格区域B2:D6并将C4选中"
    ActiveSheet.Range("B3:D6").Select
    Range("C5").Activate
    End Sub

    选取指定条件的单元格(SpecialCells方法)
    Sub SelectSpecialCells()
    MsgBox "选择当前工作表中所有公式单元格"
    ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).Select
    End Sub

    选取矩形区域(CurrentRegion属性)
    '选取包含当前单元格的矩形区域
    '该区域周边为空白行和空白列
    Sub SelectCurrentRegion()
    MsgBox "选取包含当前单元格的矩形区域"
    ActiveCell.CurrentRegion.Select
    End Sub

    选取当前工作表中已用单元格(UsedRange属性)
    '选取当前工作表中已使用的单元格区域
    Sub SelectUsedRange()
    MsgBox "选取当前工作表中已使用的单元格区域" _
    & vbCrLf & "并显示其地址"
    ActiveSheet.UsedRange.Select
    MsgBox ActiveSheet.UsedRange.Address
    End Sub

    转载于:https://www.cnblogs.com/top5/archive/2010/03/14/1685514.html

    展开全文
  • '先选中要替换的区域,将特定背景的单元格赋值为"√" ' Dim lColor As Long ' 'lColor = InteriorColor(Range("G2"))' lColor = 10213316 Worksheets("dsp3.0 pc").Range("B1").Value = lColor
  • POI处理excel单元格赋值,读值)

    千次阅读 2018-09-29 17:35:55
    throw new RuntimeException("错误提示: 您设置的Excel文件名不合法!"); } } catch (IOException e) { e.printStackTrace(); } } /** * 获取第一个Sheet中的单元格 * @param rowIndex * @param colIndex ...
  • * 为A1单元格赋值,Range的值(Value)的属性的Id是0x00000006,在这里传入一个字符串作为单元格的值 */ cellA1_B2.setProperty(CELL_VALUE_ID , new Variant[] {new Variant("Heo"),new Variant("GGH"),,new...
  • 这是关于数值从单元格区域赋值单元格区域的研究 也可以说是range对象对range对象直接赋值 这两种可以实现: mu.[b1:I1] = yu.[E9:L9].Value mu.[b1:I1].Value = yu.[E9:L9].Value 这一种不可以实现 mu.[b1:I1] = yu...
  • [img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/9.gif][/img]首先...在 C++ Builder 中为 Excel 单元格赋值,其中部分字符需要设置下划线,请问如何设置? 谢谢顶贴或解答的众位高手……
  • VBA给合并单元格黏贴赋值

    千次阅读 2013-11-06 12:33:49
    由于EXCEL中通过剪切板给合并后的单元格赋值时候会出现如下错误 所以在vba中也一定不能了,其实可以通过一种workaround的方式来间接实现这个需求,实现步骤如下 一、拆分合并的单元格 二、给第一个单元格赋值...
  • POI合并单元格赋值

    千次阅读 2019-07-12 09:22:37
    response.setContentType("application/vnd.ms-excel;charset=utf-8"); try { response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode( "锡通园“五个年”活动任务分解表.xls",...
  • 本文根据自己初学经验编写的使用xlwt模块设置单元格的一些基本样式,如设置单元格的背景颜色,下框线,字体,字体的颜色,设置列宽行高,插入简单的图片,详细程序如下:#!/usr/bin/env python# -*- coding: utf-8 -...
  • excel录制宏知道给“A1”单元格的批注赋值为123的核心语句是activecell.comment.Text Text:="123"。不知道用vfp语句如何写。我写成:qgq.range("A1").comment.text.value='123'。不正确。 谢谢伟大的vfp同志们!
  • 本文主要为大家详细介绍了Python中使用xlwt模块设置单元格的一些基本样式,如设置单元格的背景颜色,下框线,字体,字体的颜色,设置列宽行高,插入简单的图片,希望能帮助到大家。详细程序如下:#!/usr/bin/env ...
  • range.NumberFormatLocal="@";//设置单元格格式为文本 range=(Range)worksheet....//获取Excel多个单元格区域:本例做为Excel表头range.Merge(0);...Excel单元格赋值"...//Excel单元格赋值ran...
  • c# 操作Excel单元格属性

    千次阅读 2013-11-28 15:29:35
    range.NumberFormatLocal = "@"; //设置单元格格式为文本 range = (Range)worksheet.get_Range("A1", "E1"); //获取Excel多个单元格区域:本例做为Excel表头 ...worksheet.Cells[1, 1] = "Excel单元格赋值"; 
  • 系统:Windows 7语言版本:Anaconda3-4.3.0.1-Windows-x86_64编辑器:pycharm-community-2016.3.2这个系列讲讲Python对Excel的操作今天讲讲win32com模块对已有Excel文件的操作:批量赋值,清空单元格Part 1:示例...
  • excel单元格如何换行

    2018-08-03 08:31:38
    excel单元格内容如何换行   解决方法: 有两种方式:http://www.yayihouse.com/yayishuwu/chapter/1401
  • 刚刚接触POI,想要处理Excel的签署,网上百度了好多资料...通过POI处理多Sheet页的Excel,每个Excel都有一行作为签署行,每行都有单元格内容为:编制,校对,审核,批准的单元格,但是单元格位置不固定,坐标随机。...
  • 今天说说数组与Excel单元格传递信息:即数组如何读取单元格中信息;数组信息如何写入Excel单元格 Part 1:实现内容 有两个Excel工作表,表1:Excel读出;表2:数组写入,为空表 实现功能1,读取Excel中信息: ...
  • C#读取写入excel单元格

    千次阅读 2016-08-05 13:40:34
    c# 读取写入excel单元格(包括对excel的一些基本操作) 以下是一些对excel的一些基本操作 1:工程对excel类库的导入,如:c:\program files\Microsoft office\offiece11\excel.exe 2:命名控件的引入: using...
  • python 读写 excel 有好多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库分别是 xlrd/xlwt、openpyxl。之所以推荐两个库是因为这两个库分别操作的是不同版本的 excel,xlrd 操作的是 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,049
精华内容 4,019
关键字:

excel单元格条件赋值