Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1572to1576
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Rows.Count ignoriert leere Zeilen dazwischen

Rows.Count ignoriert leere Zeilen dazwischen
23.08.2017 09:32:30
FelixZ
Guten Morgen alle Zusammen,
ich habe folgendes Problem und danke schon mal vorab für Eure kompetente Hilfe.
Dieses Makro steht in einem Workbook und soll in einem anderen Workbook einen Hyperlink erstellen, welches auf das Workbook verlinkt wo das Makro drinsteht.
Das klappt auch alles so wie ich will, nur soll der Hyperlink in der ersten leeren Zeile erstellt werden. Das klappt allerdings nur bedingt, dann wenn dazwischen leere Zeilen sind ignoriert mein Rows.Count leider diese und setzt den Hyperlink hinter der zuletzt beschriebenen Zeile.
Beinhaltet zum Beispiel in Spalte A die Zeile 1 und 2 sowie 4 und 5 Werte, setzt mein Makro den Hyperink nicht wie gewünscht in Zeile 3, sondern in Zeile 6.
Anbei mein Makro mit dem nicht optimalen Rows.Count:
Sub Hyperlink_in_Zelle()
Dim leereZeile As Integer
Dim WbAct As Workbook
Dim WsZiel As Worksheet
Workbooks.Open Filename:= _
"R:\PS1\PS13\Aufgabenverteilung\HC_support\ _
CD2_GPS_Planning_2018_based_on_template_201708\DataPool\DataPool_Zimmer_Draft_20170823.xlsm"
Set WbAct = ActiveWorkbook
Set WsZiel = WbAct.Worksheets(1)
leereZeile = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
WsZiel.Hyperlinks.Add Anchor:=Cells(leereZeile, 3), Address:=ThisWorkbook.Path & "\" &  _
ThisWorkbook.Name
End Sub
Viele Grüße
Felix

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
... End(xlDown).Offset(1, 0) ...
23.08.2017 09:40:34
Matthias
Hall Felix
So findest Du die Zell-Adresse
MsgBox Cells(1, 1).End(xlDown).Offset(1, 0).Address
Gruß Matthias
Eigenart von End()
23.08.2017 09:53:07
End()
Hallo MatthiasL,
wenn Zeile 2 leer ist, landet End bei der nächsten gefüllten, z.B. in Zeile 1000, wobei 2:999 leer. Daher muss Zeile 2 manuell abgefragt werden, ob es leer ist.
Möglichkeit für Deine Lösung: Zeile 1 und 2 sind NIE leer.
Danke lupo1 ...
23.08.2017 10:01:13
Matthias
Hallo,
ist mir noch nie aufgefallen.
Danke fü Deinen Hinweis.
Gruß Matthias
AW: Danke lupo1 ...
23.08.2017 11:06:40
FelixZ
Hallo nochmal,
danke Matthias jetzt wird auf jeden Fall schon mal die richtige leere Zeile gefunden.
Nach rumprobieren konnte ich jetzt das Makro so zum laufen bringen, dass zumindest immer in der Spalte A der reihe nach ein Link in der ersten leeren Zeile erstellt wird.
Richtig ist, dass auch die Spalte A überprüft wird, allerdings hätte ich ja den Link gerne in der Spalte C, das ist mir leider "noch" nicht gelungen.
Ich schaffe es nämlich nicht die Variable "leereZeile" richtig zu verwenden. ich hätte den Link nämlich lieber so platziert: Anchor:=Cells(leereZeile, 3).
Außerdem hätte ich jetzt gerne auch in der richtigen leeren Zeile neben dem Link in Spalte A und B noch 2 Werte aus dem Workbook kopiert wo der Code drin steht.
Auch das schaffe ich leider nicht, weil ich offenbar "leereZeile" nicht richtig verwende.
Ich habe mal den Bereich auskommentiert, wo ich das mal versucht hab und wie gesagt schaffe ich es aktuell nur den Link im selektierten Bereich zu platzieren, siehe Makro.
Ich hoffe mir kann jemand damit noch weiterhelfen:
Sub Hyperlink_in_Zelle()
Dim WbQuelle As Workbook
Dim WsQuelle As Worksheet
Dim leereZeile As Integer
Dim WbAct As Workbook
Dim WsZiel As Worksheet
Workbooks.Open Filename:= _
"R:\PS1\PS13\Aufgabenverteilung\HC_support\ _
CD2_GPS_Planning_2018_based_on_template_201708\DataPool\DataPool_Zimmer_Draft_20170823.xlsm"
Set WbAct = ActiveWorkbook
Set WsZiel = WbAct.Worksheets(1)
Set WbQuelle = ThisWorkbook
Set WsQuelle = WbQuelle.Worksheets(1)
leereZeile = Cells(1, 1).End(xlDown).Offset(1, 0).Select
'WsQuelle.Cells(3, 2).Copy
'WsZiel.Cells(leereZeile, 1).PasteSpecial xlValues
'WsQuelle.Cells(5, 2).Copy
'WsZiel.Cells(leereZeile, 2).PasteSpecial xlValues
WsZiel.Hyperlinks.Add Anchor:=Selection, Address:=ThisWorkbook.Path & "\" & ThisWorkbook. _
Name
End Sub

VG Felix
Anzeige
AW: Danke lupo1 ...
23.08.2017 11:09:16
FelixZ
Hallo nochmal,
danke Matthias jetzt wird auf jeden Fall schon mal die richtige leere Zeile gefunden.
Nach rumprobieren konnte ich jetzt das Makro so zum laufen bringen, dass zumindest immer in der Spalte A der reihe nach ein Link in der ersten leeren Zeile erstellt wird.
Richtig ist, dass auch die Spalte A überprüft wird, allerdings hätte ich ja den Link gerne in der Spalte C, das ist mir leider "noch" nicht gelungen.
Ich schaffe es nämlich nicht die Variable "leereZeile" richtig zu verwenden. ich hätte den Link nämlich lieber so platziert: Anchor:=Cells(leereZeile, 3).
Außerdem hätte ich jetzt gerne auch in der richtigen leeren Zeile neben dem Link in Spalte A und B noch 2 Werte aus dem Workbook kopiert wo der Code drin steht.
Auch das schaffe ich leider nicht, weil ich offenbar "leereZeile" nicht richtig verwende.
Ich habe mal den Bereich auskommentiert, wo ich das mal versucht hab und wie gesagt schaffe ich es aktuell nur den Link im selektierten Bereich zu platzieren, siehe Makro.
Ich hoffe mir kann jemand damit noch weiterhelfen:
Sub Hyperlink_in_Zelle()
Dim WbQuelle As Workbook
Dim WsQuelle As Worksheet
Dim leereZeile As Integer
Dim WbAct As Workbook
Dim WsZiel As Worksheet
Workbooks.Open Filename:= _
"R:\PS1\PS13\Aufgabenverteilung\HC_support\ _
CD2_GPS_Planning_2018_based_on_template_201708\DataPool\DataPool_Zimmer_Draft_20170823.xlsm"
Set WbAct = ActiveWorkbook
Set WsZiel = WbAct.Worksheets(1)
Set WbQuelle = ThisWorkbook
Set WsQuelle = WbQuelle.Worksheets(1)
leereZeile = Cells(1, 1).End(xlDown).Offset(1, 0).Select
'WsQuelle.Cells(3, 2).Copy
'WsZiel.Cells(leereZeile, 1).PasteSpecial xlValues
'WsQuelle.Cells(5, 2).Copy
'WsZiel.Cells(leereZeile, 2).PasteSpecial xlValues
WsZiel.Hyperlinks.Add Anchor:=Selection, Address:=ThisWorkbook.Path & "\" & ThisWorkbook. _
Name
End Sub
VG Felix
Anzeige
AW: Hyperlink+Werte einfügen in Externe Datei
23.08.2017 17:06:52
fcs
Hallo Felix,
sollte dann so funktionieren.
Gruß
Franz
Sub Hyperlink_in_Zelle()
Dim WbQuelle As Workbook
Dim WsQuelle As Worksheet
Dim leereZeile As Integer
Dim WbAct As Workbook
Dim WsZiel As Worksheet
Set WbAct = Workbooks.Open(Filename:="R:\PS1\PS13\Aufgabenverteilung\HC_support\" _
& "CD2_GPS_Planning_2018_based_on_template_201708\DataPool\" _
& "DataPool_Zimmer_Draft_20170823.xlsm")
'  Set WbAct = ActiveWorkbook
Set WsZiel = WbAct.Worksheets(1)
Set WbQuelle = ThisWorkbook
Set WsQuelle = WbQuelle.Worksheets(1)
With WsZiel
leereZeile = .Cells(1, 1).End(xlDown).Offset(1, 0).Row
.Cells(leereZeile, 1).Value = WsQuelle.Cells(3, 2).Value
.Cells(leereZeile, 2).Value = WsQuelle.Cells(5, 2).Value
.Hyperlinks.Add Anchor:=.Cells(leereZeile, 3), _
Address:=ThisWorkbook.Path & "\" & ThisWorkbook.Name
End With
End Sub

Anzeige
vielleicht mit drei Ausgängen
23.08.2017 09:50:36
lupo1
leereZeile = IIf(IsEmpty(Sheets(1).Cells(2, 1)), 2, IIf(Sheets(1).Cells(1, 1).End(xlDown).Row = 2, 3, Sheets(1).Cells(1, 1).End(xlDown).Row + 1))
Zwei reichen
23.08.2017 09:59:33
lupo1
leereZeile = IIf(IsEmpty(Sheets(1).Cells(2, 1)), 2, Sheets(1).Cells(1, 1).End(xlDown).Row + 1)
AW: vielleicht mit drei Ausgängen
23.08.2017 10:10:07
FelixZ
Vielen Dank schon mal für die schnellen Antworten :)
ich probiere grad mal alles aus und würde dann ein neues Makro hochladen

208 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige