按我的要求给出 excel 宏命令程序
Sub 值搜索()
' 本代码由【百度知道】波涛电脑工作室-常山大宝 编写
' 把下面代码复制到工作表对应的代码区内
'
' 要搜索的值。这里,想说明一下:
' 如果用Range("a15").Text写代码,会把数字看做是文本格式
' 而文本当然更当做是文本格式了。
' 显然这样数字和文本区分不开,因此,改用Range("a15")
i = Range("a15")
'
' 开始循环行
' 用你要搜索的行区域首、尾行号分别替换2和100
For iRow = 2 To 100
' 开始循环列
' 用你要搜索的列区域首、尾列号分别替换6和8
For iCol = 6 To 8
' 如果iRow行iCol列的值等于i
If Cells(iRow, iCol) = i Then
' 则取该行号iRow
' 把i值写入第iRow行、第5列单元格内
' 感觉你说的先把iRow存为cc完全没必要哦~
Cells(iRow, 5) = i
' 退出过程
Exit Sub
End If
' 读取下一列
Next iCol
' 对于每一个iRow行,循环完每个iCol列后,读取下一行
Next iRow
End Sub
求MFC编写的有关CListCtrl控件的简单实例。 发到我的邮箱284832431@qq.com
列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用
BOOL Create( DWORD dwStyle, const RECT rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:
LVS_ICON LVS_SMALLICON LVS_LIST LVS_REPORT 这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图标显示,列表显示,详细报表显示
LVS_EDITLABELS 结点的显示字符可以被编辑,对于报表风格来讲可编辑的只为第一列。
LVS_SHOWSELALWAYS 在失去焦点时也显示当前选中的结点
LVS_SINGLESEL 同时只能选中列表中一项
首先你需要设置列表控件所使用的ImageList,如果你使用大图标显示风格,你就需要以如下形式调用:
CImageList* SetImageList( CImageList* pImageList, LVSIL_NORMAL);
如果使用其它三种风格显示而不想显示图标你可以不进行任何设置,否则需要以如下形式调用:
CImageList* SetImageList( CImageList* pImageList, LVSIL_SMALL);
通过调用int InsertItem( int nItem, LPCTSTR lpszItem );可以在列表控件中nItem指明位置插入一项,lpszItem为显示字符。除LVS_REPORT风格外其他三种风格都只需要直接调用 InsertItem就可以了,但如果使用报表风格就必须先设置列表控件中的列信息。
通过调用int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat , int nWidth, int nSubItem);可以插入列。iCol为列的位置,从零开始,lpszColumnHeading为显示的列名,nFormat为显示对齐方式, nWidth为显示宽度,nSubItem为分配给该列的列索引。
在有多列的列表控件中就需要为每一项指明其在每一列中的显示字符,通过调用
BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );可以设置每列的显示字符。nItem为设置的项的位置,nSubItem为列位置,lpszText为显示字符。下面的代码演示了如何设置多列并插入数据:
m_list.SetImageList(m_listSmall,LVSIL_SMALL);//设置ImageListm_list.InsertColumn(0,"Col 1",LVCFMT_LEFT,300,0);//设置列m_list.InsertColumn(1,"Col 2",LVCFMT_LEFT,300,1);m_list.InsertColumn(2,"Col 3",LVCFMT_LEFT,300,2);m_list.InsertItem(0,"Item 1_1");//插入行m_list.SetItemText(0,1,"Item 1_2");//设置该行的不同列的显示字符m_list.SetItemText(0,2,"Item 1_3");此外CListCtrl还提供了一些函数用于得到/修改控件的状态。
COLORREF GetTextColor( )/BOOL SetTextColor( COLORREF cr );用于得到/设置显示的字符颜色。
COLORREF GetTextBkColor( )/BOOL SetTextBkColor( COLORREF cr );用于得到/设置显示的背景颜色。
void SetItemCount( int iCount );用于得到添加进列表中项的数量。
BOOL DeleteItem(int nItem);用于删除某一项,BOOL DeleteAllItems( );将删除所有项。
BOOL SetBkImage(HBITMAP hbm, BOOL fTile , int xOffsetPercent, int yOffsetPercent);用于设置背景位图。
CString GetItemText( int nItem, int nSubItem );用于得到某项的显示字符。
列表控件的消息映射同样使用ON_NOTIFY宏,形式如同:ON_NOTIFY( wNotifyCode, id, memberFxn ),wNotifyCode为通知代码,id为产生该消息的窗口ID,memberFxn为处理函数,函数的原型如同void OnXXXList(NMHDR* pNMHDR, LRESULT* pResult),其中pNMHDR为一数据结构,在具体使用时需要转换成其他类型的结构。对于列表控件可能取值和对应的数据结构为:
LVN_BEGINLABELEDIT 在开始某项编辑字符时发送,所用结构:NMLVDISPINFO
LVN_ENDLABELEDIT 在结束某项编辑字符时发送,所用结构:NMLVDISPINFO
LVN_GETDISPINFO 在需要得到某项信息时发送,(如得到某项的显示字符)所用结构:NMLVDISPINFO
关于ON_NOTIFY有很多内容,将在以后的内容中进行详细讲解。
关于动态提供结点所显示的字符:首先你在项时需要指明lpszItem参数为: LPSTR_TEXTCALLBACK。在控件显示该结点时会通过发送TVN_GETDISPINFO来取得所需要的字符,在处理该消息时先将参数 pNMHDR转换为LPNMLVDISPINFO,然后填充其中item.pszText。通过item中的iItem,iSubItem可以知道当前显示的为那一项。下面的代码演示了这种方法:
char szOut[8][3]={"No.1","No.2","No.3"};//添加结点m_list.InsertItem(LPSTR_TEXTCALLBACK,...)m_list.InsertItem(LPSTR_TEXTCALLBACK,...)//处理消息void CParentWnd::OnGetDispInfoList(NMHDR* pNMHDR, LRESULT* pResult){ LV_DISPINFO* pLVDI = (LV_DISPINFO*)pNMHDR; pLVDI-item.pszText=szOut[pTVDI-item.iItem];//通过iItem得到需要显示的字符在数组中的位置 *pResult = 0;}关于编辑某项的显示字符:(在报表风格中只对第一列有效)首先需要设置列表控件的 LVS_EDITLABELS风格,在开始编辑时该控件将会发送LVN_BEGINLABELEDIT,你可以通过在处理函数中返回TRUE来取消接下来的编辑,在编辑完成后会发送LVN_ENDLABELEDIT,在处理该消息时需要将参数pNMHDR转换为LPNMLVDISPINFO,然后通过其中的item.pszText得到编辑后的字符,并重置显示字符。如果编辑在中途中取消该变量为NULL。下面的代码说明如何处理这些消息:
//处理消息 LVN_BEGINLABELEDITvoid CParentWnd::OnBeginEditList(NMHDR* pNMHDR, LRESULT* pResult){ LV_DISPINFO* pLVDI = (LV_DISPINFO*)pNMHDR; if(pLVDI-item.iItem==0);//判断是否取消该操作 *pResult = 1; else *pResult = 0;}//处理消息 LVN_BEGINLABELEDITvoid CParentWnd::OnBeginEditList(NMHDR* pNMHDR, LRESULT* pResult){ LV_DISPINFO* pLVDI = (LV_DISPINFO*)pNMHDR; if(pLVDI-item.pszText==NULL);//判断是否已经取消取消编辑 m_list.SetItemText(pLVDI-item.iItem,0,pLVDI-pszText);//重置显示字符 *pResult = 0;}上面讲述的方法所进行的消息映射必须在父窗口中进行(同样WM_NOTIFY的所有消息都需要在父窗口中处理)。
如何得到当前选中项位置:在列表控件中没有一个类似于ListBox中GetCurSel()的函数,但是可以通过调用GetNextItem( -1, LVNI_ALL | LVNI_SELECTED);得到选中项位置。
下面是一些例子
作者:lixiaosan
时间:04/06/2006
以下未经说明,listctrl默认view 风格为report
相关类及处理函数
MFC:CListCtrl类
SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn
VC++ List Control 的具体用法实例。
你复制粘贴下面的内容吧:分赶快给我
1. ListCtrl 风格
LVS_ICON: 为每个item显示大图标
LVS_SMALLICON: 为每个item显示小图标
LVS_LIST: 显示一列带有小图标的item
LVS_REPORT: 显示item详细资料
直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”
--------------------------------------------------------------------------------
2. 设置listctrl 风格及扩展风格
LONG lStyle;
lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style
lStyle = ~LVS_TYPEMASK; //清除显示方式位
lStyle |= LVS_REPORT; //设置style
SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置style
DWORD dwStyle = m_list.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件
m_list.SetExtendedStyle(dwStyle); //设置扩展风格
--------------------------------------------------------------------------------
3. 插入数据
m_list.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//插入列
m_list.InsertColumn( 1, "NAME", LVCFMT_LEFT, 50 );
int nRow = m_list.InsertItem(0, “11”);//插入行
m_list.SetItemText(nRow, 1, “jacky”);//设置数据
--------------------------------------------------------------------------------
4. 一直选中item
选中style中的Show selection always,或者在上面第2点中设置LVS_SHOWSELALWAYS
--------------------------------------------------------------------------------
5. 选中和取消选中一行
int nIndex = 0;
//选中
m_list.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
//取消选中
m_list.SetItemState(nIndex, 0, LVIS_SELECTED|LVIS_FOCUSED);
--------------------------------------------------------------------------------
6. 得到listctrl中所有行的checkbox的状态
m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);
CString str;
for(int i=0; im_list.GetItemCount(); i )
{
if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED || m_list.GetCheck(i))
{
str.Format(_T("第%d行的checkbox为选中状态"), i);
AfxMessageBox(str);
}
}
CString strIns;
strIns="delete from tmpStatByGround";
m_pRs.CreateInstance(__uuidof(Recordset));
m_pRs-CursorLocation = adUseClient;
m_pRs-Open((LPCTSTR)strIns, vDispatch, adOpenKeyset,
adLockOptimistic, adCmdUnknown);
--------------------------------------------------------------------------------
7. 得到listctrl中所有选中行的序号
方法一:
CString str;
for(int i=0; im_list.GetItemCount(); i )
{
if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
str.Format(_T("选中了第%d行"), i);
AfxMessageBox(str);
}
}
方法二:
POSITION pos = m_list.GetFirstSelectedItemPosition();
if (pos == NULL)
TRACE0("No items were selected!\n");
else
{
while (pos)
{
int nItem = m_list.GetNextSelectedItem(pos);
TRACE1("Item %d was selected!\n", nItem);
// you could do your own processing on nItem here
}
}
--------------------------------------------------------------------------------
8. 得到item的信息
TCHAR szBuf[1024];
LVITEM lvi;
lvi.iItem = nItemIndex;
lvi.iSubItem = 0;
lvi.mask = LVIF_TEXT;
lvi.pszText = szBuf;
lvi.cchTextMax = 1024;
m_list.GetItem(lvi);
--------------------------------------------------------------------------------
9. 得到listctrl的所有列的header字符串内容
LVCOLUMN lvcol;
char str[256];
int nColNum;
CString strColumnName[4];//假如有4列
nColNum = 0;
lvcol.mask = LVCF_TEXT;
lvcol.pszText = str;
lvcol.cchTextMax = 256;
while(m_list.GetColumn(nColNum, lvcol))
{
strColumnName[nColNum] = lvcol.pszText;
nColNum ;
}
--------------------------------------------------------------------------------
10. 使listctrl中一项可见,即滚动滚动条
m_list.EnsureVisible(i, FALSE);
--------------------------------------------------------------------------------
11. 得到listctrl列数
int nHeadNum = m_list.GetHeaderCtrl()-GetItemCount();
--------------------------------------------------------------------------------
12. 删除所有列
方法一:
while ( m_list.DeleteColumn (0))
因为你删除了第一列后,后面的列会依次向上移动。
方法二:
int nColumns = 4;
for (int i=nColumns-1; i=0; i--)
m_list.DeleteColumn (i);
--------------------------------------------------------------------------------
13. 得到单击的listctrl的行列号
添加listctrl控件的NM_CLICK消息相应函数
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// 方法一:
/*
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_list.ScreenToClient(point);
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
int nItem = m_list.SubItemHitTest(lvinfo);
if(nItem != -1)
{
CString strtemp;
strtemp.Format("单击的是第%d行第%d列", lvinfo.iItem, lvinfo.iSubItem);
AfxMessageBox(strtemp);
}
*/
// 方法二:
/*
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView-iItem != -1)
{
CString strtemp;
strtemp.Format("单击的是第%d行第%d列",
pNMListView-iItem, pNMListView-iSubItem);
AfxMessageBox(strtemp);
}
*/
*pResult = 0;
}
--------------------------------------------------------------------------------
14. 判断是否点击在listctrl的checkbox上
添加listctrl控件的NM_CLICK消息相应函数
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_list.ScreenToClient(point);
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
UINT nFlag;
int nItem = m_list.HitTest(point, nFlag);
//判断是否点在checkbox上
if(nFlag == LVHT_ONITEMSTATEICON)
{
AfxMessageBox("点在listctrl的checkbox上");
}
*pResult = 0;
}
--------------------------------------------------------------------------------
15. 右键点击listctrl的item弹出菜单
添加listctrl控件的NM_RCLICK消息相应函数
void CTest6Dlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView-iItem != -1)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
CMenu menu;
VERIFY( menu.LoadMenu( IDR_MENU1 ) );
CMenu* popup = menu.GetSubMenu(0);
ASSERT( popup != NULL );
popup-TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );
}
*pResult = 0;
}
--------------------------------------------------------------------------------
16. item切换焦点时(包括用键盘和鼠标切换item时),状态的一些变化顺序
添加listctrl控件的LVN_ITEMCHANGED消息相应函数
void CTest6Dlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
CString sTemp;
if((pNMListView-uOldState LVIS_FOCUSED) == LVIS_FOCUSED
(pNMListView-uNewState LVIS_FOCUSED) == 0)
{
sTemp.Format("%d losted focus",pNMListView-iItem);
}
else if((pNMListView-uOldState LVIS_FOCUSED) == 0
(pNMListView-uNewState LVIS_FOCUSED) == LVIS_FOCUSED)
{
sTemp.Format("%d got focus",pNMListView-iItem);
}
if((pNMListView-uOldState LVIS_SELECTED) == LVIS_SELECTED
(pNMListView-uNewState LVIS_SELECTED) == 0)
{
sTemp.Format("%d losted selected",pNMListView-iItem);
}
else if((pNMListView-uOldState LVIS_SELECTED) == 0
(pNMListView-uNewState LVIS_SELECTED) == LVIS_SELECTED)
{
sTemp.Format("%d got selected",pNMListView-iItem);
}
*pResult = 0;
}
--------------------------------------------------------------------------------
17. listctrl的 subitem 添加图标
注意: 首先要用 InsertItem() 插入一行的第一列, 然后才能用 SetItem 设置其他项
m_list.SetExtendedStyle(LVS_EX_SUBITEMIMAGES);
m_userlist.SetItem(..);
--------------------------------------------------------------------------------
18. 在CListCtrl显示文件,并根据文件类型来显示图标
网上找到的代码,自己试用并改正过, share
步骤1: 设置 list 的图像列表为 系统图像列表
BOOL SetSystemImageList( CListCtrl list )
{
HIMAGELIST himlSmall;
HIMAGELIST himlLarge;
SHFILEINFO sfi;
char cSysDir[MAX_PATH];
CString strBuf;
memset(cSysDir, 0, MAX_PATH);
GetWindowsDirectory(cSysDir, MAX_PATH);
strBuf = cSysDir ;
// SHGetFileInfo:
// If uFlags contains SHGFI_SYSICONINDEX, the return value is a handle to
// an image list that contains the large icon images.
// If SHGFI_SMALLICON is included with SHGFI_SYSICONINDEX, the return value
// is the handle to an image list that contains the small icon images.
//
himlSmall = (HIMAGELIST)SHGetFileInfo ( (LPCSTR)cSysDir,
0,
sfi,
sizeof(SHFILEINFO),
SHGFI_SYSICONINDEX | SHGFI_SMALLICON );
himlLarge = (HIMAGELIST)SHGetFileInfo((LPCSTR)cSysDir,
0,
sfi,
sizeof(SHFILEINFO),
SHGFI_SYSICONINDEX | SHGFI_LARGEICON);
if (himlSmall himlLarge)
{
::SendMessage(list.m_hWnd, LVM_SETIMAGELIST,
(WPARAM)LVSIL_SMALL, (LPARAM)himlSmall);
::SendMessage(list.m_hWnd, LVM_SETIMAGELIST,
(WPARAM)LVSIL_NORMAL, (LPARAM)himlLarge);
}
return TRUE;
}
步骤2: 给列表添加指定的文件, 同时获得该文件的的图标索引, 给 list 添加图标
int GetIconIndex(LPCTSTR lpszPath, BOOL bIsDir, BOOL bSelected) ; // 向前声明
void AddFiles(CListCtrl list, LPCTSTR lpszFileName, BOOL bAddToDocument)
{
int nIcon = GetIconIndex(lpszFileName, FALSE, TRUE);
CString strSize;
CFileFind filefind;
// get file size
if ( filefind.FindFile(lpszFileName))
{
filefind.FindNextFile();
strSize.Format("%d", filefind.GetLength());
}
else
strSize = "0";
// split path and filename
CString strFileName = lpszFileName;
CString strPath;
int nPos = strFileName.ReverseFind('\\');
if (nPos != -1)
{
strPath = strFileName.Left(nPos);
strFileName = strFileName.Mid(nPos 1);
}
// insert to list
int nItem = list.GetItemCount();
//list.InsertItem(nItem, strFileName, nIcon);
//list.SetItemText(nItem, 1, strSize);
//
// 此处可以根据实际需要修改代码
//
}
--------------------------------------------------------------------------------
19. listctrl内容进行大数据量更新时,避免闪烁
m_list.SetRedraw(FALSE);
//更新内容
m_list.SetRedraw(TRUE);
m_list.Invalidate();
m_list.UpdateWindow();
20. 清除 ListCtrl 以重新初始化:
// 删除所有行
m_ctrllist.DeleteAllItems() ;
// 删除所有列
int iColCount = m_ctrllist.GetHeaderCtrl()-GetItemCount() ;
// 方法 1
// 原理: 删除第一列后, 其他列向前移动
while( m_ctrllist.DeleteColumn(0) ) ;
// 方法 2
for (int i=0; i iColCount ; i )
{
m_ctrllist.DeleteColumn(0);
}
// 方法 3
for (int i=iColCount-1; i = 0; i-- )
{
m_ctrllist.DeleteColumn( i );
}
EXCEL宏和函数与组合框
EXCEL宏
锁定G198,用$:
SUM(G1:$G$198)
;ct=17pn=0tn=ikaslistrn=10
;ct=17pn=0tn=ikaslistrn=10
搜吧和搜搜初级用户的图标,各有什么用?为什么非要弄二个呢?求大神帮助
您好,很高兴为您解答,目前QQ图标只有部分能点亮 1.增值业务 请勿转载,此为原创,有腾讯问问团队提供 QQ会员 QQ黄钻 QQ红钻 QQ蓝钻 QQ堂紫钻 QQ音速紫钻 QQ飞车紫钻 QQ粉钻 QQ绿钻 QQ黑钻 网址为 2.其他类图标 请勿转载,此为原创,有腾讯问问团队提供 (1)搜搜 如果您每天登录搜搜进行搜索,就可以积累经验值,并享受等级特权。当您的经验值达到50分,且30天内曾登录过搜搜,即可手动点亮图标。 (2)搜搜百科 登录搜搜百科在我的百科中点击“点亮图标”即可点亮。 (3)腾讯公益 当爱心积分达到108积分,公益图标会在QQ上自动点亮。1、参与“月捐”的爱心网友:当您参与“月捐计划”,并成功完成首月捐款10元,公益图标在您的QQ上自动点亮。2、其他成功捐款(散捐)的爱心网友:当您成功累积捐款额大于等于11元时,您的公益图标将于成功捐款的第2个月的1日在您的QQ上自动点亮。 (4)“靓”字图标 号码是靓号(默认自动显示)。要买靖号 3.手机类 请勿转载,此为原创,有腾讯问问团队提供 (1)机绑定后 使用手机与QQ绑定后即可 (2)移动QQ 开通超级QQ服务即可10RMB/月 (3)手机QQ 使用手机QQ软件登录即可 (4)短信超人 开通短信超人服务即可 12RMB/月 (5)WAPQQ 只要登录一次WAPQQ业务,即成为WAPQQ的尊贵用户,小图标则会在接下来的三个月中点亮。 (6)手机腾讯网 使用手机登录手机腾讯网即可 (7)请勿转载,此为原创,有腾讯问问团队提供,开通地址为 4.游戏类图标 请勿转载,此为原创,有腾讯问问团队提供 (1)QQ宠物 拥有QQ宠物即可 地址 (2)QQ自由幻想 您只需要在QQ自由幻想中注册拥有角色,并且达到10级完成转职任务后系统就可以自动点亮图标。地址 (3)QQ堂 达到1000分即可点亮 (4)QQ飞车 等级升到12级同时积满1800酷币即可点亮。而到达30级时,图标将升到二级,50级时图标升到三级,等级越高,图标也将变得越精致,越闪亮,越耀眼。 (5)穿越火线 请勿转载,此为原创,有腾讯问问团队提供 声望达到30,保持点亮至少每星期扣9声望低于30即熄灭 声望可以通过玩游戏或冲CF点获得(冲CF点的荣誉第二天到账) (6)QQ炫舞 在游戏内达到10等级登录此处即可点亮。 (7)DNF游戏角色等级达到18级,即可在官网点亮。 (8)QQ飞行岛 目前不支持点亮 (9)QQ音速 游戏人物等级达到6级,并且点亮图标时需要扣除5颗种子。 (10)QQ幻想 登陆游戏创建角色即可 (11)QQ三国 等级达到20级登陆游戏即可点亮(官网写20但目前有5级就亮的) (12)QQ华夏25级点亮 一个月登陆一次游戏,一个月不登陆就会熄灭,熄灭后,需要登陆2个小时 ,24小时后就自动点亮(不能点亮的到网域游戏 自助点亮即可) (13)穿越火线Vip用户 30RMB/月开通即可 (14)寻仙 等级达到25级会直接点亮图标。 (15)QQ对战平台 目前无法点亮 (16)QQ英雄岛 到达22级自动点亮,去浮空岛练级比较快 (17)丝路英雄 声望达640(任务或者消费金币获得10000金币=10声望) 官网上手动点亮 (18)战地之王 找AVA使者邀请(必须是QQ好友,且自己有AVA号且注册的号不是当天注册)即可点亮 维持点亮需要邀请好友开通图标-且声望达到100或者达到下士(会员一等兵或80声望) (19)烽火战国 目前无法点亮(有人说2000声望点亮) 5.产品类 请勿转载,此为原创,有腾讯问问团队提供2010.2.5 (1)会员炫铃 开通QQ会员即可 (2)Q歌Q魅 目前已关闭 (3)QQ交友 目前无法点亮变为QQ城市达人 (4)视频标志 安装摄像头 (5)QQ旋风 下载达到500分。或登陆50天即可 (6)腾讯图书 10RMB/月即可 (7)QQ问问 登录问问,输入QQ号码登录后,在网页右上角选择“我的问问”,进入后在网页左边栏目里选择“我的设置”,最后在“是否在QQ上显示问问图标及我的问题”的选项中选择“打开”即可。 (8)腾讯拍拍网卖家 通过卖家认证交20RMB保证金 (9)腾讯拍拍网买家 “蓝色拍字”图标是拍拍网买家用户的特殊身份标识。只要您在拍拍网使用财付通购买商品满10元,即可点亮“蓝色拍字”图标。 (10)QQ相册 注册并上传照片即可 (11)QQ播客 登录Video页面设置即可 1、用QQ登录后,点击首页上方“我的QQ播客”,进入个人主页; 2、进入个人主页后,点击页面右侧的“编辑个人资料”; 3、在“编辑我的资料”页中,如果您的QQ播客图标已经点亮, 点击“隐藏”即可关闭QQ客户端的播客图标。 (12)QQ空间 开通QQ空间即可 (13)QQ邮箱 使用QQ邮箱即可 在“邮箱设置”—“点亮邮箱图标”即可 (14)Q吧(目前Q吧正在维护无法点亮熄灭)当前Q吧积分≥0,在Q吧的社区档案登录并点击“点亮图标”按钮。注:1、Q吧积分被扣至负分;2、连续14日未登录并未阅读Q吧帖子;两个条件满足其中之一,就会熄灭。 (15)财付通 用户使用财付通账户成功进行一笔余额支付或为财付通账户充值1元以上均可点亮图标,交易成功后用户重新登录QQ即可显示图标。 (16)QQLIVE 登陆达到90小时即可 (17)QQ书签 1、新的QQ书签用户,书签公开收藏数达到或者超过10条即可;2、如果你在更新QQ2007Beta3之前已经是QQ书签的用户并且公开收藏已经超过了10条,只要再收藏1条公开收藏就可以点亮了 (18)QQ家园 使用QQ空间迷你屋即可 (19)滔滔 注册滔滔后用户即可自行操作点亮。点亮方法:登录滔滔网页—我的叨客页面—点击用户滔滔资料处的“点亮滔滔图标”,按提示操作即可。 注:如果希望再次点亮图标,则需要:1、取消勾选此项,并保存;2、发一帖,增加一天活跃天,或者再邀请一名QQ用户成为自己的叨友。满足上面两点要求后,图标会再次点亮。 (20)QQ爱墙 QQ爱墙图标可通过用户间的赠送获得,获赠图标后将自动点亮爱墙图标。点亮爱墙图标后,还可获得系统赠送的5颗图标,用以赠送给其他爱墙用户,帮他人点亮图标QQ爱墙图标有效期为2个月。点亮图标后,每购买一张爱墙字条背景,即可将图标点亮时间延长2个月。 (21)QQ音信 1、在官网上点祝福- 随便说说,留言2天不需要种子也可点亮。。 (22)QQ校友 注册或者找人邀请。 (23)搜吧 1、登录搜吧后,在搜吧首页右上角的个人信息框中可以看到“点亮搜吧图标”按钮,点击该按钮进入设置页面。2、如果选择“点亮”并勾选“订阅搜吧日刊”,点击“保存设置”按钮,那么点亮搜吧图标,同时订阅搜吧日刊;如果选择“点亮”未勾选“订阅搜吧日刊”,点击“保存设置”按钮,那么只点亮搜吧图标,不订阅搜吧日刊。 (24)QQ音乐 5天连续登录QQ音乐播放器就会自动点亮图标。 (25)QQ拼音 在QQ拼音登录后,才能开始累积积分;当积分超过300分,具备点亮图标的特权。点亮操作:点击QQ客户端上的QQ拼音图标,进入“我的QQ拼音”页面,点击“立即点亮”按钮,拼音图标就会在您的QQ客户端上亮起来。(注:目前只支持QQ2009正式版SP1及以上版本)
满意请采纳
关于EXCEL A列删除重复项并把相对于A列中B列数据求和的问题
先把你的数据排好序。就和你贴出来的这样。
然后按ALT+F11,进入VBE,假设你的表是sheet1,双击sheet1,复制下面的代码。
Sub bb()
Dim irow As Integer, icol As Integer
irow = ActiveSheet.UsedRange.Rows.Count
icol = 2
ActiveSheet.Range(ActiveSheet.Cells(1, icol + 1), ActiveSheet.Cells(2, icol + 2)).ClearContents
Application.ScreenUpdating = False
Dim k As Integer
Dim c As Range
With ActiveSheet
k = 3
.Range(.Cells(1, icol + 1), .Cells(2, icol + 2)).Value = .Range("A1:B2").Value
For Each c In .Range(.Cells(3, 1), .Cells(irow, 1))
If StrComp(c.Text, .Cells(k - 1, icol + 1).Text, vbTextCompare) 0 Then
.Cells(k, icol + 1).Value = c.Value
.Cells(k, icol + 2).Value = c.Offset(0, 1).Value
k = k + 1
Else
.Cells(k - 1, icol + 2).Value = .Cells(k - 1, icol + 2).Value + c.Offset(0, 1).Value
End If
Next
End With
Application.ScreenUpdating = True
End Sub
关闭VBE,回到sheet1,按ALT+F8
选择bb执行即可
rtemp; strtemp.Format("单击的是第%d行第%d列", pNMListView-iItem, pNMListView-iSubItem); AfxM
MB/月即可 (7)QQ问问 登录问问,输入QQ号码登录后,在网页右上角选择“我的问问”,进入后在网页左边栏目里选择“我的设置”,最后在“是否在QQ上显示问问图标及我的问题”的选项中选择“打开”即可。 (8)腾讯拍拍网卖家 通过卖家认证交20RMB保证金 (9)
l); ::SendMessage(list.m_hWnd, LVM_SETIMAGELIST, (WPARAM)LVSIL_NORMAL, (LPAR
Range("a15").Text写代码,会把数字看做是文本格式' 而文本当然更当做是文本格式了。' 显然这样数字和文本区分不开,因此,改用Range("a15")i = Range("a15")
交易成功后用户重新登录QQ即可显示图标。 (16)QQLIVE 登陆达到90小时即可 (17)QQ书签 1、新的QQ书签用户,书签公开收藏数达到或者超过10条即可;2、如果你在更新QQ