Supportnet Computer Supportnet Games Supportnet Kochen Explipedia
Login: guestBesucher online: 173
Supportnet Computerforum
SUPPORT
Home
Forum
Tipps & Infos
Blitz Angebote
Members
Hilfe
Video

TOP THEMEN
SSD Test
Alles über SSDs

Android Tipps
iPad Tipps
Google Tipps
Windows 8 FAQ
Windows 7 FAQ
E-Mail FAQ
Netzwerk FAQ
Festplatten FAQ
Datenrettung FAQ
Bildbearbeitung FAQ

Top iPhone Apps
Computer Einsteiger
Die 5 besten...
Explipedia
Themen
Direktlinks

Neue Einträge
News einsenden News einschicken
Tipps einsenden Tipp einschicken

SN-LINKS

Suche
Befreundete Seiten
Top Seiten

Supportnet/Forum/Tabellenkalkulation



Supportnet/Forum/Tabellenkalkulation
von peko vom 12.05.2018, 12:49 Diese Seite den Supportnet Favoriten hinzufügen  Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden


VBA: Spalten variabel markieren

 (212 Hits)

Hallo Helfer!

Colums ("B:D").Select
Selection.ColumnWidth = 5

lässt unter VBA die Markierung der Spalten B bis D zu.

Gibt es auch eine Möglichkeit, die Angabe der Spalten variabel (also abhängig von variablen Zahlenwerten) zu halten? Ich fürchte, das geht nicht.

Wenn doch, dann bitte ich um die frohe Botschaft.

Liebe Grüße
peko


Antwort schreiben 50 Bonuspunkte

Antworten...
Antwort 1 von rainberg vom 12.05.2018, 14:53 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo peko,

schau mal, ob dir das gefällt.

Option Explicit

Sub spaltenmarkieren()
    Dim strS1 As String, strS2 As String
    strS1 = InputBox("Spaltenbuchstabe der Anfangsspalte eingeben")
    strS2 = InputBox("Spaltenbuchstabe der Endspalte eingeben")
    Columns(strS1 & ":" & strS2).Select
    Selection.ColumnWidth = 5
End Sub


Gruß
Rainer


Antwort noch nicht bewertet Als gute Antwort bewerten
Antwort 2 von peko vom 12.05.2018, 17:27 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Rainer,

danke für deine Antwort. So weit ist das ja in Ordnung.

Ich möchte aber in der Lage sein, die aufgrund einer Bedingung ermittelte Zahl einer Spalte (z.B. 53) so nutzen zu können, dass danach diese und die 4 nächsten Spalten automatisch markiert werden (um zum Beispiel dort automatisch Rahmenlinien zeichnen zu lassen).

Meine Frage ist also:
Kann aus der ermittelten 53 VBA automatisch die Spalten 53 bis 57 markieren?

LG
peko


Antwort noch nicht bewertet Als gute Antwort bewerten
Antwort 3 von xlKing vom 12.05.2018, 18:59 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Peko,

klar geht das. z.B.

a = 53
Range(Columns(a), Columns(a + 4)).Select

Gruß Mr. K.


'Gute Antwort' meinte 1 Mitglied
Antwort 4 von xlKing vom 12.05.2018, 19:03 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hier noch eine andere Alternative:

a = 53
Columns(a).Resize(Rows.Count, 5).Select

Gruß Mr. K.


Antwort noch nicht bewertet
Antwort 5 von xlKing vom 12.05.2018, 19:12 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Bei ganzen Spalten kannst Rows.Count natürlich auch weglassen.
Wichtig ist nur das Komma vor der 5, welches aber alternativ auch
durch den eindeutigen Eigenschaftsnamen des zweiten Parameters
ersetzt werden kann:

also:

a = 53
Columns(a).Resize(, 5).Select

oder

a = 53
Columns(a).Resize(Columnsize:=5).Select

a musst du natürlich durch deine berechnete Variable ersetzen.


Antwort noch nicht bewertet
Antwort 6 von Nighty___ vom 12.05.2018, 19:26 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Community :-)

Für eine Einrahmung ist eine Selection überflüssig!

Gruß Nighty


Antwort noch nicht bewertet
Antwort 7 von peko vom 12.05.2018, 21:22 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Da bin ich aber froh, dass das so einfach geht!

Ich hatte mir schon vorgenommen, die Spaltennummern in Vielfache von 26 (Buchstaben des Alphabets!) und den Rest aufzuteilen, um dann über den ASCII-Code die jeweiligen Spaltenbezeichnungen in Buchstaben zu bilden. Wäre sicher auch gegangen, aber so bleibt mir viel Arbeit erspart.

Vielen Dank an euch alle!

LG
peko


Antwort noch nicht bewertet Als gute Antwort bewerten
Antwort 8 von Nighty___ vom 13.05.2018, 09:57 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Peko

Ein Beispiel einer Rahmung!

Gruß Nighty

Ausgehend von zur Zeit der 5 Spalte!

Sub ZellRahmen()
    Dim WksRahmen As Variant
    Dim LetzteZeile As Long
    Dim DeineSpalte As Integer
    DeineSpalte = 5
    LetzteZeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    Range(Cells(1, DeineSpalte), Cells(LetzteZeile, DeineSpalte + 4)).Borders(xlDiagonalDown).LineStyle = xlNone
    Range(Cells(1, DeineSpalte), Cells(LetzteZeile, DeineSpalte + 4)).Borders(xlDiagonalUp).LineStyle = xlNone
    For Each WksRahmen In Array(xlEdgeLeft, xlEdgeTop, xlEdgeBottom, xlEdgeRight, xlInsideVertical, xlInsideHorizontal)
        Range(Cells(1, DeineSpalte), Cells(LetzteZeile, DeineSpalte + 4)).Borders(WksRahmen).LineStyle = xlContinuous
    Next WksRahmen
End Sub


Antwort noch nicht bewertet




Antwort schreiben
    Bitte einen 'Nickname' wählen.
Nickname:*
    (eMail-Adresse wird nicht veröffentlicht.)
eMail:
Nachricht: Ich möchte bei Antworten benachrichtigt werden.
    Hilfe zur Beitragsformatierung gibts [hier]
                   
Antwort:*
  Die Nutzungsbedingungen habe ich gelesen und akzeptiert.

MACHEN SIE IHRE WEBSITE ATTRAKTIVER
Sie haben eine eigene Website und wollen Ihre Besucher auf den Supportnet-Service aufmerksam machen? Kopieren Sie einfach den Quellcode in Ihre Seite und jeder Besucher Ihrer Seite kann direkt auf die Supportnet-Datenbank zugreifen.

My Supportnet


SUCHE

Gruppen im Forum
Betriebsysteme
Software
Hardware
Netzwerk
Programmierung
Sonstiges

Impressum © 1997-2018 Supportnet
Version: supportware 1.8.230E / 18.10.2010, Startzeit:Fri May 18 11:28:04 2018