Jak automatycznie scalić puste komórki powyżej / po lewej w programie Excel?
W tym artykule będę mówić o automatycznym scalaniu pustych komórek powyżej lub lewej, jak pokazano poniżej. Właściwie nie ma wbudowanego narzędzia, które mogłoby obsłużyć to zadanie, ale kody makr mogą.
Połącz puste miejsca powyżej | ||
Połącz puste miejsca | ||
Scal puste komórki powyżej na podstawie kolumny
Scal puste komórki powyżej (działa tylko dla jednej kolumny)
Scal puste komórki po lewej stronie
Scal puste komórki powyżej na podstawie kolumny
Przypuśćmy, że istnieje zakres danych w trzech kolumnach, a teraz chcesz scalić powyższe dane na podstawie kolumny C.
1. naciśnij Alt + F11 tyseys, aby włączyć Microsoft Visual Basic for Applications okno i kliknij wstawka > Moduł. Zobacz zrzut ekranu:
2. Następnie wklej poniższy kod do pustego skryptu. Zobacz zrzut ekranu:
VBA: Scal puste powyżej na podstawie następnej kolumny
Sub MergeCells()
'UpdatebyExtendoffice2017025
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xCell.Value = "" Then
Range(xCell, xCell.Offset(-1, 0)).Merge
End If
Next
End Sub
3. naciśnij F5 , aby uruchomić kod, a następnie wyskakuje okno dialogowe przypominające o wybraniu zakresu do pracy. Zobacz zrzut ekranu:
4. kliknij OK, to puste komórki zostały scalone powyżej. Zobacz zrzut ekranu:
Scal puste komórki powyżej (działa tylko dla jednej kolumny)
Oto kod makra, który może scalić puste komórki powyżej w określonej kolumnie.
1. naciśnij Alt + F11 klawisze, aby włączyć Microsoft Visual Basic for Applications okno i kliknij wstawka > Moduł. Zobacz zrzut ekranu:
2. Wklej poniższy kod do skryptu. Zobacz zrzut ekranu:
VBA: Scal puste komórki powyżej
Sub mergeblankswithabove()
'UpdatebyExtendoffice20171025
Dim I As Long
Dim xRow As Long
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range (single column):", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Then
MsgBox "Only work for single column", , "KuTools For Excel"
Exit Sub
End If
xRow = xRg.Rows.Count
Set xRg = xRg(xRow)
For I = xRow To 1 Step -1
Set xCell = xRg.Offset(I - xRow, 0)
Debug.Print xCell.Address
If xCell.Value = "" Then Range(xCell, xCell.Offset(-1, 0)).Merge
Next
End Sub
3. naciśnij F5 klawisz, aby uruchomić kod, i pojawi się okno dialogowe, w którym można wybrać zakres kolumn. Zobacz zrzut ekranu:
4. Kliknij OK. Puste komórki w zaznaczeniu zostały scalone powyżej.
Scal puste komórki po lewej stronie
Jeśli chcesz scalić puste komórki po lewej stronie, poniższy kod może wyświadczyć ci przysługę.
1. naciśnij Alt + F11 klawisze, aby włączyć Microsoft Visual Basic w oknie Aplikacje i kliknij wstawka > Moduł. Zobacz zrzut ekranu:
2. Następnie wklej poniższy kod do pustego skryptu. Zobacz zrzut ekranu:
VBA: Połącz puste miejsca
Sub mergeblankswithleft()
'UpdatebyExtendoffice20171025
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xCell.Value = "" Then Range(xCell, xCell.Offset(0, -1)).Merge
Next
End Sub
3. naciśnij F5 klawisz, aby uruchomić kod, i pojawi się okno dialogowe, w którym można wybrać zakres. Zobacz zrzut ekranu:
4. kliknij OK. Puste komórki zostały scalone po lewej stronie.
Połącz puste miejsca | ||
Scal te same komórki lub rozłącz komórkę
|
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!