Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro für Prüfung ob Spalten eingeblendet

Forumthread: Makro für Prüfung ob Spalten eingeblendet

Makro für Prüfung ob Spalten eingeblendet
01.05.2004 19:34:10
Ralf
Hallo Zusammen!
Wie müsste ein Makro aussehen, dass prüft ob die Spalten mit der Spaltenbezeichung: Ausblenden1 , Ausblenden2 und Ausblenden3 eingeblendet sind und dann - !!! und nur dann !!! - ein Makro ausführt, dass diese Spalten ausblendet und gleichzeitig verschlüsselt.

Die Urform des Makros, dass diese Prüfung noch nicht macht hier:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Ab hier: Befehl für Schließen der drei Spalten
'Ausblenden... bevor die die Arbeitsmappe gesschlossen wird.
Dim iCol As Integer
With Worksheets("DATA")
For iCol = 1 To 30
If .Cells(1, iCol) = "Ausblenden1" Then
.Columns(iCol).Hidden = True
End If
Next
For iCol = 1 To 30
If .Cells(1, iCol) = "Ausblenden2" Then
.Columns(iCol).Hidden = True
End If
Next
For iCol = 1 To 30
If .Cells(1, iCol) = "Ausblenden3" Then
.Columns(iCol).Hidden = True
End If
Next
End Sub


Die Ergänzung die diese drei Spalten dann verschlüsselt lautet in der Urform so:
Dim rng As Range
For Each rng In Range("G8:I400")
If IsNumeric(rng) And rng <> "" Then rng = rng * 765422592
Das müsste dann so abgeändert werden dass es sich auf die Spaltenüberschriften bezieht und nicht wie hier auf die Spalten.
Kann mir bitte jemand helfen? - Auch an einem verregneten 1. Mai?
Viele Grüße Ralf
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für Prüfung ob Spalten eingeblendet
01.05.2004 19:50:59
Nepumuk
Hallo Ralf,
wenn ich dich richtig verstanden habe, dann würde ich es so machen:


Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim iCol As Integer, lRow As Long
    With Worksheets("DATA")
        For iCol = 1 To 30
            If Left(.Cells(1, iCol), 10) = "Ausblenden" And InStr(1, "123", Right(.Cells(1, iCol), 1)) <> 0 Then
                If Not .Columns(iCol).Hidden Then
                    .Columns(iCol).Hidden = True
                    For lRow = 2 To .Cells(65536, iCol).End(xlUp).Row
                        If IsNumeric(.Cells(lRow, iCol)) And .Cells(lRow, iCol) <> "" Then .Cells(lRow, iCol) = .Cells(lRow, iCol) * 765422592
                    Next
                End If
            End If
        Next
    End With
    ThisWorkbook.Save
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß
Nepumuk
Anzeige
AW: Makro für Prüfung ob Spalten eingeblendet
01.05.2004 20:00:47
Ralf
Hallo Nepumuk,
dass sieht sehr gut aus - genau so war es gemeint.
Werde es gleich mal probieren.
Danke schon mal
Ralf
AW: Makro für Prüfung ob Spalten eingeblendet
01.05.2004 20:16:11
Erich M.
Hallo Ralf,
hängt die Lösung immer noch mit Deinem Problem zusammen, dass bestimmte User
auf sensible Daten keinen Zugriff haben?
Würde mich interessieren, da ich ebenfalls an einem ähnlichen Problem bastle.
Gibts für die mir zuletzt bekannte Anfrage im Forum wie man z.B. durch Formelzugriff
die Datensicherheit umgeht schon eine Lösung?
Danke!
mfg
Erich
Anzeige
AW: Makro für Prüfung ob Spalten eingeblendet
01.05.2004 20:43:46
Nepumuk
Hallo Erich,
1. Ich würde solche Daten in einer ausgeblendeten Tabelle speichern. Denn nichts leichter, als eine ausgeblendete Zeile einzublenden.
2. Die "Verschlüsselung" von Ralf knackt jeder nach längstens 10 Sekunden. Ich habe mal was gemacht das sieht so aus:


For intIndex = 1 To Len(Text1.Text)
    strKennwort = strKennwort & Chr(256 - (Asc(Mid(Text1.Text, intIndex, 1)) + Int((9 * intIndex - 3 * intIndex) / 9 * intIndex) - intIndex * 7))
Next

     Code eingefügt mit Syntaxhighlighter 2.5

Da hängst du schon länger dran, bis etwas vernünftiges dabei herauskommt. Außerdem können sowohl Text als auch Zahlen verschlüsselt werden.
Gruß
Nepumuk
Anzeige
AW: Makro für Prüfung ob Spalten eingeblendet
01.05.2004 22:41:26
Ralf
Hallo Erich,
kannst Du Deine Mail-Adresse hier hinterlassen? Dann bekommst Du mein bisheriges Ergebnis.

- mit dem Verschlüsseln hat Nepumuk natürlich Recht, dass war erst mal der Ansatz, wie das gehen könnte. Jedoch komm ich mit Nepumuks zweiter Version überhaupt nicht zurecht.
Gruß Ralf
Anzeige
AW: Makro für Prüfung ob Spalten eingeblendet
01.05.2004 23:51:56
Nepumuk
Hallo Ralf,
ich hab es dir mal eingebaut:


Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim iCol As Integer, lRow As Long, iChar As Integer, sOutput As String
    With Worksheets("DATA")
        For iCol = 1 To 30
            If Left(.Cells(1, iCol), 10) = "Ausblenden" And InStr(1, "123", Right(.Cells(1, iCol), 1)) <> 0 Then
                If Not .Columns(iCol).Hidden Then
                    .Columns(iCol).Hidden = True
                    For lRow = 2 To .Cells(65536, iCol).End(xlUp).Row
                        For iChar = 1 To Len(CStr(.Cells(lRow, iCol)))
                            sOutput = sOutput & Chr(256 - (Asc(Mid(CStr(.Cells(lRow, iCol)), iChar, 1)) + Int((9 * iChar - 3 * iChar) / 9 * iChar) - iChar * 7))
                        Next
                        .Cells(lRow, iCol) = sOutput
                        sOutput = ""
                    Next
                End If
            End If
        Next
    End With
    ThisWorkbook.Save
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Entschlüsseln läuft dann so:


Public Sub entschluesseln()
    Dim iCol As Integer, lRow As Long, iChar As Integer, sOutput As String
    With Worksheets("DATA")
        For iCol = 1 To 30
            If Left(.Cells(1, iCol), 10) = "Ausblenden" And InStr(1, "123", Right(.Cells(1, iCol), 1)) <> 0 Then
                For lRow = 2 To .Cells(65536, iCol).End(xlUp).Row
                    For iChar = 1 To Len(CStr(.Cells(lRow, iCol)))
                        sOutput = sOutput & Chr(256 - Asc(Mid(CStr(.Cells(lRow, iCol)), iChar, 1)) + (Int((9 * iChar - 3 * iChar) / 9 * iChar) - iChar * 7) * -1)
                    Next
                    .Cells(lRow, iCol) = sOutput
                    sOutput = ""
                Next
            End If
        Next
    End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß
Nepumuk
Anzeige
Addy
02.05.2004 07:59:40
Erich M.
Hallo Ralf,
1284-456@onlinehome.de
(ist auch unter Profilliste zu finden)
Danke!
mfg
Erich
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige