Superamento del limite massimo di carica in Excel

Come faccio a utilizzare più di 255 caratteri nella function CONCATENATE di Excel? Sto usando anche la function CONCATENATE all'interno della function HYPERLINK in EXCEL. Un esempio sembra così:

=HYPERLINK(CONCATENATE("http://www.google/com/morethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255chars","morethan255chars morethan255charsmorethan255charsmorethan255charsmorethan25"),"link"); 

UPDATE: Non è un problema con la function CONCATENATE, ma un problema con il primo parametro della function HYPERLINK. Utilizzando una string di più di 255 caratteri direttamente / indirettamente (es: = HYPERLINK (K204, "link") where K204 contiene il collegamento a lunghezza di 256 caratteri) non funziona la function HYPERLINK

  • Le note di Lotus non verranno avviate con allegati xls, xlsx, doc o docx.
  • Listbox excel vba
  • spring4, jboss eap 6.4.0 il file xlsx carica la dimensione corrotta
  • Excel spreadsheet xml - è ansible incorporare le immagini?
  • Conversione di stringhe con il limite di carattere TEXT?
  • Come inserire righe nell'object tabella all'interno di un foglio di Excel?
  • Mi rendo conto che posso utilizzare un abbreviatore URL, ma lo faccio per ALOT di collegamenti che richiederebbero molta uso manuale del shortener URL.

  • Errore durante l'importzione di xlsx in sas crea trailing 9s
  • Perché VBA ActiveWorkbook.SaveAs modifica il foglio di calcolo aperto?
  • Come estrarre il file xls compresso dall'allegato di posta elettronica?
  • Guida Importre un file Excel in MySQL utilizzando phpMyAdmin
  • Post su Facebook con VBA
  • . Devo mettere in media i valori memorizzati in più righe in un foglio di Excel, ma escludere le righe vuote
  • 9 Solutions collect form web for “Superamento del limite massimo di carica in Excel”

    AGGIORNAMENTO: A causa del commento di Karls ho rivisitato la mia risposta una scoperta, che Excel 2007 non sembra consentire alle funzioni definite dall'utente di impostare i collegamenti ipertestuali (in modo abbastanza ragionevole, vedere il mio commento nel codice). Quindi il codice originale (sotto la row) non funziona nelle versioni più recenti di Excel (non ho testato Excel 2010 ma suppongo che il risultato sia lo stesso). Per motivi storici non elimino il vecchio codice (un editor potrebbe pensare altrimenti – sentitevi liberi di modificare / cancellare di conseguenza).

    Quello che resta è impostare i collegamenti ipertestuali lunghi in modo programmato, ad esempio

     Sub insertVeryLongHyperlink() Dim curCell As Range Dim longHyperlink As String Set curCell = Range("A1") ' or use any cell-reference longHyperlink = "http://www.veryLongURL.com/abcde" ' Or a Cell reference like [C1] curCell.Hyperlinks.Add Anchor:=curCell, _ Address:=longHyperlink, _ SubAddress:="", _ ScreenTip:=" - Click here to follow the hyperlink", _ TextToDisplay:="Long Hyperlink" End Sub 

    Quello che segue non funziona più in Excel 2010; vedi il mio commento sopra

    La "copia il collegamento ipertestuale da Word e incolla in Excel" mi ha fatto pensare. Quindi ovviamente il limite è sia nella function HYPERLINK incorporata che nella window di dialogo 'edit hyperlink'. D'altra parte dovrebbe essere – e in realtà è ansible – impostare i collegamenti ipertestuali più lunghi tramite VBA.

    Questo codice non funziona più in Excel 2010

     Function myHyperlink(cell As Range, _ hyperlinkAddress As String, _ Optional TextToDisplay As Variant, _ Optional ScreenTip As Variant) ' Inserts a Hyperlink ' at the position cell (this should be the position where the UDF is used, ' since the return value of the UDF is = TextToDisplay) ' with the hyperlinkAddress ' optional TextToDisplay ' optional ScreenTip ' ####################################### ' Warning Warning Warning Warning Warning ' ####################################### ' 1) Since it is really bad practice to have a function perform procedural ' tasks, you should not do this. ' 2) You have no garantee, the link is updated when the value hyperlinkAddress changes ' USE AT YOUR ONE RISK AND ONLY IN CASE OF EMERGENCIES :-) ' If more than one cell is selected as target range, ' use the top left cell Set cell = cell.Resize(1, 1) If IsMissing(TextToDisplay) Then TextToDisplay = hyperlinkAddress End If If IsMissing(ScreenTip) Then ScreenTip = hyperlinkAddress & " - Click here to follow the hyperlink" End If cell.Hyperlinks.Add Anchor:=ActiveCell, _ Address:=hyperlinkAddress, _ SubAddress:="", _ ScreenTip:=ScreenTip, _ TextToDisplay:=TextToDisplay ' There doesn't seem to be another way to set TextToDisplay myHyperlink = TextToDisplay End Function 

    Utilizza come normale function Excel, ma assicuratevi di aggiungere la cella corrente come primo parametro (cioè la formula seguente viene inserita nella cella A1)

     =myHyperlink(A1,B1) =myHyperlink(A1,B1,"TextToDisplay", "ScreenTip") 

    Non puoi né estrarre la formula né copiarla in un'altra cella. Se fai che bisogna lasciare che la formula sia ricalcasting (né ALT-CTRL-F9 né ALT-CTRL-SHIFT-F9 come ricalcola di forza sembra funzionare) quindi entri in each cella, premete F2 per triggersrla e finisci con Return.

    Spero che non ti aiuti a infastidire troppi Excel-Workbooks.

    Probabilmente è più sicuro scrivere un VBA che è stato avviato esplicitamente che iterates attraverso un elenco e scrive ai collegamenti ipertestuali. In questo modo possono essere riutilizzati e non ci sono funzioni.

    Saluti Andreas

    Potresti essere fuori dalla fortuna. Sembra che il limite di carattere per i collegamenti ipertestuali in Excel sia 256 come qui indicato . Se la prova fuori di te stesso (ho anche Excel 2007), =HYPERLINK(REPT("a",255)) e =HYPERLINK(REPT("a",256)) non fa e lancia un valore #VALUE! errore.

    Ho Excel 2007 e ho provato a creare una cella con 300 caratteri in A1 e un altro con 300 caratteri diversi in B1.

    Poi ho fatto C1 = CONCATENATE(A1, B1) .

    Posso vedere tutti i personaggi di entrambe le cellule. Niente è mancante o troncato e non sono stati ricevuti errori. Mi sembra bene.

    Cosa ti rende conto che la concatenazione sta fallendo? Hai problemi a vedere i tuoi risultati? Se la cella contiene più di 1.024 caratteri, solo la prima 1.024 viene visualizzata nella cella. Tuttavia sono ancora presenti e se si copiano e incollano tutti i caratteri verranno copiati.

    Modifica: Ora che hai redatto la tua domanda mi rendo conto che il problema è con HYPERLINK e non CONCATENATE .

    L'unico modo per aggirare il limite di 255 caratteri di formula HYPERLINK in Excel è quello di copiare un collegamento ipertestuale da Word e incollarlo in una cella in Excel. Allora può essere molto lungo. So che questo è un process manuale irragionevole se hai molti collegamenti, ma sembra l'unico modo per inserirlo in un foglio di calcolo di Excel e tuttavia abbia ancora un collegamento ipertestuale che puoi click e essere reindirizzato. Se non è necessario che agisca come un collegamento ipertestuale, suggerirei di riscrivere le tue richieste per restituire il collegamento ipertestuale come field di text e poi andrà bene.

    Ecco alcuni VBA che utilizza bitly.com per abbreviare un URL. Si basa sulla documentazione bitly API .

    1. Crea un account gratuito su bit .
    2. Valido indirizzo email con bit .
    3. Ottenere il token di accesso da bitly .
    4. Sostituisci il token di accesso nel codice VBA qui sotto where dice MY_TOKEN.
    5. Copia e incolla il codice in VBA di Excel.
    6. In una cella, scrivere il seguente '= Hyperlink (GetURL ("un URL molto lungo"))' senza singola citazione 'marchi. Nota: invece di passare una string a GetURL (), passare un riferimento a una cella che ha un URL in esso come text.
     Public Function GetURL(longUrl As String) As String Dim xml As Object longUrl = URLEncode(longUrl) Set xml = CreateObject("MSXML2.XMLHTTP.6.0") xml.Open "GET", "https://api-ssl.bitly.com/v3/shorten?format=xml&access_token=MY_TOKEN=" & longUrl, False xml.Send GetURL = xml.responsetext head = InStr(GetURL, "<url>") + 5 tail = InStr(GetURL, "</url>") GetURL = Mid(GetURL, head, tail - head) End Function Function URLEncode(ByVal Text As String) As String Dim i As Integer Dim acode As Integer Dim char As String URLEncode = Text For i = Len(URLEncode) To 1 Step -1 acode = Asc(Mid$(URLEncode, i, 1)) Select Case acode Case 48 To 57, 65 To 90, 97 To 122 ' don't touch alphanumbersc chars Case 32 ' replace space with "+" Mid$(URLEncode, i, 1) = "+" Case Else ' replace punctuation chars with "%hex" URLEncode = Left$(URLEncode, i - 1) & "%" & Hex$(acode) & Mid$(URLEncode, i + 1) End Select Next End Function 

    Dunno se la mia risposta è ancora utile, ma ho avuto la stessa questione pochi giorni fa, il modo migliore e il modo dimostrato di fare un collegamento iperibile che può superare un limite di 255 char è quello di dividere prima con CONCATENATE() e utilizzare la cella con function CONCATENATE() in VBA .

    Per me sembra:

     A1 = LinkPart1 A2 = LinkPart2 A3 = LinkPart3 A5 = CONCATENATE( A1; A2; A3 ) 

    Codice VBA da colbind con A5 :

     Sub insertVeryLongHyperlink() Dim curCell As Range Dim longHyperlink As String Set curCell = Range("A7") ' or use any cell-reference longHyperlink = [A5] curCell.Hyperlinks.Add Anchor:=curCell, _ Address:=longHyperlink, _ SubAddress:="", _ ScreenTip:=" - Click here to follow the hyperlink", _ TextToDisplay:="Click Here" End Sub 

    Invece di scrivere

     =CONCATENATE("Toto";"Tata") 

    Mettere Toto nella cella Z1 (ad esempio) e Tata nella cella Z2 e scrivere

     =CONCATENATE(Z1;Z2) 

    Ragazzi penso che un URL abbreviando VBA ti aiuterà. Ecco quello che ho trovato oggi. Funziona come un fascino: http://www.jpsoftwanetworkingch.com/shorten-urls-with-bit-ly-web-api-and-vba/

    La function Hyperlink ha un limite duro che non può essere superato. Ho avuto un problema simile e ho semplicemente importto il foglio di Excel in Open Office Calc e voila – tutto ha funzionato istantaneamente e il collegamento ipertestuale che era a lungo in precedenza può essere ora fino a quando ho voluto che fosse.

    È ansible utilizzare la routine VBA Shell () per eseguire un browser e passare l'URL alla row di command passata tramite la chiamata Shell (). Così l'URL può essere qualsiasi lunghezza supportta dal meccanismo di shell.

    Inoltre, è ansible get questo URL da qualsiasi valore della cella facendo doppio clic su quella cella. Questo valore può essere costruito da molte celle tramite una singola chiamata di function CONCATENATE ()! Proprio così: solo una sola chiamata. Il CONCATENATE () prenderà un gran numero di parametri e creerà una string ben maggiore di 255 caratteri. Non è necessario unire laboriosamente molte concatenazioni separate o utilizzare un sacco di cellule "costruttrici". Uno farà!

    La macro deve essere creata aprendo l'opzione VIEW CODE quando fa clic con il button destro del mouse sulla scheda nella parte inferiore del foglio di lavoro. Quindi scrivere il seguente codice fenolesslogicamente breve, semplice e indolore:

     Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Selection.Count = 1 Then If Left(Target.Value, 7) = "HTTP://" Then Cancel = True Shell ("""" + Range("Browser").Value + """" + " " + """" + Target.Value + """") End If End If End Sub 

    Si noti che "Browser" è una cella denominata che dovrebbe contenere il path non quotato del browser, ovvero IE, Opera, Mozilla o Chrome. Devi nominare la cella, o cambiare la macro per avere un riferimento di cella forte come "A2". E naturalmente, quel valore della cella deve essere un path del browser valido!

    Una volta che hai tutto questo in atto, puoi fare doppio clic su QUALSIASI cella che ha un valore che inizia con il text "HTTP: //" e Excel apre il browser con quel valore completo, non import quanto a lungo. Tutto quello di cui hai bisogno è build la string in quella cella e forse formattare il colore / font-wise per rendere evidente che è una cella di collegamento ipertestuale da fare doppio clic. Un suggerimento testuale nelle vicinanze potrebbe anche essere in ordine!

    Incidentalmente, un'alternativa alla linea Shell () nella macro è:

     ThisWorkbook.FollowHyperlink Address:=Target.Value 

    Mentre questo elaborerà anche URL maggiori di 255 caratteri, ho scoperto che questa function FollowHyperlink () provoca l'invio dell'URL TWICE. Una volta dalla function di Excel (presumibilmente per testare) e poi nuovamente dal browser predefinito che apre Excel! Questo potrebbe non essere desiderabile (e non era nel mio caso). Ecco perché ho finito utilizzando la function Shell () invece.

    Microsoft Office Excel Spreadsheet è il miglior software di Office, Excel VBA e formule Excel rendono il foglio di calcolo più veloce.