Hur visar jag det första objektet i listrutan istället för tomt?
Listrutan i ett kalkylblad kan hjälpa oss att göra datainmatning enklare, vi behöver bara välja objekten utan att skriva dem en efter en. Men någon gång, när du klickar på rullgardinsmenyn, hoppar den till de tomma objekten först i stället för det första dataobjektet som följande skärmdump visas, detta kan bero på att radera källdata i slutet av listan. Det kan vara irriterande att du måste bläddra tillbaka till toppen av en lång lista för varje tom datavalideringscell. Den här artikeln kommer jag att prata om hur man alltid visar det första objektet i listrutan.
Visa det första objektet i listrutan istället för tomt med funktionen Data Validation
Visa automatiskt det första objektet i listrutan istället för tomt med VBA-kod
Visa det första objektet i listrutan istället för tomt med funktionen Data Validation
För att uppnå detta jobb behöver du faktiskt bara använda en specifik formel när du skapar en rullgardinslista, gör så här:
1. Markera cellerna där du vill infoga listrutan och klicka Data > Datagransknings > Datagransknings, se skärmdump:
2. I poppade ut Datagransknings under dialogrutan Inställningar fliken, välj Lista från Tillåt avsnitt och ange sedan denna formel: = OFFSET (Sheet3! $ A $ 1,0,0, COUNTA (Sheet3! $ A: $ A) -1,1) i Källa textruta, se skärmdump:
Anmärkningar: I denna formel, Sheet3 är kalkylbladet innehåller källdatalistan, och A1 är det första cellvärdet i listan.
3. Klicka sedan OK -knappen, nu när du klickar på rullgardinsmenyerna visas det första dataobjektet alltid överst om det finns cellvärden som raderas i slutet av källdata, se skärmdump:
Visa automatiskt det första objektet i listrutan istället för tomt med VBA-kod
Här kan jag också införa en VBA-kod som kan hjälpa dig att visa det första objektet i rullgardinslistan automatiskt när du klickar på datavalideringscellerna.
1. När du har infogat rullgardinsmenyn, välj fliken kalkylblad som innehåller rullgardinsmenyn och högerklicka för att välja Visa kod från snabbmenyn för att gå till Microsoft Visual Basic för applikationer och kopiera och klistra sedan in följande kod i modulen:
VBA-kod: Visa automatiskt det första dataobjektet i listrutan:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20160725
Dim xFormula As String
On Error GoTo Out:
xFormula = Target.Cells(1).Validation.Formula1
If Left(xFormula, 1) = "=" Then
Target.Cells(1) = Range(Mid(xFormula, 1)).Cells(1).Value
End If
Out:
End Sub
2. Spara och stäng sedan kodfönstret, och nu, när du klickar på rullgardinsmenyn, kommer det första dataobjektet att visas på en gång.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!