Jak uzyskać numer kolumny od nazwy kolumny w programie Excel przy użyciu makra programu Excel?Numer kolumny w programie Excel od nazwy kolumny
Odpowiedz
Myślę, że chcesz tego?
Nazwa kolumny na numer kolumny
Sub Sample()
ColName = "C"
Debug.Print Range(ColName & 1).Column
End Sub
Edycja: w tym również na odwrót, co chcesz
Numer kolumny do kolumny Nazwa
Sub Sample()
ColNo = 3
Debug.Print Split(Cells(, ColNo).Address, "$")(1)
End Sub
FOLLOW UP
jak jeśli mam pole wynagrodzenia na samej górze powiedzmy na komórki C (1,1) i zmienia się, jeżeli plik i przesunięcia kolumny korygującym do jakiegoś innego miejsca powiedzieć F (1 1) wtedy będę musiał zmodyfikować kod, więc chcę, aby kod sprawdził Wynagrodzenie i znaleźć numer kolumny, a następnie wykonać pozostałe operacje zgodnie z tym numerem kolumny.
W takim przypadku polecam korzystania .FIND
Zobacz przykład poniżej
Option Explicit
Sub Sample()
Dim strSearch As String
Dim aCell As Range
strSearch = "Salary"
Set aCell = Sheet1.Rows(1).Find(What:=strSearch, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not aCell Is Nothing Then
MsgBox "Value Found in Cell " & aCell.Address & _
" and the Cell Column Number is " & aCell.Column
End If
End Sub
SNAPSHOT
+1 Wielkie oko za szczegóły jak zwykle :) –
jakbym miał pole wynagrodzenia na samej górze, powiedzmy na komórce C (1,1) teraz, jeśli zmienię kolumnę płac i przesunięcie pensji do jakiegoś innego miejsca powiedzmy F (1,1), wtedy będę musiał zmodyfikować kod, więc chcę, żeby kod sprawdził Wynagrodzenie i znajdował numer kolumny, a następnie wykonał resztę operacji zgodnie z tym numerem kolumny. –
@Paritosh Ahuja: Zaktualizowałem wpis. –
Podczas gdy szukaliśmy rozwiązania VBA, to był moim najlepszym wynikiem w Google, gdy szukał rozwiązania z formułą, więc dodam to dla każdego, kto tu przyszedł, tak jak ja:
Formularz programu Excel do zwrócenia numeru z kolumny kolumny (od @A. Komentarz klomp za wyżej), gdzie komórka A1 posiada swój list kolumny (s):
= kolumna (pośredni (A1 & "1"))
Ponieważ funkcja pośrednia jest lotny, to przelicza ilekroć każda komórka zostanie zmieniona, więc jeśli masz ich dużo, może spowolnić twój skoroszyt. Rozważmy inne rozwiązanie, takie jak funkcja "kodu", która podaje numer dla znaku ASCII, zaczynając od "A" na poziomie 65. Pamiętaj, że aby to zrobić, musisz sprawdzić, ile cyfr znajduje się w nazwie kolumny, oraz zmienić wynik w zależności od "A", "BB" lub "CCC".
formułaExcel, aby powrócić list kolumny z numerem (Z tym poprzednim pytaniu How to convert a column number (eg. 127) into an excel column (eg. AA) odpowiedział przez @Ian), gdzie A1 posiada swój numer kolumna:
= Zastępca (adres (1, A1 , 4), "1", "")
Należy pamiętać, że obie te metody działają niezależnie od liczby liter w nazwie kolumny.
Mam nadzieję, że to pomoże komuś innemu.
@ExcelHero Brakuje ci punktu powyższego - w moich rozwiązaniach komórka A1 * zawiera * kolumnę Letter/Number. Twoje rozwiązanie koduje rozwiązanie, aby przekonwertować "A" na 1 lub 1 na "A". Moja wersja pokazuje po prostu, jak to zrobić dynamicznie (chociaż jeśli chcesz kodować, tak, to też możliwe).Wejdź i naprawdę wypróbuj je sam, ponieważ potwierdziłem, że działają. –
Można pominąć to wszystko i po prostu umieścić swoje dane w tabeli. Odwołaj się do tabeli i nagłówka, a będzie on całkowicie dynamiczny. Wiem, że to jest od 3 lat temu, ale ktoś może nadal uważać to za przydatne.
Przykładowy kod:
Activesheet.Range("TableName[ColumnName]").Copy
Można również użyć:
activesheet.listobjects("TableName[ColumnName]").Copy
Można nawet korzystać z tego systemu referencyjnego w formułach arkusza, jak również. Jest bardzo dynamiczny.
Mam nadzieję, że to pomoże!
Zapis i uruchom następujący kod w oknie Immediate
?cells(,"type the column name here").column
Na przykład ?cells(,"BYL").column
powróci 2014. Kod jest wielkość liter, a więc można napisać ?cells(,"byl").column
a wyjście będzie nadal taka sama.
Moim zdaniem najprostszy sposób, aby uzyskać numer kolumny wynosi:
Sub Sample() ColName = ActiveCell.Column MsgBox ColName End Sub
- 1. Jak dynamicznie wstawiać kolumny w programie Excel?
- 2. Suma całej kolumny w programie Excel z wyjątkiem niektórych wierszy
- 3. Łatwy sposób generowania kolumny nazwy ślimaka z kolumny nazwy?
- 4. Get numer kolumny w R podano nazwę kolumny
- 5. MySQL - Zmiana nazwy kolumny
- 6. Epplus znajdź kolumnę przy użyciu nazwy kolumny
- 7. Odniesienie do zakresu przy użyciu kolumny numer
- 8. Zdobądź indeks kolumny z nazwy kolumny w pand Pythona
- 9. Excel VBA do wybierania całej kolumny zaczynając od określonej komórki
- 10. Jak uzyskać od kolumny "pyspark.sql.types.Row" wszystkie nazwy kolumn/atrybutów?
- 11. cofnięcie wyboru kolumny według nazwy, R
- 12. Zmiana nazwy kolumny w Oracle w SELECT
- 13. wybrać różne wartości od 1 kolumny
- 14. MongoDB: zmiana nazwy kolumny nazwisko w kolekcji
- 15. Jak aliasu nazwy kolumny w wymowny
- 16. Maksymalna długość nazwy kolumny w MySQL
- 17. użyć jQuery dynamicznie kolumny numer tabeli przekątnej
- 18. połączenie numer kolumny o te same wartości
- 19. Określ numer wiersza i kolumny dla UICollectionView
- 20. Uzyskaj indeks kolumny komórki w programie Excel przy użyciu OpenXML C#
- 21. Jak zaimportować dane programu Excel do wersji R przy użyciu nazwy kolumny i jej nazwy
- 22. SQL nazwy Wybór kolumny jako wartości
- 23. Excel - Jak usunąć elementy z kolumny 1 z kolumny 2 i umieścić wyniki w kolumnie 3?
- 24. Pomijanie kolumny w FileHelper
- 25. Jak znaleźć numer wiersza i kolumny komórki w tabeli
- 26. PHPExcel pobiera nazwę kolumny względem podanej kolumny
- 27. Jak ustawić szerokość kolumny PHPExcel auto-kolumny
- 28. Dane sprężyny + hibernacja używa niewłaściwej nazwy kolumny
- 29. R dostępu do wektora kolumny macierzy nazwy
- 30. TSQL: zamówienie przez asc bez nazwy kolumny
mają wyglądać na to pytanie: http://stackoverflow.com/q/22708/390819 Jest to rozwiązanie VBA tam – GolfWolf
Kolumna nazwa jak w liście lub jak w nagłówku? – Fionnuala
@wolf: To jest odwrotność tego, co OP chce :) –