2.4k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Leute, da bin ich wieder :D

Ich habe ein kleines Problem, bei dem ich nicht weiterkomme...

Was habe ich?

1) Eine Mappe in der 5 Spalten sind mit Beschreibungen, in der A Spalte befinden sich Hyperlinks (lediglich die sind von Bedeutung für mich) die auf andere Excel Mappenverweisen

2) Eine Sammelmappe, in die 2 Datensätze geschrieben werden sollen (2 Spalten)

3) Unzählige (~400) Mappen, die genau gleich aufgebaut sind (Daten immer an ein und demselben Ort, jedoch unterschiedliche Daten)

Meine Aufgabe:

Ich möchte ein Makro schreiben, das mir einen Hyperlink nach dem anderen in der ersten Mappe öffnet, dann in die neu geöffnete Mappe wechselt, dort 2 Zellen in die Sammelmappe überträgt, die (durch den Hyperlink) geöffnete Mappe wieder schließt, speichert, zum nächsten Hyperlink übergeht, das ganze von vorne...

Solange bis alle Hyperlinks (A Spalte) durch sind.

Besonderheiten:
-) In der A Spalte kommen auch Zellen ohne Hyperlink vor, deren Inhalt soll er per MSGBox ausgeben und in der 2ten Mappe auf ein extra tabellenblatt schreiben. bei "OK" Klick soll er fortfahren.

-) In einer der beiden Zellen kann es sein das hin und wieder im Inhalt ein "/" auftaucht, ist dies der Fall, soll der erste Teil in eine extra (dritte) Spalte (Sammelmappe) geschrieben werden. Der Teil nach dem "/" soll in die 2te Spalte kommen (als ob kein "/" wäre und nur dieser Teil in der Zelle stehen würde)

Habe ich mein Problem nachvollziehbar geschildert? Ansonsten bitte nachfragen ;-)

Jmd ne idee?

Glg Holy

6 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Holy,

Hallo Leute, da bin ich wieder :D


..... also, was mich betrifft, so kann ich gut auf Dich verzichten.

Wer Fragen stellt, diese als supereilig proklamiert und auf gegebene Antworten dann dezent schweigt, hat bei mir keine Chance mehr.

Wenn Du das immer so machst, wird sich auch der letzte Helfer von Dir abwenden.

Gruß
Rainer
0 Punkte
Beantwortet von
OFFTOPIC

Hallo Rainer!

Ich weiß nicht womit ich dich gekränkt habe, aber in meinem vorherigen (und meinem ersten) Post hier, habe ich auf deinen Lösungsvorschlag sofort geantwortet, das dein Code mit Listbox auch funktioniert. Ich hatte mich da etwas unklar ausgedrückt, und ich gebe dir recht, so wie du mein problem interpretiert hast (und in diesem sinne auch gelöst) funktioniert es einwandfrei.

Und die Frage war eilig ...

Antwort 1 von fedjo vom 31.07.2011, 17:48
Antwort 2 von Holylon vom 31.07.2011, 18:02


Antwort 3 von rainberg vom 31.07.2011, 18:45
Antwort 4 von Holylon vom 31.07.2011, 21:13

War ich abendessen, sorry

Antwort 6 von rainberg vom 01.08.2011, 06:50
Antwort 7 von Holylon vom 01.08.2011, 07:02

Ich sehe da jetzt echt nicht so das große Problem bei meinen Antworten O.o

B2T:
Eine Starthilfe für mich wäre es schon wenn irgendjemand ne Idee hätte, wie man eben auf die erste Mappe zugreift (kann a uch schon geöffnet sein, wenns leichter ist) und dann nach dem kopieren der Daten die durch den HL geöffnete Mappe wieder schließt (das kopieren krieg ich schon hin, das öffnen mit HL glaub auch, nur das schließen der Mappe macht mir schwierigkeiten, da der Name ja nicht definierbar ist...)

lg Holy
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Holy,

Ich weiß nicht womit ich dich gekränkt habe, aber in meinem vorherigen (und meinem ersten) Post hier, habe ich auf deinen Lösungsvorschlag sofort geantwortet, das dein Code mit Listbox auch funktioniert.


www.supportnet.de/t/2382000

leider kann ich keine Reaktion Deinerseits auf mein Beispiel erkennen, oder bin ich etwa blind.


Gruß
Rainer
0 Punkte
Beantwortet von
Hallo rainer.

Achja, die Frage hatt eich ganz vergessen. Stimmt, ich hab deine Lösung übernommen, und dann noch dran rumgewerkelt, anscheinend damit vergessen dir zu danken.

Hol ich hiermit nach. Schade das keiner weiß wie das mit den Hyperlinks geht... händisch is das schon ne ganze Menge Arbeit -.-

Lg Holy
0 Punkte
Beantwortet von
Hallo Leute

Habe zusammen mit Dr Google und riesigem Zeitaufwand (rückblickend betrachtet ein Armutszeichen) ein definitiv nicht sauber programmiertes Makro erstellt, das mir meine Wünsche weithingehend erfüllt.

Es gibt jedoch noch eine Sache die fehlt und einen Fehler, für den ich zu doof bin um ihn auszumerzen.

Fehlend: Besonderheit 1. Also das er mir die Zellen die keinen (oder einen fehlerhaften, toten) Hyperlink haben in eine extra Spalte schreibt.

Fehler: Zellen ohne Hyperlinks überspringt er wie gewünscht, trifft er jedoch auf einen toten (fehlerhaften), so kommt ein Error (den ich komischerweise nicht mit "On error goto Fehler") beseitigen kann.

hier mein Code

Sub Daten_einschreiben()
Application.ScreenUpdating = False

Dim i As Integer
Dim sngZeile As Single
Dim strZelle As String
Dim strName As String
Dim strSAPNr As String
Dim strZNr As String
Dim strZStd As String
Dim strRevNr As String
Dim strTemp As String

sngZeile = 2


For i = 9 To 500
Windows("Linkmappe.xls").Activate
strZelle = "c" + CStr(i)
Range(strZelle).Select
If ActiveCell.Hyperlinks.Count = 0 Then
GoTo FEHLER
End If
On Error GoTo FEHLER
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

Sheets("Datenblatt").Select
strName = Range("D5")
strSAPNr = Range("D4")
strZNr = Range("M5")
strTemp = Range("U5")
strZStd = Range("U5")

If InStr(1, strTemp, "/") Then
strRevNr = Left(strTemp, InStr(1, strTemp, "/") - 1)
strZStd = Right(strTemp, Len(strTemp) - InStr(1, strTemp, "/"))
End If

Call Mappenschließer
sngZeile = sngZeile + 1
Windows("Sammelmappe.xlsm").Activate
strZelle = "B" + CStr(sngZeile)
Range(strZelle) = strSAPNr
strZelle = "C" + CStr(sngZeile)
Range(strZelle) = strZNr
strZelle = "D" + CStr(sngZeile)
Range(strZelle) = strName
strZelle = "E" + CStr(sngZeile)
Range(strZelle) = strRevNr
strZelle = "F" + CStr(sngZeile)
Range(strZelle) = strZStd

FEHLER:

Next i



Application.ScreenUpdating = True
End Sub

Sub Mappenschließer()

Application.ScreenUpdating = False

Dim Mappe As Workbook
Dim i As Integer
i = 1
For Each Mappe In Workbooks
If Mappe.Name <> "Sammelmappe.xlsm" And Mappe.Name <> "Linkmappe.xls" Then

Mappe.Activate
ActiveWorkbook.Close True

End If
i = i + 1
Next Mappe


jemand dazu eine idee?

Lg Holy
0 Punkte
Beantwortet von
Hallo Leute

Kann mir keiner schnell sagen wie man einen fehlerhaften Link überspringt? also das er den dan auslässt, und nich debuggen will?

Ich kann das Problem nicht lösen, und im Internet find ich auch nichts :/ Ich wär euch für eine Lösung sehr dankbar ...

LG
...