Tag: vba

Excel使用单元格值作为VBA中的范围

我有一个Excel文件。 A列每次都有一个可更改的行数量,这就是为什么我需要dynamic公式。 例如; 我想在B1上写“= LEN(B1)”公式。 在单元右下angular双击时,直到A列值结束时为止。 这就是为什么在这个过程之前,我在C1单元上写了“= COUNT(A:A)”。 在我的VBA中,我想写; Dim TEMP As String TEMP = Range("C1").Value Range("B1").Select ActiveCell.FormulaR1C1="=+LEN(RC[-1])" Selection.AutoFill Destination:=Range("B1:TEMP") 但是在这个过程中有什么问题。 因此,我只想在我的VBA中使用单元格值作为范围或string或数字。 感谢您的支持。

Excel VBA高级筛选器,筛选一切,但

假设我在国际上有一个客户数据库。 我知道我可以使用高级filter从美国复制所有客户,使用如下所示的条件: – 国家 美国 – 但是,如果我想过滤一切,但美国呢? 这可能吗? 我目前的解决方法是使用AND运算符,列出除美国以外的所有国家,这并不美观。 希望有人能帮忙,如果这是重复的,请让我知道。 我试着用excel高级filter来search“除”,“例外”,“除了”以外的其他术语,但是没有find。 谢谢,

Excel Vba:单元格中的公式值

这应该很简单。 以下是我正在使用的代码: Private Sub CommandButton23_Click() Dim linerngs As Range Dim lineitem As Range Dim lastlinerow As Long Dim TabLastRow Dim claimstab As String Dim officesrange As Range Dim office As Range officeslastrow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row lastlinerow = Sheet2.Range("D" & Rows.Count).End(xlUp).Row Set officerng = Sheet2.Range("A6:A" & officeslastrow).SpecialCells(xlCellTypeConstants, 23) Set linerngs = Sheet2.Range("D7:D" & lastlinerow).SpecialCells(xlCellTypeConstants, 23) […]

Excel VBA通​​过表循环并总结值

我有这张约5万行的表格,我希望Excel能够通过并分配一个数字或字母。 基本上我试图根据他们的总和大于1,000,000来分组数据。 如果该行中的单元格A小于1,000,000,则它将转到下一行并将之前的单元格A加到当前单元格中,依此类推。 这一直持续到所有行的总和> = 1,000,000。 当发生这种情况时,一个数字被“分配”(如在行的末尾input)。 样本数据: 这是我目前的“伪”代码: For x = 2 to lastrow y = 1 If Range("A" & x).value < 1000000 Then 'I know something needs to be entered here but I don't know what Do while balance < 1000000 sumbalance = Range("A" & x) + Range("A" & x + 1) 'Until […]

在单元格中input数字,并使用2D范围在数组中search该数字

我正在协调帐户,并想知道是否有一个公式/ VBA我可以用来search某些值,因为查找function不起作用? 例如:input-54.12到一个单元格中,公式/ VBAsearch该数字的数组。 这可能会更好地解释我想要达到的目的,尽pipe比编码更多的是解释: Sub Test() Dim Value As Integer Dim Account As Range Dim Lookup As Boolean Value = Range("D8") Account = Range("E:E") Set Value = A Set Account = B ' IF A is present in B then look up = true ' if look up is true then scroll to cell […]

Excel VBA编程执行VBA

我负责logging俱乐部的收费情况,所以我决定做一个Excel的页面。 我是Excel VBA编程的新手,所以我需要一些build议。 我的想法是:如果这个人在场,但没有付钱,我只是标记一个x ,如果他在场,只要付款,我想能够标记一个N并使其popup一个msgboxpopup询问付款的价值,并直接把这个价值在一个精确的单元格在另一个页面上。 Sub Pay() Dim Pay As String Pay = InputBox("Enter A New Payment", "Payment", "Enter amount here") Range("'versement adherent'!C15").Value = Pay End Sub 所以这是我对msgbox的想法,但是它太窄了,只有在被要求时才会启动(当写入值为N的单元格时,不会自动启动),并且写入值的单元总是相同的。 Private Sub FindN(StrSearchQuery As String) Set SearchRange = Range("versement adherent!F2:Y21") FindN = StrSearchQuery Function FindAll(SearchRange As Range, LookFor As String) Dim FoundCell As Range For Each area […]

Excel VBA – 多页更改但只有一次

我在Main_Window.MultiPage2.Value = 2下的Multipage中有一个flexgrid,这个flexgrid有8000行,我不希望这些加载,除非这个页面实际上被点击了。 我所拥有的代码就是这样做的,但是问题在于它每次都会加载,而不是一次。 有没有办法让第一次改变加载,然后就是这样? Private Sub MultiPage2_Change() If Main_Window.MultiPage2.Value = 2 Then Call form_segment_carrier_auto End If End Sub 在form_segment_carrier_auto中是一个填充flexgrid的模块。

使用macros水平移调单个多行单元

我目前正在研究一个macros,它需要一个多行单元格,并把每一个新行,并把它们水平放入下一列。 这需要相对引用,这意味着我将需要在多个单元格上重复使用它,因此它不能特定于一定范围的单元格。 所以我开始的是这样的: 那么我应该把它变成这样: 我已经尝试编写一个macros,它将所有的值,并将它们放在一个由行分隔的列中的单个单元格,然后粘贴>转置,但我得到一个粘贴错误。 任何人有任何提示? 提前致谢。 这是我迄今为止尝试过的macros的代码。 虽然我得到了一个粘贴错误,所以它不工作。 Sub t() ' ' t Macro ' ' Keyboard Shortcut: Ctrl+t ' ActiveCell.Select ActiveCell.FormulaR1C1 = "Sheryl D. Colvin, deceased" & Chr(10) & "" ActiveCell.Offset(0, 1).Range("A1:A3").Select ActiveCell.Offset(1, 0).Range("A1").Select ActiveSheet.Paste ActiveCell.Range("A1:A3").Select Selection.Copy ActiveCell.Offset(-1, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True ActiveCell.Offset(1, 0).Range("A1:A3").Select Application.CutCopyMode = False Selection.ClearContents End […]

复制表格与Excel VBA

我试图从工作簿A复制一张到新添加的工作簿B.我遇到的问题是它不保留PageSetup。 新工作簿与复制的工作表不适合在一个页面上的原始来源。 我试图研究这个,但不能确定是否需要复制PageSetup中的所有属性,或者如果它应该只是复制整个工作表时才工作。 这是我的代码到目前为止: Public Sub makeCopies(ByVal seller As String) Dim thisWB As Workbook Dim newWB As Workbook Set thisWB = ActiveWorkbook Set newWB = Workbooks.Add On Error GoTo ErrorHandler: thisWB.Sheets(1).Copy Before:=newWB.Sheets(1) newWB.Activate newWB.SaveAs fileName:=seller & ".xlsx" newWB.Close thisWB.Activate Exit Sub ErrorHandler: MsgBox "Error" & Err.Number & Err.Description newWB.Close End Sub

调用子checkboxexcel vba

我正在尝试使用此代码调用子 If CheckBox2 = True Then Call Qorep inheritance人: Public Sub Qorep() For i = 0 To cap Hoja9.Cells(i + 2, 3).Value = Empty array_Qorep(i, 0) = Hoja1.Range("B" & i + 2) Select Case Hoja9.Cells(3, 5) Case Is > 0 If array_Qorep(i, 0) < Hoja9.Cells(3, 5) Then Hoja9.Cells(i + 2, 3) = array_Qorep(i, 0) End […]