Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA Ermittel Letzte Spalte und Zeile mit Inhalt

Frage Entwicklung VB for Applications

Mitglied: Phoboz

Phoboz (Level 1) - Jetzt verbinden

27.02.2013, aktualisiert 28.02.2013, 6029 Aufrufe, 4 Kommentare

Hallo,

hab meinen Ansatz zur zeit auf einem anderen Rechner, kann den Code jetzt grade nicht posten, aber zur Aufgabe. Vllt. kann mir auch so einer helfen.

Also ich kriege ein Excel-Datei zugeschickt.
Zuerst muss ich einmal raufinden bis zu welcher Spalte in Zeile 1 das Sheet geht z.B bis Z, weil danach alle Zellen leer sind.

am besten wäre wenn er mir diese Spalten noch zählt z.B ist gleich 26

Das gleiche muss ich auch für die Zeile haben.


Grüße

Phoboz
Mitglied: LordXearo
27.02.2013 um 14:13 Uhr
Hi,

du kannst in EXCEL VBA die "Worksheet" Funktionen nutzen. Du selektierst von A1 bis XYZ1 und nutzt die Count Funktion. In jeder Spalte in der sich ein Wert befindet zählt Count +1.

So könntest du rausfinden wieviele Spalten genutzt werden. Vorrausgesetzt dazwischen ist keine leere Spalte.

Mfg

Xearo
Bitte warten ..
Mitglied: TsukiSan
28.02.2013, aktualisiert 01.03.2013
Hallo Phoboz,

in Excel kannst du mit
01.
MsgBox "Reihe:" & Selection.Row & vbCrLf & "Spalte:" & Selection.Column
die aktuelle Position ermitteln, also Reihe und Spalte.

Mit der
01.
Selection.End(xlToRight).Select 
02.
    ' & 
03.
Selection.End(xlToLeft).Select 
04.
 
05.
'oder 
06.
Selection.End(xlDown).Select 
07.
    ' & 
08.
Selection.End(xlUp).Select
kannst du jeweils immer in die letzte Zeile, bzw. Spalte springen oder wieder zurück.
das hat aber kleine "Häkchen und Öschen"

Gruss
Tsuki
Bitte warten ..
Mitglied: Phoboz
28.02.2013, aktualisiert um 08:11 Uhr
Hallo,

danke für die Antworten bin jetzt soweit:

Ich wähle die Datei aus, die er öffnen soll.
Anschließend soll er in diese Datei gehen und mir in Worksheet(1) die Sachen zählen.

Wie mache ich das jedoch, muss ja iwo Activesheet.Worksheet(1) vorschreiben.

Brauch jetzt iwie was, wie ich ihm sage AusgeählteDatei.AktiveWorkbook.Worksheet(1). Kann ich sowas vor Cells.Find oder Range schreiben?
Hier der Code, der Code funktioniert bis zum "with" da brauch ich eure Hilfe, ich denke auch wenn der Code falsch ist, sagter aus, was ich haben möchte

01.
Sub HCMS() 
02.
 
03.
Dim filePath As String 
04.
Dim lastColumn As Integer 
05.
Dim lasRow As Integer 
06.
 
07.
'Open excel-file 
08.
MsgBox "Bitte wählen Sie eine xls.Datei aus." 
09.
 filePath = Application.GetOpenFilename 
10.
 
11.
Set wkS = Workbooks.Open(filePath).Sheets(1) 
12.
       
13.
With wkS 
14.
lastColumn = .Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column 
15.
 MsgBox lastColumn 
16.
Lastrow = .Range("A65536").End(xlUp).Offset(1, 0).Row - 1 
17.
 MsgBox Lastrow 
18.
 End With 
19.
  
20.
End Sub
Bitte warten ..
Mitglied: TsukiSan
01.03.2013 um 07:05 Uhr
Hallo Phoboz,

ich würde vorschlagen, dir erst einmal verschiedene Informationen zu verinnerlichen.
Schau mal hier oder hier oder auch hier.

Ich denke, dann hast du schnell deine Aufgabenstellung alleine gelöst und kannst da ganz zufrieden mit dem Ergebnis sein!

Gruss
Tsuki
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(1)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel: Wenn Wert in Spalte A dann kopiere Zeile (8)

Frage von michi1983 zum Thema Microsoft Office ...

Batch & Shell
Bei copy aus FOR Schleife wird letzte Zeile abgeschnitten

Frage von miczar zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (32)

Frage von Winuser zum Thema Hyper-V ...

Linux Netzwerk
gelöst DHCP vergibt keine Adressen (30)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...