Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
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

ISIN prüfen + abspeichern

ISIN prüfen + abspeichern
27.02.2017 20:52:05
Claudia
Guten Abend zusammen,
vllt kann mir jemand bei folgendes Helfen:
Im Tabellenblatt 1 befindet sich in C4 eine ISIN, in C3 der Produktname. Das Makro muss erkennen ob die ISIN vom Aufbau passt, wenn nicht dann Msgbox "Achtung, ISIN ungültig" und danach abbrechen.
Die ISIN ist ein 12 Zeichen langer alphanumerischer Code. Er besteht aus drei Teilen: Einem zweistelligen Ländercode, einer neunstelligen alpha-numerischen Wertpapierkennummer und einer Prüfziffer, z. B so: DE000A1EWWW0
Falls die ISIN ok, dann muss das Makro die Datei abspeichern unter: C:\Users\Claudia_PC\Desktop\Ordner. Wichtig für den Namen ist, dass Dateiname aus ISIN (aus C4) und Produktname (aus C3) besteht, z.B so: DE000A1EWWW0_Adidas
lieben Dank für eure Hilfe,
Claudia

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ISIN prüfen + abspeichern
27.02.2017 23:26:05
Anton
Hi Claudia,
evtl. hilft Dir folgendes Makro weiter:
Sub ASINPrüfen()
Dim rngPName As Range
Dim rngISIN As Range
Dim regex As Object
Dim wksBlatt As Worksheet
Dim wkbMappe As Workbook
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
Set regex = CreateObject("vbscript.regexp")
With regex
.Pattern = "^[A-Z]{2}[A-Z0-9]{9}[0-9]"
.Global = False
End With
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Bitte Excel-File auswählen"
.AllowMultiSelect = False
.Filters.Add "Excel-File", "*.xlsx"
.ButtonName = "Auswählen"
If .Show Then
Filename = .SelectedItems(1)
Workbooks.Open Filename
Set wkbMappe = ActiveWorkbook
Else
MsgBox "Nichts ausgewählt!"
End If
End With
Set wksBlatt = wkbMappe.Worksheets("Tabelle1") 'Tabellenblatt anpassen
With wksBlatt
Set rngPName = .Range("C3")
Set rngISIN = .Range("C4")
If IsEmpty(rngISIN) = False Then
If regex.test(rngISIN) Then
wkbMappe.SaveAs " C:\Users\Claudia_PC\Desktop\Ordner\" & rngISIN.Value & "_" _
& rngPName
wkbMappe.Close
Else
MsgBox "Achtung, ISIN ungültig"
Exit Sub
End If
Else
Exit Sub
End If
End With
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub
Einfach in ein Modul einer Excel-Mappe Deiner Wahl kopieren. Beim Ausführen erscheint ein Auswahlfenster mit dem Du Deine gewünscht Datei auswählen kannst. Die Regexp Bibliothek sollte unter Verweise vorher noch aktiviert werden.
VG Anton
Anzeige
AW: ISIN prüfen + abspeichern
28.02.2017 23:00:18
Claudia
Hallo lieber Anton,
wahnsinn das klappt super! Er erkennt wenn die ISIN ungültig ist. Nur ich musste erstmal googlen was überhaupt "Regexp Bibliothek sollte unter Verweise" bedeutet ;-). Gemäß googel muss das häckchen bei Microsoft VBScript Regular Expressions 5.5 aktiviert sein. Hoffe es war das was du geschrieben hast.
Eine bitte noch: Ich möchte das Makro bei mir in Excel als Symbol-leiste hinzufügen. Die Excel-Dateien öffne ich manuell und klicke dann aufs Makro-Symbol, dann sollte er mit der Arbeit starten. Könntest du das bitte noch anpassen, damit er nicht auf Datei öffnen und wählen geht, sondern gleich arbeitet?
merci ;-)
Claudia
Anzeige
AW: ISIN prüfen + abspeichern
28.02.2017 23:25:03
Claudia
.
AW: ISIN prüfen + abspeichern
01.03.2017 03:50:48
littletramp
Hallo Claudia
Mit der verwendeten Regex-Prüfung wird nur kontrolliert, ob das Muster (Pattern) eingehalten ist. Dies heisst aber noch lange nicht, dass die ISIN korrekt ist (Ländercode und Prüfziffer werden nicht kontrolliert).
Gib mal XXXXXXXXXXX0 als ISIN ein. Ich versichere dir, dass dies keine korrekte ISIN ist, aber Antons Code wird diese als korrekt taxieren (Sorry Anton, dies ist nicht böse gemeint).
Ich habe dir hier eine Mappe hochgeladen, mit 2 Modulen https://www.herber.de/bbs/user/111852.xlsm
Beachte, dass das Modul modISIN unter GNU-Lizenz steht (lies Kommentar am Anfang des Moduls).
Code in modIsinPruefenUndSpeichern:
Option Explicit
Public Sub ISINPrüfenUndMappeSpeichern()
Dim strProdukt As String
Dim strIsin As String
Dim strDatei As String
Const cPath = "C:\Users\Claudia_PC\Desktop\Ordner\"
If ActiveWorkbook Is ThisWorkbook Then
MsgBox "Dies ist die Mappe mit dem Code!" & vbLf & vbLf _
& "Sie kann mit diesem Makro nicht" & vbLf _
& "gespeichert werden!", vbExclamation
Exit Sub
End If
strProdukt = Range("C3").Value
strIsin = Range("C4").Value
strDatei = cPath & strIsin & "_" & strProdukt & ".xlsx"
If IsIsin(strIsin) Then
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=strDatei, ConflictResolution:=xlUserResolution
If Err.Number  0 Then
MsgBox "Die Datei wurde nicht gespeichert!", vbInformation
End If
On Error GoTo 0
Else
MsgBox "Die ISIN ist ungültig!"
End If
End Sub
Code in modISIN:
Option Explicit
' Quelle:
' http://www.jdawiseman.com/papers/ _
trivia/isin.html
' The code was written for Microsoft Excel, though should work in
' Access if prefixed with a line “Attribute VB_Name = "modIsin"”.
' The original was © Julian D. A. Wiseman 2006 and 2007, though in
' 2009 was modified by Patrick Honorez of www.idevlop.com, primarily
' to replace Excel-specific code with more general code and to add
' the function IsIsin, and then further modified by Julian D.A.Wiseman.
' It may be distributed under the terms of the GNU General Public License.
' Occasionally kCountries3166 will need to be extended.
Const kCountries3166 = "AD;AE;AF;AG;AI;AL;AM;AN;AO;AQ;AR;AS;AT;AU;" _
& "AW;AX;AZ;BA;BB;BD;BE;BF;BG;BH;BI;BJ;BL;BM;" _
& "BN;BO;BR;BS;BT;BV;BW;BY;BZ;CA;CC;CD;CF;CG;" _
& "CH;CI;CK;CL;CM;CN;CO;CR;CU;CV;CX;CY;CZ;DE;" _
& "DJ;DK;DM;DO;DZ;EC;EE;EG;EH;ER;ES;ET;FI;FJ;" _
& "FK;FM;FO;FR;GA;GB;GD;GE;GF;GG;GH;GI;GL;GM;" _
& "GN;GP;GQ;GR;GS;GT;GU;GW;GY;HK;HM;HN;HR;HT;" _
& "HU;ID;IE;IL;IM;IN;IO;IQ;IR;IS;IT;JE;JM;JO;" _
& "JP;KE;KG;KH;KI;KM;KN;KP;KR;KW;KY;KZ;LA;LB;" _
& "LC;LI;LK;LR;LS;LT;LU;LV;LY;MA;MC;MD;ME;MF;" _
& "MG;MH;MK;ML;MM;MN;MO;MP;MQ;MR;MS;MT;MU;MV;" _
& "MW;MX;MY;MZ;NA;NC;NE;NF;NG;NI;NL;NO;NP;NR;" _
& "NU;NZ;OM;PA;PE;PF;PG;PH;PK;PL;PM;PN;PR;PS;" _
& "PT;PW;PY;QA;RE;RO;RS;RU;RW;SA;SB;SC;SD;SE;" _
& "SG;SH;SI;SJ;SK;SL;SM;SN;SO;SR;ST;SV;SY;SZ;" _
& "TC;TD;TF;TG;TH;TJ;TK;TL;TM;TN;TO;TR;TT;TV;" _
& "TW;TZ;UA;UG;UM;US;UY;UZ;VA;VC;VE;VG;VI;VN;" _
& "VU;WF;WS;XS;YE;YT;ZA;ZM;ZW"
' Given the first eleven characters of an ISIN, this calculates the twelfth character, the  _
checksum.
' © Julian D. A. Wiseman 2006 to 2009; parts, including some de-Excel-isation, by and © Patrick  _
Honorez of www.idevlop.com.
' Believed correct. If it doesn’t always work then tough—it is free.
' Latest version available via http: _
//www.jdawiseman.com/papers/trivia/isin.html
Public Function IsIsin(ByVal strIsin As Variant, Optional strCountries As String =  _
kCountries3166) As Boolean
' Added by Patrick Honorez of www.idevlop.com
' Returns True if string looks like a valid ISIN, False otherwise
' Parameters: strIsin     :   ISIN to check, as a string (Null accepted)
'             strCountries:   optional list of countries. If not provided, default list will be  _
used.
'                             if provided with empty string, this check will be bypassed
' Note: some checks are redundant, but are there for speed.
Const kIsinLike = "[A-Z][A-Z]?[0-9]"
Dim strCheck As String
If IsNull(strIsin) Then Exit Function             ' Null values
If Len(strIsin)  12 Then Exit Function          ' Will return False
If Not strIsin Like kIsinLike Then Exit Function  ' Will return False
If Len(strCountries) > 0 Then                     ' Test country code ?
If InStr(1, strCountries, Left(strIsin, 2)) = 0 Then Exit Function
End If  ' Len(strCountries) > 0
strCheck = LastDigitISIN(Left(strIsin, 11))       ' Check digit
If Not strCheck Like "[0-9]" Then Exit Function   ' LastDigitIsin returned an error
If Right(strIsin, 1) = strCheck Then IsIsin = True
End Function  ' IsIsin
Public Function LastDigitISIN(ElevenChars As String) As String
Dim i As Integer, CheckSumDigits As String, TotalScore As Integer, Char As String
If Len(ElevenChars)  11 Then
LastDigitISIN = "L"  ' Length error
Exit Function
End If  ' Len(ElevenChars)  11
CheckSumDigits = ""
For i = 1 To 11
Char = UCase(Mid(ElevenChars, i, 1))
If Char >= "0" And Char = "A" And Char  6 Then
LastDigitSEDOL = "L"  ' Length error
Exit Function
End If  ' Len(SixChars) > 6
For i = 1 To Len(SixChars)
Multiplier = Choose(i + 6 - Len(SixChars), 1, 3, 1, 7, 3, 9)
Char = UCase(Mid(SixChars, i, 1))
If Char >= "0" And Char = "A" And Char 
Gruss Markus
Anzeige
AW: ISIN prüfen + abspeichern
01.03.2017 10:05:37
Anton
Hi Markus,
danke für den Hinweis! Hab mir schon gedacht, dass es etwas komplexer ist :)
VG Anton
so kompliziert muss es nicht sein,
01.03.2017 11:25:56
EtoPHG
Markus,
Eine etwas schlankere Möglichkeit die Gültigkeit einer ISIN zu prüfen:
Option Explicit
' ISIN: International Securities Identification Number
'  inputISIN: ISIN with or without Checkdigit
'  CDincluded: Checkdigit included in inputISIN TRUE/FALSE (=Default)
'  CDonly: TRUE returns only Checkdigit, FALSE returns fully qualified ISIN (=Default)
Public Function checkISIN(inputISIN As String, _
Optional CDincluded As Boolean = False, _
Optional CDonly As Boolean = False) As Variant
Dim inLen As Integer, inPos As Integer, cdPart As Integer, cdSum As Integer, flipflop As  _
Boolean
Dim inputISINnum As String
checkISIN = False
If Not ((Len(inputISIN) = 12 And CDincluded) Or _
(Len(inputISIN) = 11 And Not CDincluded)) Then Exit Function
inLen = Len(inputISIN) + (CDincluded * 1)
For inPos = 1 To inLen
If Asc(Mid(inputISIN, inPos, 1)) > 64 Then
inputISINnum = inputISINnum & CStr(Asc(Mid(inputISIN, inPos, 1)) - 55)
Else
inputISINnum = inputISINnum & Mid(inputISIN, inPos, 1)
End If
Next inPos
inLen = Len(inputISINnum)
For inPos = inLen To 1 Step -1
flipflop = Not (flipflop)
cdPart = CInt(Mid(inputISINnum, inPos, 1)) * (Abs(flipflop * 1) + 1)
If cdPart > 9 Then cdPart = cdPart - 9
cdSum = cdSum + cdPart
Next inPos
checkISIN = 10 - (cdSum Mod 10)
If checkISIN = 10 Then checkISIN = 0
If Not CDonly Then checkISIN = Left(inputISIN, Len(inputISIN) + (CDincluded * 1)) &  _
checkISIN
End Function

dein Check wird dann ersetzt durch:
   'If IsIsin(strIsin) Then
If checkIsin(strIsin,True) = strIsin Then
Gruess Hansueli
P.S. Sowohl mit meinem, wie mit dem GNU-Code würde die ISIN XXXXXXXXXXX1 mit den entsprechenden optionalen Parametern als gültige ISIN erkannt werden. Der einzige Unterschied zu 'Pattern-Testing' von Anton, beide überprüfen oder errechnen eine gültige Prüfziffer für die ersten 11 Stellen des Codes! Alle Codes sind nicht in der Lage auszusagen, ob eine 'reale' ISIN vorliegt!
Anzeige
AW: schlanker, aber unvollständig
01.03.2017 12:26:23
littletramp
Hallo Hansueli
Dass deiner und mein Code gegenüber Antons Code nur zusätzlich die Prüfziffer kontrollieren trifft nicht zu. Mein Code prüft auch den Ländercode, was deiner nicht tut.
Gemäss ISO 3166-1, resp. ISO 3166-1 alpha-2 ist XX zwar als benutzerdefinierter Ländercode, jedoch nur für internen Gebrauch zulässig, was hier nicht zutrifft. Sommit ist eine ISIN die mit XX anfängt nicht als korrekte ISIN anzusehen.
Bevor du behauptest, dass mein Code XXXXXXXXXXX1 als gültige ISIN ansieht, solltest du es zuerst prüfen!
Userbild
Bezüglich Schlankheit - ich habe klar angegeben, dass das Modul modISIN unter GNU lizenziert ist, weshalb ich an diesem Code ausser zusätzliche Zeilenumbrüche zur besseren Darstellung, nichts geändert habe. Dieses Modul enthält auch Code der bei meiner Variante nicht verwendet wird.
Es ist klar, dass man mit unseren Varianten nicht prüfen kann, ob es sich um eine reale = vergebene ISIN handelt. Aber die Prüfung sollte zumindest feststellen, ob die ISIN der vorgegebenen Norm entspricht, was aber dein Code nicht macht.
Gruss Markus
Anzeige
Bevor ich schreibe, sollte ich prüfen?
01.03.2017 13:19:46
EtoPHG
Markus,
Das ist eine Unterstellung.
=IsIsin(A1;LINKS(A1;2))
auf liefert WAHR, auch für XXXXXXXXXXX1 Q.E.D.
Gruess Hansueli
AW: Bevor ich schreibe, sollte ich prüfen?
01.03.2017 14:10:18
littletramp
Hallo Hansueli
Da hast du wohl die Parameterangaben der Function IsIsin() im Code nicht gelesen.
' strCountries:   optional list of countries. If not provided, default list will be used.
'                      if provided with empty string, this check will be bypassed
Mit dem 2. Argument LINKS(A1;2) übergibst du die als korrekt anzusehenden Ländercode-Liste.
In diesem Fall immer den aktuell verwendeten Code (XX oder was auch immer). Klar, dass so mit XXXXXXXXXXX1 der Wert WAHR zurückkommt, da du ja angibst, dass der aktuell verwendete Ländercode immer gültig sei, obwohl dies gemäss ISIN-Definition nicht zutrifft.
Du hättest saomit mit =IsIsin(A1;"") das Überprüfen des Ländercodes gleich ganz unterdrücken können.
Somit nehme ich auch die Unterstellung des Nichttestens zurück, muss aber annehmen, dass du nicht verstanden hast was du testest.
Gruss Markus
Anzeige
nicht gelesen, und schon wieder daneben...
01.03.2017 15:33:28
EtoPHG
Markus,
Natürlich hab ich das gelesen und bewusst mit dem 2 Parameter XX (könnte ja ein neuer ISO-Landcode sein!) getestet. Ich sag dir auch warum:
Der GNU-Code hat eine umfangreiche Liste von ISO 3166 Alpha-2 Ländercodes, die aber nicht aktuell ist. Es macht keinen Sinn eine Ländercodeliste in einen solchen Code aufzunehmen, die sich dauernd ändern kann. Seit dem 19.11.2007 ist diese Liste nur noch im ONLINE-ISO Catalogue geführt. Wenn diese Ländercode-Prüfung wirklich wichtig wäre, kann das nie und nimmer mit einer statischen Angabe dieser Codes funktionieren, sondern mit einer dynamischen Verlinkung der gültigen Codes über obigen Link. Das macht die Funktion aber auch abhängig von der Verfügbarkeit eines Internet-Zugriffs und sehr langsam. In der (Code)-Liste fehlen als Beispiel folgende z.Zt. gültige Ländercodes BQ,CW,SS,SX .... Das sind einige Argumente (nicht alle), die mich veranlassten in meiner Funktion, diese Überprüfung wegzulassen.
Ich könnte mit Dir noch tagelang über Sinn oder Unsinn solcher Funktionen diskutieren, aber möchte eigentlich hier aufhören. Für die Anfragerin und mich bringen diese Diskussionen keinen relevanten neuen Informationen!
Gruess Hansueli
Anzeige
AW: nicht gelesen, und schon wieder daneben...
01.03.2017 16:00:29
littletramp
Hallo Hansueli
Weshalb raten wir Claudia nicht gleich ganz auf die Prüfung des ISIN-Codes zu verzichten :-(
Wenn du mir mit einer Formel mit falschen Argumenten (Links(A1,2) beweisen willst, dass mein Code nicht funktioniert (der ist übrigens nicht von mir, siehe Quellangabe, und hat auch den Hinweis, dass man ev. weitere Länder hinzufügen muss), so kann ich dir dies mit deinem Code ebenfalls tun:
Userbild
Übrigens, wenn ich das Projekt für einen Kunden gemacht hätte, so hätte ich die Function IsISIN() nur projektweit global gemacht, so dass sie in einer Zelle gar nicht eingesetzt werden kann, und die Ländercodeliste aktualisiert. Ich wollte aber am Code des Moduls modISIN nichts ändern, da er nicht von mir ist. Dies habe ich bereits erwähnt.
Du hast Recht, zumindest ich habe wirklich besseres zu tun.
Gruss Markus
Anzeige
AW: so kompliziert muss es nicht sein,
01.03.2017 12:32:33
littletramp
Hallo Hansueli
Es wäre schön, wenn du bei nicht selbst erstelltem Code die Quelle angibts. Danke.
Gruss Markus
Das sei somit getan: Der Autor bin Ich!
01.03.2017 13:25:58
EtoPHG
Hallo Markus,
Wie kommst du zur 2ten Unterstellung ...nicht selbst erstelltem Code...
Den Code habe ich erstellt! Das ist ein einfacher LUN-Algorithmus, für den es sich weiss Gott nicht lohnt, einen Anspruch auf Copyright oder irgendeine open-license zu erheben. Benutze ihn wer will, und ignoriere ihn wer will....
Gruess Hansueli
AW: Das sei somit getan: Der Autor bin Ich!
01.03.2017 13:47:11
littletramp
Hallo Hansueli
Jeder Programmierer hat seinen eigenen Schreibstil. Der in dieser Function verwendete Stil entsprach nicht demjenigen, den du sonst hier im Forum verwendest. Dies hat mich zur Annahme verleitet, dass der Code nicht von dir stammt.
Sollte er wirklich von dir stammen, so möchte ich mich für diese Unterstellung entschuldigen.
Gruss Markus
Anzeige
AW: Das sei somit getan: Der Autor bin Ich!
01.03.2017 14:01:48
EtoPHG
Hallo Markus,
no problem. Programmierstile ändern sich, wenn ein lernfähiger Programmierer dahintersteht.
Nur weil ich früher die Variablen mit einem Datatyp-Prefix versehen habe und das jetzt weglasse, ändert sich zwar der Stil, aber zu dem gehört noch viel mehr als nur die Variablen Deklarationen.
Und wenn du wirklich Programmierstil-Analysen betreibst, wirst du einige Anhaltspunkte in meinen Codes finden, die auch mich schliessen lassen, aber vielleicht eben auch auf andere, weil ich von denen lerne ;-)
Gruess Hansueli
AW: Das sei somit getan: Der Autor bin Ich!
01.03.2017 14:01:49
EtoPHG
Hallo Markus,
no problem. Programmierstile ändern sich, wenn ein lernfähiger Programmierer dahintersteht.
Nur weil ich früher die Variablen mit einem Datatyp-Prefix versehen habe und das jetzt weglasse, ändert sich zwar der Stil, aber zu dem gehört noch viel mehr als nur die Variablen Deklarationen.
Und wenn du wirklich Programmierstil-Analysen betreibst, wirst du einige Anhaltspunkte in meinen Codes finden, die auch mich schliessen lassen, aber vielleicht eben auch auf andere, weil ich von denen lerne ;-)
Gruess Hansueli
Das sei somit getan: Der Autor bin Ich!
01.03.2017 13:25:59
EtoPHG
Hallo Markus,
Wie kommst du zur 2ten Unterstellung ...nicht selbst erstelltem Code...
Den Code habe ich erstellt! Das ist ein einfacher LUN-Algorithmus, für den es sich weiss Gott nicht lohnt, einen Anspruch auf Copyright oder irgendeine open-license zu erheben. Benutze ihn wer will, und ignoriere ihn wer will....
Gruess Hansueli
AW: Das sei somit getan: Der Autor bin Ich!
02.03.2017 23:23:05
Claudia
Hallo zusammen,
erstmal vielen lieben Dank für eure Antworten. Nur ich weiß jetzt wirklich nicht mehr, was ich tun soll. Ihr habt tolle Vorschläge, aber ich bin überfordert da die Diskussion auf einem hohen VBA-Niveau ist. Ich habe die Datei upgeloaded.
Könntet Ihr bitte den Code direkt in die Datei einfügen?
Zusammenfassung:
- Makro wird sich in der Symobolleiste befinden, so das es in Excel immer zur Verfügung ist wenn ich es öffne.
- ISIN in C4 auf prüfen ob richtig, wenn nicht dann msgbox "ISIN ungültig" und abbrechen.
- In C3 ist der Name drin
- Falls die ISIN ok, dann muss das Makro die Datei abspeichern unter: C:\Users\Claudia_PC\Desktop\Ordner. Wichtig für den Namen ist, dass Dateiname aus ISIN (aus C4) und Produktname (aus C3) besteht, z.B so: DE000A1EWWW0_Adidas
In der Datei habe ich ein kleines Makro für den Namen des ersten Blattes drin. Bitte auch im Code übernehmen.
https://www.herber.de/bbs/user/111917.xlsm
Danke & Grüße
Claudia
AW: ISIN prüfen + abspeichern
03.03.2017 02:21:11
littletramp
Hallo Claudia
Hier meine erweiterte Variante. Das Ganze läuft nun als AddIn. https://www.herber.de/bbs/user/111922.xlam
Der AddIn erweitert das Excel-Menüband-Register "Überprüfen" mit einem zusätzlichen Symbol (ganz rechts aussen), über das du den Code starten kannst:
Userbild
Beim Speichern wird auch automatisch das richtige Format gewählt (xlsx/xlsm), je nachdem, ob die Datei Makros enthält oder nicht. Falls bereits eine Datei mit diesem Namen existiert, so wird gefragt ob diese überschrieben werden soll.
Deinen Makro habe ich ebenfalls eingebaut. Ich hoffe, dass ich richtig interpretiert habe, was er bewirken soll.
Falls du Zelladressen, Pfad oder Blattname ändern möchtest, so kannst dies ganz oben im Modul modIsinPruefenUndSpeichern machen.

' Hier ev. Anpassungen vornehmen
Private Const cPath = "C:\Users\Claudia_PC\Desktop\Ordner\"
Private Const cZelleProdukt = "C3"
Private Const cZelleISIN = "C4"
Private Const cZelleSummeAnteile = "D65"
Private Const cBlattname = "Datenblatt"
Falls du den AddIn oft brauchst, so kannst du ihn in deinem Excel-Startverzeichnis (C:\Users\Claudia_PC\AppData\Roaming\Microsoft\Excel\XLSTART\) speichern. Er wird dann automatisch beim Starten von Excel geladen.
Melde dich falls du Hilfe brauchst.
Gruss Markus
AW: ISIN prüfen + abspeichern
03.03.2017 22:06:24
Claudia
Hallo lieber Markus,
vielen lieben Dank für die Datei. Es klappt super, Makro erkennt die ob gültige ISIN und speichert es dann ab! Das mit dem AddIn ist eine gute Idee.
Beim testen ist mir nur eine Sache aufgefallen: Wenn die Excel-Datei in dem Ordner abgespeichert wird, dann kann ich es nicht mehr öffnen. Ich bekomme folgende Fehlermeldung:
"Die Datei "Name.xlsx" kann von Excel nicht geöffnet werden, da das Dateiformat oder die Dateierweiterung ungültig ist. Überprüfen Sie, ob die Datei beschädigt ist und ob die Dateierweiterung dem Dateiformat entspricht.
Weist du warum die Fehlermeldung jetzt kommt?
VG Claudia
AW: ISIN prüfen + abspeichern
03.03.2017 22:35:30
littletramp
Hallo Claudia
Ich habe dir den korrigierten AddIn hochgeladen. https://www.herber.de/bbs/user/111939.xlam
Nun klappt es mit dem Öffnen der gespeicherten Dateien.
Gruss Markus
AW: ISIN prüfen + abspeichern
03.03.2017 22:52:51
Claudia
Sehr gut Markus! jetzt klappt auch das Öffnen;-)
eine Frage noch: Kann ich das Makro auch als Symbol in der Leiste oben einfügen? Oder muss es unbedingt ein AddIn sein?
VG Claudia
AW: ISIN prüfen + abspeichern
03.03.2017 23:20:17
littletramp
Hallo Claudia
Klar kannst du das. Hier eine grobe Anleitung:
Rechtsklick auf Menüband | Menüband anpassen
Auf gewünschtem Register eine neue Gruppe erstellen und umbenennen.
Makro hinzufügen, umbennen und Symbol auswählen.
Userbild
Falls dir dies nicht ausreicht, bitte Hilfe konsultieren, oder YouTube-Video anschauen.
Gruss Markus
AW: ISIN prüfen + abspeichern
04.03.2017 10:36:28
Claudia
Perfekt! Danke nochmals lieber Markus für deine Hilfe. Du bist echt der Wahnsinn:-)))
Schönes Wochenende wünsch ich dir.
VG Claudia
AW: ISIN prüfen + abspeichern
04.03.2017 10:44:05
littletramp
Danke, gern geschehen.
Auch dir ein schönes Wochenede
Gruss Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige