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, 5927 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.

Mit freundlichen Grüßen

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
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(2)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...